Чтобы сохранить состояние terraform папки начальной загрузки на серверной части S3 с подходом миграцииPython

Программы на Python
Ответить
Anonymous
 Чтобы сохранить состояние terraform папки начальной загрузки на серверной части S3 с подходом миграции

Сообщение Anonymous »

Я работаю над проектом по автоматизации инфраструктуры AWS с помощью Terraform. Первоначально я создал две папки (bootstrap и live).

Ниже представлена ​​структура папок Bootstrap.

введите здесь описание изображения
Мы знаем, что нам нужно создать серверный файл конфигурации для хранения состояния Terraform в корзине S3. Но конфигурация бэкэнда не поддерживает интерполяцию переменных, поэтому нам приходится жестко закодировать значения в бэкэнде. В дополнение к этому существует также проблема курицы и яйца (перед их использованием необходимо создать серверную часть S3 и DynamoDB).

Для решения этих проблем хорошим вариантом является Terragrunt.
Но мы также можем создать сценарий Python для автоматического создания файла конфигурации серверной части и запустить команду миграции для сохранения состояния Terraform в серверной части S3.
Подход следующий:

- terraform init (вручную): для инициализации всех модулей, включая S3 и DynamoDB.

- terraform validate (вручную): для проверки синтаксиса всех модулей

- terraform plan -var-file dev.tfvars (вручную)
- А затем запустите сценарий Python, чтобы применить модули и извлечь выходные данные из файла outputs.tf + сгенерировать внутренний файл + перенести состояние на S3.
Разве это не лучший подход к решению этих проблем вместо использования Terragrunt (особенно в папке начальной загрузки) для инициализации модулей, таких как iam_policy, iam_role, dynamoDb, S3 и kms?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»