Създаване на проект Terraform и стартиране на AWS EC2
Кратко описание, връзки към документация и инсталирането наTerraform са описани тук>>>.
По-долу е даден пример за създаване на прост проект и стартиране на екземпляр наAWC EC2 чрез него.
Създайте директория на проекта:
Създаваме файл с разширение .tf, който ще бъде конфигурационният файл на нашата "инфраструктура":
Добавяне на данни към файла:
Блокът доставчик описва доставчика, в този случай това еAmazon Web Service, в който ще издигнем сървъраEC2.
Ресурсният блок дефинира ресурсите, които ще съществуват в нашата архитектура. Може да имаAWS EC2 сървъри - или някакво приложение, катоHeroku.
След като влезем в създадената директория, изпълняваме план за терраформиране, който ще покаже всички промени, които трябва да бъдат направени в съответствие с конфигурационния файл на проекта, който току-що създадохме. В същото време - може да има няколко .tf файла (с описание на отделни услуги, глобални променливи и т.н.) -Terraform ще прочете всеки от тях.
Освен товаTerraform в директорията на проекта (от точката за стартиране на плана) ще създаде файла terraform.tfstate, в който всички планирани промени ще бъдат записани във форматJSON :
След като планът покаже коректността на данните в конфигурационния файл, стартираме apply, след коетоTerraform ще започне да изпълнява всички необходими действия.
В същото време могат да се появят грешки, свързани със самата инфраструктура наAWS, например:
Намиране на подходяща подмрежа:
Към файла test_1.tf , към блока:
Нека го стартираме отново:
Сега проблемът със съхранението.AMI IDбеше взет от един от нашите стари файлове с настройки, така че намерихме нов. ЗаUbuntu можете да намерите списък сAMI по регион тук - https://cloud-images.ubuntu.com/locator/ec2/
Описание на хранилища за различни видове инстанции можете да намерите тук - https://aws.amazon.com/ec2/instance-types/
us-west-2 | доверен | 14.04LTS | amd64 | ebs | 20151019 | ami-96e605a5 | aki-fc8f11cc |
АктуализирайтеAMI ID в test_1.tf и проверете отново:
Можете да видите текущите настройки на проекта с show:
Данните, както споменахме, се записват във файла terraform.tfstate:
Проверка за екземпляр:
За да разрешите регистриране на работа, задайте две променливи: