Terraform: архитектура AWS Codepipeline для развертывания каждого ресурса в собственном конвейере

#amazon-web-services #terraform #aws-codepipeline #aws-codecommit #aws-devops

#amazon-веб-сервисы #терраформирование #aws-codepipeline #aws-codecommit #aws-devops

Вопрос:

Я использую Terraform с AWS CodePipeline и AWS CodeCommit. Я планирую хранить каждый ресурс в отдельной папке (в том же репозитории), а затем развертывать каждый ресурс отдельно в своем собственном конвейере.

Например, я создаю каталог ресурсов VPC, который будет иметь свой собственный конвейер. Когда я внесу изменения в файлы внутри этого каталога и нажму обновление — он развернет только ресурс VPC, а не другие ресурсы.

Есть идеи, как я мог бы это спроектировать?

Спасибо

Комментарии:

1. Как именно вы планируете управлять этим, когда ресурсы нуждаются в замене?

2. @Marcin не уверен, что вы подразумеваете под заменой? Каждый ресурс будет иметь свой собственный файл состояния. Когда вы вносите изменения в определенный каталог, он запускает соответствующий конвейер и заменяет ресурс.

3. Допустим, у вас есть экземпляры в вашем VPC. Если вы хотите изменить VPC так, чтобы его сначала нужно было удалить и воссоздать, как именно вы собираетесь работать с экземплярами там?

4. Но так было бы всегда, не так ли? Можно добавить новую подсеть и изменить некоторые конфигурации VPC, но не удалять подсеть с развернутыми экземплярами. Чего я пытаюсь добиться, так это более модульного подхода.