Кому нужен этот промт и как он работает?
Этот промт предназначен для специалистов DevOps, разработчиков и инженеров, которые работают с облачной платформой AWS и используют Terraform для автоматизации инфраструктуры. Использовать его стоит тем, кому нужно быстро и корректно развернуть сервис AWS ECS (Elastic Container Service) с полной конфигурацией, включая Task Definition, автоскейлинг и регистрацию в целевых группах.
Промт помогает упорядочить процесс написания Terraform модуля по шагам, последовательно обрабатывая основные функции сервиса ECS. Он решает проблему сложности и многозадачности при настройке сервиса, разбивая работу на логичные этапы и запрашивая подтверждение пользователя перед переходом к следующим частям. В итоге получается готовый к использованию модуль без лишних объяснений.
Готовый промт
1 |
Разработайте Terraform модуль под названием "ecs_app" для развертывания AWS ECS Service. В процессе работы я поочередно предоставлю информацию о следующих функциях: 1. ECS Service 2. Конфигурация Task Definition 3. Политики автоскейлинга 4. Регистрация в целевой группе. Сообщите мне, когда закончите предоставление деталей по каждой функции. При представлении ответа группируйте ресурсы по 10 элементов и запрашивайте мое подтверждение перед переходом к следующей группе. Финальный ответ должен содержать только готовый Terraform модуль без дополнительных разъяснений или вопросов. |
Как использовать промт и на что обратить внимание
Чтобы успешно применить этот промт, перед началом работы подготовьте всю необходимую информацию по каждой функции: ECS Service, Task Definition, автоскейлинг и целевые группы. Это позволит быстро и последовательно передавать данные боту.
Рекомендуется использовать промт в интерактивном режиме, отвечая на запросы модели, чтобы убедиться в правильности и полноте сформированного кода.
Обратите внимание, что группировка ресурсов по 10 элементов помогает избежать перегрузки вывода и делает результат более удобным для проверки.
Возможные ограничения: промт требует точных и полных данных — неполные или некорректные входные параметры могут привести к ошибкам в итоговом модуле.
Примеры использования
Пример 1. Развертывание базового ECS Service с одной задачей на Fargate с автоскейлингом по загрузке CPU. Помогает быстро сконфигурировать простую инфраструктуру для контейнерного приложения.
1 |
Разработайте Terraform модуль под названием "ecs_app" для развертывания AWS ECS Service. В процессе работы я поочередно предоставлю информацию о следующих функциях: 1. ECS Service (Fargate, desired_count=1) 2. Конфигурация Task Definition (контейнер nginx, 512 MiB памяти) 3. Политики автоскейлинга (срабатывание при CPU > 70%) 4. Регистрация в целевой группе (ALB target group). Сообщите мне, когда закончите предоставление деталей по каждой функции. При представлении ответа группируйте ресурсы по 10 элементов и запрашивайте мое подтверждение перед переходом к следующей группе. Финальный ответ должен содержать только готовый Terraform модуль без дополнительных разъяснений или вопросов. |
Пример 2. Модуль для ECS Service с несколькими контейнерами в Task Definition и политиками автоскейлинга по количеству запросов на балансировщик нагрузки. Подходит для более сложных приложений с несколькими сервисами.
1 |
Разработайте Terraform модуль под названием "ecs_app" для развертывания AWS ECS Service. В процессе работы я поочередно предоставлю информацию о следующих функциях: 1. ECS Service (EC2 launch type, desired_count=3) 2. Конфигурация Task Definition (два контейнера: веб и база, общие volume) 3. Политики автоскейлинга (масштабирование по запросам ALB) 4. Регистрация в целевой группе (ALB target group). Сообщите мне, когда закончите предоставление деталей по каждой функции. При представлении ответа группируйте ресурсы по 10 элементов и запрашивайте мое подтверждение перед переходом к следующей группе. Финальный ответ должен содержать только готовый Terraform модуль без дополнительных разъяснений или вопросов. |
Пример ответа нейросети
Ниже представлен пример итогового Terraform модуля, сформированного по заданному промту и входным данным. Обратите внимание, что ресурс сгруппирован компактно и включает все основные компоненты для ECS Service.
✅ Example: module «ecs_app» { source = «./modules/ecs_app» service_name = «my-app» desired_count = 2 task_definition = aws_ecs_task_definition.app_task.arn load_balancer_target_group_arns = [aws_lb_target_group.app_tg.arn] autoscaling_policies = [ { name = «cpu-scale-up» metric = «CPUUtilization» threshold = 70 comparison_operator = «GreaterThanThreshold» scaling_adjustment = 2 adjustment_type = «ChangeInCapacity» } ] } resource «aws_ecs_task_definition» «app_task» { family = «my-app-task» container_definitions = jsonencode([ { name = «app-container» image = «nginx:latest» memory = 512 cpu = 256 essential = true portMappings = [{ containerPort = 80 hostPort = 80 protocol = «tcp» }] } ]) network_mode = «awsvpc» requires_compatibilities = [«FARGATE»] memory = «512» cpu = «256» } resource «aws_ecs_service» «app_service» { name = «my-app-service» cluster = aws_ecs_cluster.main.id task_definition = aws_ecs_task_definition.app_task.arn desired_count = 2 launch_type = «FARGATE» network_configuration { subnets = var.subnets assign_public_ip = true security_groups = [aws_security_group.app_sg.id] } load_balancer { target_group_arn = aws_lb_target_group.app_tg.arn container_name = «app-container» container_port = 80 } }
Итог: зачем использовать этот промт?
Использование данного промта значительно ускоряет процесс разработки и внедрения Terraform-модуля для AWS ECS Service. Он помогает структурировать и автоматизировать создание инфраструктуры, снижает риски ошибок и упрощает контроль этапов работы.
Main benefit: Быстрая и поэтапная генерация готового Terraform-модуля для AWS ECS с полной настройкой сервисов и автоскейлинга