Если в рамках предыдущего задания у вас уже есть аккаунт AWS, то давайте продолжим знакомство со взаимодействием терраформа и aws.
- Создайте s3 бакет, iam роль и пользователя от которого будет работать терраформ. Можно создать отдельного пользователя, а можно использовать созданного в рамках предыдущего задания, просто добавьте ему необходимы права, как описано здесь.
- Зарегистрируйте бэкэнд в терраформ проекте как описано по ссылке выше.
- Выполните
terraform init
:- если был создан бэкэнд в S3, то терраформ создат файл стейтов в 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-файл в вашем репозитории.