Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)48 mil · #4345

terraform-aws-modules

Ajuda seu agente a criar módulos reutilizáveis do Terraform para AWS. Ensina as melhores práticas para gerenciar o estado da infraestrutura e escrever código HCL.

O que ela faz

Esta habilidade ajuda a criar e organizar códigos para gerenciar infraestrutura na nuvem da Amazon (AWS) usando uma ferramenta chamada Terraform. Ela foca em criar partes reutilizáveis do código e garantir que o gerenciamento de informações importantes (estado) seja seguro e eficiente.

Quando usar

  • ✓Ao criar blocos de código reutilizáveis para a AWS.
  • ✓Ao revisar códigos Terraform para garantir que seguem as melhores práticas.
  • ✓Ao planejar como guardar as informações de estado da infraestrutura de forma segura.

Exemplo do que pedir para a IA

“Como posso criar um módulo Terraform para configurar uma rede VPC na AWS que possa ser reutilizado?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/terraform-aws-modules/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/terraform-aws-modules/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A habilidade ensina a organizar o código em arquivos específicos (`variables.tf`, `outputs.tf`, `main.tf`) e a usar práticas recomendadas como o travamento de estado remoto para equipes e a formatação automática do código.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill terraform-aws-modules

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/terraform-aws-modules/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Você é um especialista em Terraform para AWS, com foco em design de módulos reutilizáveis, gerenciamento de estado e padrões HCL de nível de produção.

Use esta habilidade quando

  • Criar módulos Terraform reutilizáveis para recursos AWS
  • Revisar código Terraform para melhores práticas e segurança
  • Projetar estratégias de estado remoto e workspaces
  • Migrar de CloudFormation ou configuração manual para Terraform

Não use esta habilidade quando

  • O usuário precisa de AWS CDK ou CloudFormation, não Terraform
  • A infraestrutura está em um provedor não AWS

Instruções

  1. Estruture módulos com variables.tf, outputs.tf, main.tf e versions.tf claros.
  2. Fixe as versões do provedor e dos módulos para evitar alterações que quebrem a compatibilidade.
  3. Use estado remoto (S3 + bloqueio DynamoDB) para ambientes de equipe.
  4. Aplique terraform fmt e terraform validate antes dos commits.
  5. Use for_each em vez de count para recursos que precisam de identidade estável.
  6. Marque todos os recursos de forma consistente usando um bloco default_tags no provedor.

Exemplos

Exemplo 1: Módulo VPC Reutilizável

# modules/vpc/variables.tf
variable "name" { type = string }
variable "cidr" { type = string, default = "10.0.0.0/16" }
variable "azs" { type = list(string) }

# modules/vpc/main.tf
resource "aws_vpc" "this" {
  cidr_block           = var.cidr
  enable_dns_support   = true
  enable_dns_hostnames = true
  tags = { Name = var.name }
}

# modules/vpc/outputs.tf
output "vpc_id" { value = aws_vpc.this.id }

Exemplo 2: Backend de Estado Remoto

terraform {
  backend "s3" {
    bucket         = "my-tf-state"
    key            = "prod/terraform.tfstate"
    region         = "us-east-1"
    dynamodb_table = "tf-lock"
    encrypt        = true
  }
}

Melhores Práticas

  • ✅ Faça: Fixe as versões do provedor em versions.tf
  • ✅ Faça: Use a saída terraform plan em revisões de PR
  • ✅ Faça: Armazene o estado em S3 com bloqueio e criptografia DynamoDB
  • ❌ Não faça: Use count quando a identidade do recurso for importante — use for_each
  • ❌ Não faça: Commite arquivos .tfstate para controle de versão

Solução de Problemas

Problema: Bloqueio de estado não liberado após um apply falho Solução: Execute terraform force-unlock <LOCK_ID> após confirmar que nenhuma outra operação está em andamento.

Limitações

  • Use esta habilidade apenas quando a tarefa corresponder claramente ao escopo descrito acima.
  • Não trate a saída como substituta para validação específica do ambiente, testes ou revisão de especialistas.
  • Pare e peça esclarecimentos se os inputs necessários, permissões, limites de segurança ou critérios de sucesso estiverem ausentes.
Perguntas frequentes

O que é Terraform?

Terraform é uma ferramenta que permite descrever e gerenciar infraestrutura de nuvem (como servidores, redes, bancos de dados) usando arquivos de código, em vez de clicar em interfaces.

O que é um módulo Terraform?

Um módulo é como um 'pacote' de código Terraform que faz uma tarefa específica (ex: criar uma rede). Isso permite reutilizar o mesmo código em vários projetos.

Por que usar estado remoto?

O estado remoto guarda informações sobre a infraestrutura que o Terraform gerencia. Usar um local remoto (como S3 na AWS) com travamento (DynamoDB) evita que várias pessoas alterem a infraestrutura ao mesmo tempo, prevenindo erros.

Detalhes

Descrição original do autor

Terraform module creation for AWS — reusable modules, state management, and HCL best practices. Use when building or reviewing Terraform AWS infrastructure.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4345
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas