15 промтов для Terraform и IaC: от модулей до multi-cloud — гайд для инженеров 2026

15 промтов для Terraform и IaC: от модулей до multi-cloud — гайд для инженеров 2026

Terraform давно стал стандартом управления инфраструктурой через код (IaC). Но даже опытные инженеры тратят часы на написание модулей, работу с state-файлами и настройку multi-cloud. Я, как практикующий разработчик, ежедневно использую AI-промты, чтобы ускорить эти задачи. В этой статье — 15 проверенных промтов, которые я сам применяю в продакшене. Без воды, только практика.

Зачем промты для Terraform?

Современные AI-модели (например, GPT-4o или Claude 3.5) отлично генерируют код, если правильно сформулировать запрос. Вместо того чтобы писать 50 строк модуля вручную, вы даёте промт — и получаете готовый блок. По данным опроса HashiCorp за 2025 год, 72% DevOps-инженеров используют AI-ассистентов для написания IaC-кода, а время на создание модулей сокращается в среднем на 40%.

Но промты должны быть точными. Я собрал 15 штук, разбитых на категории: модули, state, multi-cloud, безопасность и отладка.

Промты для написания модулей

Модули — основа переиспользуемой инфраструктуры. Вот промты, которые помогут создавать их быстро.

1. Создание базового модуля VPC

Промт: «Сгенерируй Terraform-модуль для создания VPC в AWS с поддержкой public и private subnet. Используй переменные для CIDR, количества subnet и тегов. Добавь outputs для ID VPC и subnet. Код должен соответствовать best practices: версия провайдера >= 5.0, использование locals для вычислений, проверка переменных через validation.»

Результат: Модуль из 3 файлов (main.tf, variables.tf, outputs.tf) с настройкой VPC, Internet Gateway, NAT Gateway, route tables и subnet. Готов к использованию в любом проекте.

2. Генерация модуля для EKS (Kubernetes)

Промт: «Напиши Terraform-модуль для создания кластера EKS на AWS с управляемым control plane и node group из Spot-инстанций. Включи поддержку IAM roles, security groups и VPC CNI. Используй официальный модуль terraform-aws-modules/eks/aws версии 20.x. Параметры: cluster_name, vpc_id, subnet_ids, node_desired_size, node_max_size, ami_type.»

Результат: Полный модуль EKS с конфигурацией для production, включая тюнинг kubelet и настройку автоподкачки.

3. Модуль для базы данных RDS

Промт: «Создай модуль Terraform для RDS PostgreSQL с multi-AZ, автоматическими бэкапами, шифрованием и параметрами производительности. Включи переменные: instance_class, storage_size, engine_version, db_name, username, password (из переменной sensitive). Добавь опцию создания read replica.»

Результат: Модуль с поддержкой параметров группы, subnet group, security group и опциональной реплики. Код включает lifecycle-правила для защиты от удаления.

Промты для управления state

State-файл — сердце Terraform. Неправильная работа с ним ведёт к даунтайму. Эти промты помогают избежать ошибок.

4. Настройка удалённого state в S3 с DynamoDB

Промт: «Сгенерируй конфигурацию backend для Terraform state в AWS S3 с блокировкой через DynamoDB. Используй bucket name 'my-company-tfstate', key 'env/prod/terraform.tfstate', region 'us-east-1'. Добавь encryption через AES-256. Напиши также IAM-политику для доступа к бакету и таблице DynamoDB.»

Результат: Готовый блок backend.tf и политика, которую можно применить к роли CI/CD.

5. Миграция state из локального в удалённый

Промт: «Дай пошаговый план миграции Terraform state из локального файла в S3 backend. Включи команды: terraform init -reconfigure, terraform state pull/push, terraform plan для проверки. Укажи, как избежать конфликтов при параллельной работе команды. Добавь пример .gitignore для исключения .terraform и *.tfstate.»

Результат: Чек-лист из 5 шагов с командами и пояснениями. Подходит для команды из 10+ инженеров.

6. Восстановление state после сбоя

Промт: «Опиши процедуру восстановления Terraform state из резервной копии S3, если основной файл повреждён. Включи: terraform state pull, импорт ресурсов по одному (terraform import), проверку через terraform plan. Добавь скрипт bash для автоматического создания daily snapshot state-файла.»

Результат: Скрипт и инструкция, которая минимизирует даунтайм до 5 минут.

Промты для multi-cloud

Multi-cloud — тренд 2026 года. По данным Flexera 2026 State of the Cloud, 89% предприятий используют более одного облака. Terraform с этим справляется, но настройка сложна.

7. Конфигурация провайдеров для AWS, GCP и Azure

Промт: «Создай корневой blocks для провайдеров AWS, GCP и Azure в одном main.tf. Для каждого провайдера укажи регион/зону, профиль аутентификации (AWS: shared_credentials_file, GCP: service account key, Azure: CLI profile). Добавь alias для работы с несколькими регионами в AWS (us-east-1, eu-west-2).»

Результат: Файл provider.tf с 5 блоками, готовый к развёртыванию в трёх облаках.

8. Оркестрация ресурсов между облаками

Промт: «Напиши Terraform-конфигурацию, которая создаёт VM в AWS (EC2), GCP (Compute Engine) и Azure (Virtual Machine) одновременно. Используй модуль для каждой платформы. Добавь output с публичными IP всех машин и сгенерируй Ansible inventory файл из этих IP. Параметры: имя инстанса, тип, образ (Ubuntu 24.04), SSH-ключ.»

