В этом посте мы рассмотрим кое-что, что может быть действительно полезным для использования одного и того же скрипта в нескольких средах или для нескольких проектов без изменения кода!
Чтобы сделать этот волшебный трюк, мы динамически определим бэкенд, который мы будем использовать для хранения состояния Terraform.
Объявление бэкенда
Во-первых, нам нужно объявить в скрипте, какой тип бэкенда мы хотим использовать.
В нашем примере это будет AWS S3.
terraform {
...
backend "s3" {}
...
}
Динамическая магия
Чтобы иметь динамическое определение бэкенда, необходимо добавить объявление некоторых параметров в качестве опций команды terraform init.
Параметры бэкенда
- bucket : Имя ведра S3, в котором вы хотите хранить состояние Terraform.
- key : Путь к файлу состояния Terraform в ведре S3. Обычно именно этот параметр обновляется, чтобы убедиться, что каждое состояние terraform расположено в отдельном месте.
- регион : Регион, в котором находится ведро.
- шифровать Булево значение, чтобы узнать, хотите ли вы зашифровать файл (если у вас есть сомнения, установите его в true).
Параметр команды
Чтобы передать бэкенду параметры, у вас есть несколько способов сделать это:
- объявить параметр с ключом=значением
-backend-config=’bucket=test’
- объявить файл tfvars, который содержит некоторые/все конфигурации
-backend-config=’configs/configs_backend.tfvars’
Затем вам просто нужно будет указать правильные параметры при использовании команд terraform, и вы сможете определить несколько инфра одним скриптом!
Надеюсь, это поможет вам! 🍺
И до скорой встречи в следующей части этой серии. 😀
Ссылка на серию
- 1 — Начало : https://dev.to/adaendra/how-to-setup-a-hadr-database-in-aws-1-1ko7
- 2 — Определения : https://dev.to/adaendra/how-to-setup-a-hadr-database-in-aws-2-definitions-93p
- 3 — Простая база данных : https://dev.to/adaendra/how-to-setup-a-hadr-database-in-aws-3-simple-database-a9o
- 4 — База данных HA : https://dev.to/adaendra/how-to-setup-a-hadr-database-in-aws-4-ha-database-4kek
- 5 — База данных DR : https://dev.to/adaendra/how-to-setup-a-hadr-database-in-aws-5-dr-database-278b
- 6 — Создание из моментального снимка : https://dev.to/adaendra/how-to-setup-a-hadr-database-in-aws-6-create-from-snapshot-2mbf
- 7 — Определение бэкенда Dynamic Terraform : https://dev.to/adaendra/how-to-setup-a-hadr-database-in-aws-7-dynamic-terraform-backend-definition-3aga
- 8 — Несколько экземпляров в нескольких регионах : https://dev.to/adaendra/how-to-setup-a-hadr-database-in-aws-8-multiple-instances-in-multiple-regions-210d
- 9 — Генерирование случайного значения : https://dev.to/adaendra/how-to-setup-a-hadr-database-in-aws-9-generate-a-random-value-5g8a