Инфраструктура как код
Как безопасно хранить Terraform state?
State хранят в удалённом backend с шифрованием при передаче и хранении, versioning, резервными копиями и контролем доступа по принципу минимальных прав. Для операций нужен механизм locking или эквивалентная сериализация, чтобы параллельные apply не перезаписали состояние. CI получает краткоживущие учётные данные, а доступ и изменения журналируются. State может содержать секреты даже для полей, помеченных sensitive, поэтому его нельзя публиковать или хранить в обычном Git. Восстановление версии регулярно проверяют. Конкретная поддержка блокировок зависит от backend и версии Terraform, её нельзя предполагать автоматически.
Ссылки для изучения
Как импортировать существующий ресурс в Terraform?
Сначала описывают ресурс в конфигурации Terraform с правильным provider и адресом. Затем добавляют import block и выполняют plan/apply либо используют terraform import ADDRESS ID для записи связи в state. После импорта запускают terraform plan и приводят конфигурацию к фактическим управляемым параметрам, пока план не показывает неожиданных изменений. Импорт сам по себе не всегда создаёт полную желаемую конфигурацию и не доказывает её корректность. State сохраняют и блокируют как обычно. Перед первым apply особенно проверяют поля, изменение которых приводит к замене или удалению ресурса.
Ссылки для изучения
Когда использовать Terraform, а когда Ansible?
Terraform удобен для жизненного цикла инфраструктурных ресурсов через декларативную конфигурацию, dependency graph и state: сетей, кластеров, managed databases. Ansible обычно применяют для agentless-настройки ОС и приложений по SSH или API, оркестрации шагов и работы с уже существующими хостами. Их часто соединяют: Terraform создаёт ресурсы и outputs, Ansible настраивает то, что не покрыто образом или cloud-init. Граница не абсолютна, у обоих есть модули соседней области. Важно не назначать двум инструментам владельцем одного параметра, иначе они будут по очереди исправлять состояние друг друга.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- #devops #sre #juneway DevOps интервью · 1:23:55–1:24:41Мок-собеседование · Ответ кандидата
Кандидат сопоставляет настройку конфигурации через Ansible с созданием инфраструктуры и хранением состояния в Terraform.





