Terraform Cloud / Enterprise
Тема дорожной карты · Terraform
Terraform Cloud в CI/CD — это управляемая платформа HashiCorp, выступающая удалённой средой выполнения и state-бэкендом для terraform plan и terraform apply, устраняя необходимость настраивать отдельные S3-бакеты состояния или самоуправляемые раннеры. Terraform Cloud в CI/CD интегрируется с GitHub, GitLab и другими VCS-провайдерами через воркспейсы, которые автоматически запускают спекулятивные планы на pull request'ах и apply-запуски при мёрже, возвращая вывод плана обратно в PR как статусную проверку. Команды используют Sentinel или OPA — фреймворки политик в виде кода — в Terraform Cloud для применения правил соответствия: например, ограничения разрешённых типов инстансов AWS или требования шифрования для хранилищ GCP — до того, как какой-либо apply достигнет production. Наборы переменных в Terraform Cloud централизуют учётные данные провайдеров, среда-специфичные tfvars и секреты в нескольких воркспейсах, устраняя необходимость передавать чувствительные значения через переменные CI/CD-конвейера. Terraform Cloud Enterprise добавляет журналирование аудита, SSO, self-hosted агентов для доступа к приватным сетям и командный RBAC, что делает его пригодным для организаций, управляющих крупномасштабным IaC в десятках окружений AWS, Azure, Kubernetes и GCP.
Как это работает
Terraform Cloud / Enterprise обычно: PR открыт → CI гоняет terraform fmt -check, validate, tflint, tfsec, потом terraform plan против state целевой среды и постит plan комментом в PR. На merge в main → CI делает terraform apply автоматически (с гейтами одобрения для prod). Инструменты: Atlantis (open-source PR-автоматизация), Terraform Cloud / Enterprise (managed-предложение HashiCorp), env0, Spacelift, GitHub Actions / GitLab CI с кастомными workflow.
Когда применять
Автоматизируйте весь flow до деплоя в production. PR-comment с plan — killer-фича: ревьюеры видят, что именно меняется. Требуйте approval до apply для production (ручной гейт). Запускайте plan по расписанию (drift-detection) — выявляет ручные изменения. Для RF / суверенности — self-host Atlantis на Yandex Cloud + GitLab-раннер; избегайте Terraform Cloud (US-hosted).
Типичные ошибки
Ловушки Terraform Cloud / Enterprise: auto-apply в prod без approval-гейта (один плохой PR = плохой prod); долгие plan, превышающие время CI-раннера (делите на меньшие root-модули); credentials в CI-логах (маскируйте, никогда не echo); не обработаны конкурентные PR за один lock (Atlantis ставит в очередь; Terraform Cloud сериализует).