Terraform - это программный инструмент с открытым исходным кодом в виде программного кода, который обеспечивает согласованный рабочий процесс CLI для управления множеством облачных сервисов. Terraform кодирует облачные API в декларативные файлы конфигурации.

В этом примере мы покажем вам, как создать несколько взаимозависимых ресурсов с помощью Terraform на AWS.

1. Установите Terraform.

Загрузите Terraform здесь и следуйте инструкциям здесь о том, как установить Terraform в вашей конкретной системе.

После успешной установки Terraform переходите к следующему разделу.

2. Next Step - Аккаунт AWS

  1. Создайте нового пользователя для terraform в разделе IAM вашей учетной записи AWS.
  2. Выберите Программный доступ и введите свои данные пользователя.

3. Нажмите «Далее» и выберите «Доступ администратора».

4. После создания пользователя вы получите ID ключа доступа и Секретный ключ доступа. Храните их в надежном месте, так как они вам понадобятся позже. Загрузите файл csv.

3. На третьем этапе установите AWS CLI:



После установки aws-cli вы увидите это, если выполните следующую команду.

Я установил cli и terraform на свой ноутбук с Windows и создал папку terraform, в которой есть распакованные файлы из загрузок terraform.

4. Стройте и уничтожайте свои ресурсы с помощью Terraform.

  1. Перейдите в ваш рабочий каталог terraform. В командной строке запустите aws configure, чтобы указать идентификатор ключа доступа aws и секретный ключ доступа вместе с регионом. Я хотел сделать свои ресурсы в Орегоне, поэтому я выбрал нас - запад -2.
  2. Ключ и секрет - это то, что вы скачали ранее в виде файла csv.

3. Создайте файл поставщика, поскольку мы используем AWS, мы укажем поставщика как AWS. При работе с terraform мы всегда должны сохранять файл с расширением .tf (например, provider.tf). Сохраните файл в том же каталоге terraform.

4. Теперь мы запустим команду «terraform init», в которой мы создали наш файл provider.tf, чтобы загрузить и инициализировать соответствующие плагины провайдера. В этом случае мы загружаем плагин поставщика AWS, указанный в нашем файле provider.tf.

У нас есть аккаунт AWS и мы создали пользователя IAM, давайте раскрутим наши ресурсы с помощью Terraform.

5. Создайте новый файл с именем resourses.tf. Теперь мы создадим VPC, 2 общедоступные, 2 частные подсети, интернет-шлюз, таблицу маршрутизации и экземпляр ec2, используя terraform.

6. Сначала мы определим наш ресурсный VPC с именем и блоком cidr. Далее мы определим две общедоступные подсети. Мы должны указать имя VPC в vpc_id. Здесь должны быть определены блоки cidr для подсетей. Если мы выберем запуск общедоступной подсети, тогда для параметра map_public_ip_on_launch должно быть установлено значение true. Если мы не укажем это, любой экземпляр, запущенный в этой подсети, не будет иметь общедоступного IP-адреса.

7. Если вы хотите создать частные подсети, мы должны указать vpc_id. Обратите внимание, что параметр map_public_ip_on_launch не требуется в частной подсети.

8. Теперь мы создадим интернет-шлюз и подключим его к VPC. Мы можем добавить маршрут в общедоступную таблицу маршрутов с целью в качестве интернет-шлюза. Общедоступные подсети также должны быть связаны с общедоступной таблицей маршрутов, чтобы у них был доступ к Интернету.

9. Затем мы будем использовать идентификатор ресурса «aws_instance», чтобы заявить, что мы пытаемся вызвать экземпляр EC2, за которым следует идентификатор имени «my_instance».

10. Мы предоставляем тип AMI на AWS. AMI - это идентификатор, специфичный для региона и типа AWS. Вы можете найти конкретный AMI, который хотите развернуть для каждого региона, здесь. Мы также предоставим instance_type. В этом примере мы будем использовать тип экземпляра t2.micro, поскольку он поддерживается пакетом Уровень бесплатного пользования AWS.

В разделе пользовательских данных мы можем указать команды и программное обеспечение, которое мы хотим установить. Здесь мы развертываем простой веб-сервер Apache.

11. Следующим шагом является план терраформирования, который сообщит нам, какие ресурсы созданы вместе с любыми ошибками в вашем файле.

12. Наконец, Terraform применяется для создания всех ресурсов. Мы успешно создали 10 ресурсов с помощью скрипта terraform.

13. Мы видим страницу Apache по умолчанию.

14. Наконец, terraform destroy используется для уничтожения всех десяти ресурсов.

Заключение

Спасибо за чтение. Надеюсь, вы нашли это полезным. Если да, обязательно дайте мне знать в комментариях.