Если, выполняя предыдущее задание, вы уже создали аккаунт AWS, то давайте продолжим знакомство со взаимодействием Terraform и AWS.
- Создайте S3-бакет, IAM-роль и пользователя, от которого будет работать Terraform. Можно создать отдельного пользователя, а можно использовать созданного во время выполнения предыдущего задания, просто добавьте ему необходимые права, как описано здесь.
- Зарегистрируйте backend в Terraform-проекте, как описано по ссылке выше.
- Выполните
terraform init
:- если был создан backend в S3, то Terraform создаст файл стейтов в S3 и запись в таблице dynamodb.
- иначе будет создан локальный файл со стейтами.
- Создайте два воркспейса
stage
иprod
. - В уже созданный
aws_instance
добавьте зависимость типа инстанса от воркспейса, чтобы в разных воркспейсах использовались разныеinstance_type
. - Добавьте
count
. Дляstage
должен создаться один экземплярec2
, а дляprod
два. - Создайте рядом ещё один
aws_instance
, но теперь определите их количество при помощиfor_each
, а неcount
. - Чтобы при изменении типа инстанса не возникло ситуации, когда не будет ни одного инстанса, добавьте параметр
жизненного цикла
create_before_destroy = true
в один из рессурсовaws_instance
. - При желании поэкспериментируйте с другими параметрами и ресурсами.
В виде результата работы пришлите:
- вывод команды
terraform workspace list
, - вывод команды
terraform plan
для воркспейсаprod
.
Выполненное домашнее задание пришлите ссылкой на .md-файл в вашем репозитории.