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



Обновив свою консоль EC2, вы увидите примерно такое окно, как на рис. 2.5.

Рис. 2.5. У сервера EC2 теперь есть тег с именем

Итак, у вас теперь есть рабочий код Terraform, стоит сохранить его в системе управления версиями. Это позволит вам делиться им с другими членами команды, отслеживать историю всех изменений инфраструктуры и использовать журнал фиксаций для отладки. Ниже показан пример того, как создать локальный Git-репозиторий и применять его для хранения конфигурационного файла Terraform:

git init

git add main.tf

git commit -m "Initial commit"

Cледует также создать файл под названием .gitignore. Он заставляет Git игнорировать определенные типы файлов, которые вы бы не хотели сохранить по случайности:

.terraform

*.tfstate

*.tfstate.backup

Файл .gitignore, показанный выше, заставляет Git игнорировать папку .terraform, которую Terraform использует в качестве временной рабочей папки, а также файлы вида *.tfstate, в которых Terraform хранит состояние (в главе 3 вы узнаете, почему файлы состояния нельзя записывать в репозиторий). Файл .gitignore тоже нужно зафиксировать:

git add .gitignore

git commit -m "Add a .gitignore file"

Чтобы поделиться этим кодом со своими коллегами, вам необходимо создать общий Git-репозиторий, к которому вы все можете обращаться. Для этого можно использовать GitHub. Перейдите на сайт https://github.com, зарегистрируйтесь (если вы этого еще не сделали), создайте новый репозиторий и укажите его в качестве удаленной точки входа под названием origin для своего локального Git-репозитория:

git remote add origin git@github.com:/.git

Теперь, когда вы хотите поделиться своими изменениями с коллегами, можете загрузить изменения в репозиторий origin:

git push origin master

Если вы хотите посмотреть, какие изменения внесли ваши коллеги, можете загрузить изменения из репозитория origin:

git pull origin master

При дальнейшем чтении этой книги и в целом при применении Terraform не забывайте регулярно фиксировать (gitcommit) и загружать (gitpush) свои изменения. Это позволит работать над кодом совместно с членами вашей команды. К тому же все изменения вашей инфраструктуры будут записываться в журнал фиксаций, что придется очень кстати в случае отладки. Больше о командной работе с Terraform вы узнаете в главе 8.


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

Следующим шагом будет развертывание на этом инстансе веб-сервера. Мы попытаемся развернуть простейшую веб-архитектуру: один веб-сервер, способный отвечать на HTTP-запросы (рис. 2.6).