Terraform: инфраструктура на уровне кода | страница 39



    (...)

Чтобы система Terraform могла вносить изменения в вашу учетную запись AWS, нужно прописать в переменных среды AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY учетные данные для пользователя IAM, которого вы создали ранее. Например, вот как это можно сделать в терминале Unix/Linux/macOS:

$ export AWS_ACCESS_KEY_ID=(your access key id)

$ export AWS_SECRET_ACCESS_KEY=(your secret access key)

Имейте в виду, что эти переменные среды действуют только в текущей командной оболочке, поэтому после перезагрузки компьютера или открытия нового окна терминала придется снова их экспортировать.


Способы аутентификации

Помимо переменных среды, Terraform поддерживает те же механизмы аутентификации, что и все утилиты командной строки и SDK для AWS. Таким образом, вы сможете использовать файл $HOME/.aws/credentials, который автоматически генерируется, если запустить AWS CLI с командой configure, или роли IAM, которые можно назначить почти любому ресурсу в AWS. Подробнее об этом — в статье A Comprehensive Guide to Authenticating to AWS on the Command Line по адресу http://bit.ly/2M11muR.


Развертывание одного сервера

Код Terraform пишется на языке конфигурации HashiCorp (HashiCorp Configuration Language, или HCL) и хранится в файлах с расширением .tf28. Это декларативный язык, поэтому ваша задача — описать нужную вам инфраструктуру, а Terraform разберется с тем, как ее создать. Terraform умеет создавать инфраструктуру на разнообразных платформах (или провайдерах в терминологии проекта), включая AWS, Azure, Google Cloud, DigitalOcean и многие другие.

Код Terraform можно писать в практически любом текстовом редакторе. Если поискать, можно найти подсветку синтаксиса Terraform для большинства редакторов (обратите внимание, что вам, возможно, нужно искать по слову HCL, а не Terraform), включая vim, emacs, Sublime Text, Atom, Visual Studio Code и IntelliJ (у последнего даже есть поддержка рефакторинга, поиска вхождений и перехода к объявлению).

Первым делом при использовании Terraform обычно следует выбрать провайдера (одного или несколько), с которым вы хотите работать. Создайте пустую папку и поместите в нее файл с именем main.tf и следующим содержанием:

provider "aws" {

  region = "us-east-2"

}

Это говорит Terraform о том, что в качестве провайдера вы собираетесь использовать AWS и хотите развертывать свою инфраструктуру в регионе us-east-2. Вычислительные центры AWS разбросаны по всему миру и сгруппированы по регионам.