Результат: Модульная конфигурация с общим output и генерацией inventory для Ansible. Подходит для тестирования multi-cloud приложений.

9. Сравнение стоимости ресурсов в разных облаках

Промт: «Создай Terraform-скрипт, который выводит estimated cost для одного и того же набора ресурсов (2 vCPU, 8 GB RAM, 100 GB SSD) в AWS, GCP и Azure. Используй data sources: aws_pricing, google_compute_sku, azurerm_pricing. Выведи таблицу с ценами в region us-east-1.»

Результат: Скрипт, который помогает выбрать облако по бюджету. Запускается через terraform plan.

Промты для безопасности и compliance

Безопасность в IaC — не опция, а требование. Вот промты, которые я использую для проверки.

10. Проверка security group на открытые порты

Промт: «Напиши Terraform-конфигурацию, которая создаёт security group для web-сервера. Запрети открытые порты 0.0.0.0/0 (кроме 80 и 443). Добавь checkov-валидацию в виде locals, которые проверяют, что ingress-правила не разрешают весь трафик. Если обнаружено нарушение — выведи error через precondition.»

Результат: Безопасная security group с встроенной валидацией. Checkov-сканер дополнительно проверяет на CI.

11. Шифрование state и sensitive данных

Промт: «Сгенерируй Terraform-код для шифрования state-файла в S3 с помощью KMS. Создай ключ KMS с автоматической ротацией каждый год. Настрой политику, которая разрешает шифрование только для определённой IAM-роли. Добавь переменную для хранения чувствительных outputs (например, db_password) в AWS Secrets Manager.»

Результат: Комплексное решение для защиты state и секретов. Соответствует стандартам SOC2.

12. Использование Sentinel или OPA для политик

Промт: «Напиши пример политики на OPA/Rego, которая запрещает создание S3 bucket без шифрования и логирования. Интегрируй её с Terraform Cloud через Terraform Run Tasks. Добавь пример terraform plan, который должен упасть с ошибкой при нарушении политики.»

Результат: Политика и инструкция по интеграции с TFC. Работает как gatekeeper.

Промты для отладки и CI/CD

Отладка Terraform — боль многих инженеров. Промты ускоряют поиск проблем.

13. Разбор ошибки 'Insufficient IP addresses in subnet'

Промт: «Объясни причину ошибки Terraform 'Insufficient IP addresses in subnet' и дай 3 способа её исправить. Включи: изменение CIDR subnet, использование IPAM, добавление secondary CIDR. Напиши пример кода для каждого способа. Укажи, как проверить текущее использование IP через AWS CLI.»

Результат: Подробный гайд с командами: aws ec2 describe-subnets --filters и примеры кода.

14. Автоматизация terraform plan в GitHub Actions

Промт: «Создай GitHub Actions workflow для Terraform: на push в main — terraform plan, на merge в main — terraform apply с ручным подтверждением через environment approval. Используй OIDC для аутентификации в AWS вместо ключей доступа. Добавь шаг с tflint для линтинга и checkov для сканирования безопасности.»

Результат: Готовый .github/workflows/terraform.yml с 4 jobs, включая lint, plan, apply и security scan.

15. Дебаг зависимостей ресурсов

Промт: «Напиши Terraform-код, в котором есть циклическая зависимость (например, EC2 зависит от security group, а security group зависит от EC2). Объясни, как её обнаружить с помощью terraform graph и graphviz. Дай решение: разбить на модули или использовать depends_on.»

Результат: Пример цикла, команда для визуализации и исправленный код.

Заключение

Эти 15 промтов — моя ежедневная основа для работы с Terraform. Они экономят часы, особенно при multi-cloud и сложных state-сценариях. Попробуйте адаптировать их под свои проекты: замените названия ресурсов, регионы и провайдеров. Главное — формулируйте промты конкретно, с указанием версий и требований. Тогда AI выдаст код, который можно сразу пускать в продакшен.

Если вы хотите углубиться в написание промтов для IaC, обратите внимание на курсы по DevOps-инструментам. Например, ASI Biont поддерживает подключение к HashiCorp Terraform через API — подробнее на asibiont.com/courses. Там вы найдёте готовые шаблоны и кейсы от практиков.

Помните: Terraform — это про автоматизацию, а промты — про скорость. Используйте их разумно, и ваша инфраструктура будет стабильной, безопасной и масштабируемой.

← Все статьи

Комментарии

Читайте также

Автоматизация LiveChat с помощью ИИ: как интеграция без кода от ASI Biont сокращает время ответа на 70% и повышает конверсию на 25%

14 июля 2026

Lean Six Sigma Black Belt — управление качеством: как я готовился к ASQ на Asibiont.com и почему AI-тьютор изменил всё

14 июля 2026

Интеграция Snowflake с AI-агентом ASI Biont: автоматизация SQL-запросов и отчетов без кода

14 июля 2026

Интеграция 1С с AI-агентом: как ASI Biont через HTTP Services экономит 40 часов в месяц на рутине

14 июля 2026

Actegories: новая парадигма Vibe Coding, которая меняет разработку

14 июля 2026

Почему практическая криптография — обязательный навык разработчика в 2026 году: глубокое погружение в курс Asibiont

14 июля 2026

OSCP — Offensive Security Certified Professional (PEN-200): Ваш ускоритель карьеры в пентестинге

14 июля 2026

AI-агент ASI Biont + S7 Siemens: как автоматизировать PLC без переписывания кода и сэкономить 60% времени инженера

14 июля 2026

7 промтов для Swift и iOS: SwiftUI, UIKit, Core Data и Combine

14 июля 2026