Skip to content

Latest commit

 

History

History

07-terraform-03-basic

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Домашнее задание к занятию 3. «Основы и принцип работы Terraform»

Задача 1. Создадим backend в S3 (не обязательно, но крайне желательно)

Если, выполняя предыдущее задание, вы уже создали аккаунт AWS, то давайте продолжим знакомство со взаимодействием Terraform и AWS.

  1. Создайте S3-бакет, IAM-роль и пользователя, от которого будет работать Terraform. Можно создать отдельного пользователя, а можно использовать созданного во время выполнения предыдущего задания, просто добавьте ему необходимые права, как описано здесь.
  2. Зарегистрируйте backend в Terraform-проекте, как описано по ссылке выше.

Задача 2. Инициализируем проект и создаём воркспейсы

  1. Выполните terraform init:
    • если был создан backend в S3, то Terraform создаст файл стейтов в S3 и запись в таблице dynamodb.
    • иначе будет создан локальный файл со стейтами.
  2. Создайте два воркспейса stage и prod.
  3. В уже созданный aws_instance добавьте зависимость типа инстанса от воркспейса, чтобы в разных воркспейсах использовались разные instance_type.
  4. Добавьте count. Для stage должен создаться один экземпляр ec2, а для prod два.
  5. Создайте рядом ещё один aws_instance, но теперь определите их количество при помощи for_each, а не count.
  6. Чтобы при изменении типа инстанса не возникло ситуации, когда не будет ни одного инстанса, добавьте параметр жизненного цикла create_before_destroy = true в один из рессурсов aws_instance.
  7. При желании поэкспериментируйте с другими параметрами и ресурсами.

В виде результата работы пришлите:

  • вывод команды terraform workspace list,
  • вывод команды terraform plan для воркспейса prod.

Как cдавать задание

Выполненное домашнее задание пришлите ссылкой на .md-файл в вашем репозитории.