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

cloudformation

Faz seu agente implantar recursos na AWS usando CloudFormation. Ele cria e gerencia infraestrutura como código, incluindo detecção de desvios.

O que ela faz

Esta ferramenta ajuda a criar e gerenciar infraestrutura na nuvem da Amazon (AWS) usando um código chamado CloudFormation. Ela permite que você descreva os recursos que precisa, como servidores e bancos de dados, em um arquivo de texto, e a AWS cuida de criá-los para você.

Quando usar

  • ✓Quando você quer criar a mesma configuração de infraestrutura várias vezes.
  • ✓Ao fazer alterações seguras na sua infraestrutura existente.
  • ✓Para organizar e gerenciar partes complexas da sua infraestrutura.

Exemplo do que pedir para a IA

“Crie uma infraestrutura para um site simples com um servidor web e um banco de dados.”

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/cloudformation/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/cloudformation/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você escreve um arquivo de texto descrevendo os recursos da AWS que deseja. A ferramenta lê este arquivo e instrui a AWS a criar ou modificar esses recursos. Ela também pode verificar se a infraestrutura real corresponde ao que está descrito no arquivo.

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 cloudformation

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/cloudformation/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.

CloudFormation

Implante infraestrutura AWS com templates nativos do CloudFormation, conjuntos de alterações, pilhas aninhadas e detecção de desvios.

Quando Usar Esta Habilidade

  • Implantando recursos AWS usando Infraestrutura como Código nativa da AWS
  • Criando templates de infraestrutura repetíveis e parametrizados
  • Gerenciando implantações de múltiplos ambientes (dev, staging, prod) com o mesmo template
  • Implementando implantações seguras com conjuntos de alterações e proteção contra rollback
  • Detectando e remediando desvios de configuração
  • Organizando infraestrutura grande em pilhas aninhadas
  • Exportando/importando valores entre pilhas

Pré-requisitos

  • AWS CLI v2 instalado e configurado
  • Permissões IAM: cloudformation:*, mais permissões para todos os recursos no template
  • (Opcional) cfn-lint instalado para validação de template (pip install cfn-lint)
  • Bucket S3 para armazenar templates maiores que 51.200 bytes

Estrutura do Template

AWSTemplateFormatVersion: '2010-09-09'
Description: Production web application infrastructure

Metadata:
  AWS::CloudFormation::Interface:
    ParameterGroups:
      - Label: { default: "Environment" }
        Parameters: [Environment, InstanceType]
      - Label: { default: "Network" }
        Parameters: [VpcId, SubnetIds]

Parameters:
  Environment:
    Type: String
    AllowedValues: [dev, staging, prod]
    Default: dev

  InstanceType:
    Type: String
    Default: t3.micro
    AllowedValues: [t3.micro, t3.small, t3.medium, t3.large]

  VpcId:
    Type: AWS::EC2::VPC::Id
    Description: VPC to deploy into

  SubnetIds:
    Type: List<AWS::EC2::Subnet::Id>
    Description: Subnets for the application

Conditions:
  IsProd: !Equals [!Ref Environment, prod]
  CreateReadReplica: !Equals [!Ref Environment, prod]

Mappings:
  RegionAMI:
    us-east-1:
      AL2023: ami-0abcdef1234567890
    us-west-2:
      AL2023: ami-0fedcba9876543210

Resources:
  SecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: !Sub '${Environment}-web-sg'
      VpcId: !Ref VpcId
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 443
          ToPort: 443
          CidrIp: 0.0.0.0/0
      Tags:
        - Key: Name
          Value: !Sub '${Environment}-web-sg'

  LaunchTemplate:
    Type: AWS::EC2::LaunchTemplate
    Properties:
      LaunchTemplateName: !Sub '${Environment}-web'
      LaunchTemplateData:
        ImageId: !FindInMap [RegionAMI, !Ref 'AWS::Region', AL2023]
        InstanceType: !If [IsProd, t3.large, !Ref InstanceType]
        MetadataOptions:
          HttpTokens: required
        SecurityGroupIds:
          - !Ref SecurityGroup

  AutoScalingGroup:
    Type: AWS::AutoScaling::AutoScalingGroup
    Properties:
      AutoScalingGroupName: !Sub '${Environment}-web-asg'
      LaunchTemplate:
        LaunchTemplateId: !Ref LaunchTemplate
        Version: !GetAtt LaunchTemplate.LatestVersionNumber
      MinSize: !If [IsProd, 2, 1]
      MaxSize: !If [IsProd, 10, 3]
      DesiredCapacity: !If [IsProd, 4, 1]
      VPCZoneIdentifier: !Ref SubnetIds
      TargetGroupARNs:
        - !Ref TargetGroup
      HealthCheckType: ELB
      HealthCheckGracePeriod: 300
      Tags:
        - Key: Name
          Value: !Sub '${Environment}-web'
          PropagateAtLaunch: true
    UpdatePolicy:
      AutoScalingRollingUpdate:
        MinInstancesInService: !If [IsProd, 2, 0]
        MaxBatchSize: 1
        PauseTime: PT5M
        WaitOnResourceSignals: true
        SuspendProcesses:
          - HealthCheck
          - ReplaceUnhealthy
          - AZRebalance
          - AlarmNotification
          - ScheduledActions

  TargetGroup:
    Type: AWS::ElasticLoadBalancingV2::TargetGroup
    Properties:
      Name: !Sub '${Environment}-web-tg'
      Port: 8080
      Protocol: HTTP
      VpcId: !Ref VpcId
      TargetType: instance
      HealthCheckPath: /health
      HealthCheckIntervalSeconds: 30
      HealthyThresholdCount: 2
      UnhealthyThresholdCount: 3

Outputs:
  SecurityGroupId:
    Description: Web security group ID
    Value: !Ref SecurityGroup
    Export:
      Name: !Sub '${Environment}-WebSecurityGroup'

  AutoScalingGroupName:
    Description: ASG name
    Value: !Ref AutoScalingGroup
    Export:
      Name: !Sub '${Environment}-WebASG'

Operações de Pilha

# Validar um template
aws cloudformation validate-template --template-body file://template.yaml

# Lint com cfn-lint (detecta mais problemas)
cfn-lint template.yaml

# Criar uma pilha
aws cloudformation create-stack \

…
Perguntas frequentes

O que é 'Infraestrutura como Código'?

É a prática de gerenciar e provisionar sua infraestrutura de TI através de arquivos de definição legíveis por máquina, em vez de configuração manual ou ferramentas interativas. O CloudFormation é um exemplo disso na AWS.

O que são 'stacks'?

Uma 'stack' é um conjunto de recursos da AWS que você gerencia como uma única unidade. Por exemplo, você pode ter uma stack para sua aplicação web, que inclui servidores, bancos de dados e redes.

O que é 'drift detection'?

É uma função que compara a configuração real dos seus recursos na AWS com a configuração definida no seu arquivo CloudFormation. Isso ajuda a identificar se alguém fez alterações manuais na infraestrutura, o que pode causar problemas.

Detalhes

Descrição original do autor

Deploy AWS resources with CloudFormation templates. Create stacks, use nested stacks, and implement drift detection. Use when deploying AWS-native IaC.

repo: sickn33/agentic-awesome-skills

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas