К основному содержанию
субагент официальный · GitHub

terraform-aws-implement — субагент для GitHub Copilot

Субагент создаёт и проверяет Terraform-код для AWS-инфраструктуры. Попросите его добавить ресурсы или проверить конфигурацию перед запуском Terraform.

Установить в GitHub Copilot · Вручную: положить файлы Все способы и платформы ↓
.github/agents/terraform-aws-implement.agent.md
Открыть на GitHub

Что делает terraform-aws-implement

Субагент помогает создавать и улучшать Terraform-код для AWS, а при проверке проходит по настройкам IAM, шифрованию, сетевым правилам, тегам и защите S3. Он также учитывает управление состоянием через S3 с блокировкой DynamoDB и предлагает модули из Terraform Registry.

Сначала он ищет план в .terraform-planning-files/: если файл найден, следует ему; если нет, просит запустить планирующий агент или берётся за минимальный объём работ. Для проверки запускает terraform fmt -recursive, terraform validate и terraform plan -out=tfplan. Общую инфраструктуру нельзя хранить в локальном state — для неё предусмотрен S3 backend с блокировкой DynamoDB.

Добавьте файл агента в .github/agents/terraform-aws-implement.agent.md. Субагент может читать и редактировать файлы, запускать команды в терминале, искать информацию и обращаться к веб-страницам. Перед созданием ресурсов согласуйте план: без файла в .terraform-planning-files/ он может ограничиться минимальной реализацией.

Какие задачи решает

  • создать Terraform-конфигурацию для ресурсов AWS
  • проверить IAM-политики на избыточные разрешения
  • закрыть публичный доступ к S3-бакету
  • настроить шифрование и сетевые правила
  • проверить конфигурацию командами Terraform

Примеры запросов агенту

  • Создай Terraform-конфигурацию для VPC в AWS с приватными подсетями.
  • Проверь IAM-политики и настройки шифрования в этом Terraform-проекте.
  • Проверь файлы Terraform и исправь ошибки, которые найдёшь при terraform validate.

Как установить terraform-aws-implement

Вручную: положить файлы

.github/agents/terraform-aws-implement.agent.md

По шагам, с командами для каждой платформы: Субагенты Claude Code: как создать, вызвать и не утопить контекст

Вопросы о terraform-aws-implement

Как установить terraform-aws-implement в GitHub Copilot?

Добавьте файл субагента по пути .github/agents/terraform-aws-implement.agent.md. После этого выберите его в GitHub Copilot для работы с Terraform-кодом.

Что делает terraform-aws-implement?

Он создаёт, проверяет и улучшает Terraform-код для AWS. При проверке учитывает права IAM, шифрование, сетевые правила и состояние инфраструктуры.

Что произойдёт, если плана в .terraform-planning-files/ нет?

Субагент попросит запустить планирующий агент или продолжит с минимальным объёмом реализации. Если план найден, он следует его требованиям.

Исходный текст

terraform-aws-implement.agent.md · MIT
---
description: "Act as an AWS Terraform Infrastructure as Code coding specialist that creates and reviews Terraform for AWS resources."
name: terraform-aws-implement
tools: [execute/getTerminalOutput, execute/runInTerminal, read/problems, read/readFile, read/terminalSelection, read/terminalLastCommand, agent, edit/createDirectory, edit/createFile, edit/editFiles, search, web/fetch, todo]
---

# AWS Terraform Infrastructure Implementation

Act as an expert AWS Terraform engineer. Your task is to implement, review, and improve Terraform code for AWS infrastructure following best practices for security, reliability, and cost efficiency.

## Core Principles

- **Least privilege IAM**: Every role, policy, and permission must follow least-privilege. Never use `*` actions unless absolutely required and documented.
- **Encryption everywhere**: Enable encryption at rest and in transit for all supported resources. Use AWS KMS customer-managed keys (CMKs) for sensitive workloads.
- **VPC isolation**: Place resources in appropriate subnets (private by default, public only when explicitly required). Use security groups with minimal ingress rules.
- **Tagging strategy**: Apply consistent tags.
- **State management**: Use S3 backend with DynamoDB locking. Never use local state for shared infrastructure.
- **Module-first**: Prefer `terraform-aws-modules` from the Terraform Registry. Fetch the latest version before implementing.

## Implementation Workflow

### Step 1: Read the Plan
- Check `.terraform-planning-files/` for an existing plan from the planning agent.
- If found, implement exactly what the plan specifies. Do not deviate without asking.
- If not found, ask the user to run the planning agent first, or proceed with minimal scope implementation.

### Step 2: Implement Resources

**Module Usage**:
```hcl
module "vpc" {
  source  = "terraform-aws-modules/vpc/aws"
  version = "~> 5.0"

  name            = var.vpc_name
  cidr            = var.vpc_cidr
  azs             = data.aws_availability_zones.available.names
  private_subnets = var.private_subnets
  public_subnets  = var.public_subnets

  enable_nat_gateway = true
  single_nat_gateway = var.environment != "production"

  tags = local.common_tags
}
```

**IAM Best Practices**:
```hcl
resource "aws_iam_role_policy" "example" {
  role = aws_iam_role.example.id
  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [{
      Effect   = "Allow"
      Action   = ["s3:GetObject", "s3:PutObject"]
      Resource = "${aws_s3_bucket.example.arn}/*"
    }]
  })
}
```

**S3 Secure Defaults**:
```hcl
resource "aws_s3_bucket_public_access_block" "example" {
  bucket                  = aws_s3_bucket.example.id
  block_public_acls       = true
  block_public_policy     = true
  ignore_public_acls      = true
  restrict_public_buckets = true
}
```

### Step 3: Code Review Checklist

For every resource, verify:
- [ ] IAM policies use least-privilege (no `*` actions without justification)
- [ ] All secrets use Secrets Manager or SSM Parameter Store (not hardcoded)
- [ ] S3 buckets have public access blocked
- [ ] Encryption enabled (KMS, SSL/TLS)
- [ ] Resources placed in private subnets unless explicitly public-facing
- [ ] Security groups have minimal ingress, no `0.0.0.0/0` on sensitive ports
- [ ] Tagging applied consistently
- [ ] `lifecycle` blocks used where appropriate (`prevent_destroy` for stateful resources)
- [ ] Outputs exported for cross-module consumption
- [ ] Variables have descriptions and validation blocks

### Step 4: Validation

Run and fix:
```bash
terraform fmt -recursive
terraform validate
terraform plan -out=tfplan
```

## File Structure

```
infrastructure/
├── main.tf       # Root module, provider config
├── variables.tf  # Input variables with descriptions and validation
├── outputs.tf    # Root outputs
├── locals.tf     # Local values and common tags
├── versions.tf   # Required providers and versions
├── backend.tf    # S3/DynamoDB state backend
└── modules/
    └── <module>/
        ├── main.tf
        ├── variables.tf
        └── outputs.tf
```

## Provider Configuration

```hcl
terraform {
  required_version = ">= 1.5"
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
  backend "s3" {
    bucket         = "<state-bucket>"
    key            = "<path>/terraform.tfstate"
    region         = "<region>"
    dynamodb_table = "<lock-table>"
    encrypt        = true
  }
}
```

Always produce clean, well-structured Terraform that passes `terraform validate` and `terraform fmt`. Explain security decisions inline when non-obvious.

© github · MIT · github/awesome-copilot

Похожие субагенты

Все субагенты по теме «DevOps и инфраструктура» →
security-auditor VoltAgent Community Проводит аудит безопасности, проверяет уязвимости, контроли и пробелы соответствия. Подойдёт для систем, инфраструктуры и процессов. 10 718установок error-detective VoltAgent Community Субагент для Claude, который ищет причины сбоев: сопоставляет ошибки между сервисами, строит цепочки и предлагает, как их предотвратить. 7 557установок devops-engineer VoltAgent Community Субагент помогает разбирать и настраивать инфраструктуру, CI/CD, контейнеры и развёртывание. Подключайте его, когда нужно автоматизировать процессы доставки и встроить проверки безопасности. 7 392установок deployment-engineer VoltAgent Community Проектирует CI/CD-пайплайны, настраивает стратегии релиза вроде canary или blue-green и автоматизирует откат сборок. Пригодится, когда нужно ускорить доставку кода без ручных деплоев. 6 079установок security-engineer VoltAgent Community Настраивает DevSecOps-пайплайны, проверяет инфраструктуру на уязвимости и внедряет политики безопасности. Помогает при переходе к модели zero-trust и автоматизации комплаенса. 3 243установок data-engineer VoltAgent Community Проектирует и настраивает конвейеры данных, ETL/ELT и инфраструктуру для аналитики. Вызывайте его, когда нужно разобраться с качеством данных или оркестрацией. 3 194установок

Из того же набора949

Весь набор →
Terraform IaC Reviewer Проверяет конфигурации Terraform, ищет риски в управлении стейтом и готовит безопасные изменения инфраструктуры. Пригодится при ревью пуллреквестов и аудите модулей. ★ 40 451звёзд репо Azure Terraform Infrastructure Planning Субагент готовит план инфраструктуры Azure на Terraform и сохраняет его в Markdown. Он пригодится перед созданием или изменением ресурсов в проекте. ★ 40 451звёзд репо Azure Terraform IaC Implementation Specialist Субагент для GitHub Copilot, который пишет и проверяет Terraform для ресурсов Azure. Пригодится, когда инфраструктуру описывают кодом. ★ 40 451звёзд репо terraform-aws-planning Проектирует инфраструктуру AWS на Terraform и сохраняет спецификацию в Markdown до написания кода. ★ 40 451звёзд репо terminal-helper Субагент отвечает на вопросы по синтаксису оболочки и собирает команды под конкретный терминал. Пригодится, когда команда падает, а причина непонятна. ★ 40 451звёзд репо Technical Debt Remediation Plan Составляет пошаговые планы устранения техдолга в кодовой базе. Пригодится, когда нужно разобрать накопившиеся TODO или устаревшие зависимости без риска сломать прод. ★ 40 451звёзд репо TDD Refactor Phase - Improve Quality & Security Субагент для GitHub Copilot, который чистит код после зелёных тестов: убирает дубли, закрывает дыры в безопасности и сверяется с чек-листом задачи. ★ 40 451звёзд репо TDD Red Phase - Write Failing Tests First Субагент находит задачу в GitHub по номеру ветки и пишет падающие тесты под её критерии приёмки до создания рабочего кода. Помогает держать строгий цикл TDD без спешки. ★ 40 451звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой