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

aws-ecs-fargate

Ajuda seu agente a rodar aplicações em contêineres na AWS. Ele configura e gerencia esses contêineres usando serviços como ECS e Fargate.

O que ela faz

Esta ferramenta ajuda a colocar seus aplicativos (que rodam em 'contêineres', como caixinhas isoladas) para funcionar na nuvem da Amazon (AWS). Ela cuida de toda a infraestrutura para que você não precise se preocupar com servidores.

Quando usar

  • ✓Quando você quer rodar um aplicativo na nuvem sem ter que gerenciar computadores.
  • ✓Para fazer vários 'contêineres' conversarem entre si e receberem tráfego.
  • ✓Ao atualizar seu aplicativo, garantindo que ele continue funcionando durante a troca.

Exemplo do que pedir para a IA

“Coloque meu aplicativo web em contêineres na AWS para que ele possa ser acessado pela internet.”

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

Você descreve como seu aplicativo deve rodar em um arquivo de configuração. A ferramenta usa esse arquivo para criar e gerenciar os 'contêineres' na AWS, cuidando de tudo automaticamente.

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 aws-ecs-fargate

Ou baixe só o arquivo:

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

AWS ECS & Fargate

Execute aplicações em contêineres no Amazon ECS com o Fargate, um serviço de computação sem servidor, ou com o tipo de lançamento EC2.

Quando Usar Esta Habilidade

  • Implantar contêineres Docker na AWS sem gerenciar servidores (Fargate)
  • Executar microsserviços com descoberta de serviço e balanceamento de carga
  • Configurar implantações blue/green ou rolling para aplicações em contêineres
  • Configurar auto-scaling para cargas de trabalho em contêineres
  • Migrar de docker-compose ou Kubernetes para ECS
  • Solucionar falhas de tarefas, problemas de verificação de integridade ou problemas de rede

Pré-requisitos

  • AWS CLI v2 instalado e configurado
  • Docker instalado para construir e enviar imagens
  • Permissões IAM: ecs:*, ecr:*, elasticloadbalancing:*, logs:*, iam:PassRole
  • Um repositório ECR para armazenar imagens de contêineres
  • Uma VPC com subnets e um ALB (veja aws-vpc (aws-vpc))

Configuração do Cluster

# Create an ECS cluster with Container Insights enabled
aws ecs create-cluster \
  --cluster-name production \
  --capacity-providers FARGATE FARGATE_SPOT \
  --default-capacity-provider-strategy '[
    {"capacityProvider": "FARGATE", "weight": 1, "base": 2},
    {"capacityProvider": "FARGATE_SPOT", "weight": 3}
  ]' \
  --settings '[{"name": "containerInsights", "value": "enabled"}]'

# List clusters
aws ecs list-clusters

# Describe cluster details
aws ecs describe-clusters --clusters production --include STATISTICS ATTACHMENTS

Enviar Imagem para ECR

# Create ECR repository
aws ecr create-repository \
  --repository-name myapp \
  --image-scanning-configuration scanOnPush=true \
  --encryption-configuration encryptionType=KMS

# Authenticate Docker to ECR
aws ecr get-login-password --region us-east-1 | \
  docker login --username AWS --password-stdin 123456789012.dkr.ecr.us-east-1.amazonaws.com

# Build, tag, and push
docker build -t myapp:latest .
docker tag myapp:latest 123456789012.dkr.ecr.us-east-1.amazonaws.com/myapp:latest
docker push 123456789012.dkr.ecr.us-east-1.amazonaws.com/myapp:latest

Definição da Tarefa

{
  "family": "myapp",
  "networkMode": "awsvpc",
  "requiresCompatibilities": ["FARGATE"],
  "cpu": "512",
  "memory": "1024",
  "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole",
  "taskRoleArn": "arn:aws:iam::123456789012:role/ecsTaskRole",
  "containerDefinitions": [
    {
      "name": "myapp",
      "image": "123456789012.dkr.ecr.us-east-1.amazonaws.com/myapp:latest",
      "essential": true,
      "portMappings": [
        {
          "containerPort": 8080,
          "protocol": "tcp"
        }
      ],
      "environment": [
        {"name": "NODE_ENV", "value": "production"},
        {"name": "PORT", "value": "8080"}
      ],
      "secrets": [
        {
          "name": "DB_PASSWORD",
          "valueFrom": "arn:aws:secretsmanager:us-east-1:123456789012:secret:myapp/db-password"
        },
        {
          "name": "API_KEY",
          "valueFrom": "arn:aws:ssm:us-east-1:123456789012:parameter/myapp/api-key"
        }
      ],
      "healthCheck": {
        "command": ["CMD-SHELL", "curl -f http://localhost:8080/health || exit 1"],
        "interval": 30,
        "timeout": 5,
        "retries": 3,
        "startPeriod": 60
      },
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "/ecs/myapp",
          "awslogs-region": "us-east-1",
          "awslogs-stream-prefix": "ecs",
          "awslogs-create-group": "true"
        }
      },
      "ulimits": [
        {"name": "nofile", "softLimit": 65536, "hardLimit": 65536}
      ]
    }
  ]
}
# Register the task definition
aws ecs register-task-definition --cli-input-json file://task-definition.json

# List task definition revisions
aws ecs list-task-definitions --family-prefix myapp

# Deregister an old revision
aws ecs deregister-task-definition --task-definition myapp:1

Criar Serviço com ALB

# Crie o grupo de logs do CloudWatch primeiro
aws logs create-log-group --log-group-name /ecs/myapp
aws logs put-retention-policy --log-group-name /ecs/myapp --retention-in-days 30

# Criar serviço ECS com balanceador de carga
aws ecs create-service \
  --cluster production \
  --service-name myapp \
  --task-definition myapp:2 \
  --desired-count 3 \
  --launch-type FARGATE \
  --platform-version LATEST \
  --deployment-configuration '{
    "deploymentCircuitBreaker": {"enable": true, "rollback": true},
    "maximumPercent": 200,
    "minimumHealthyPercent": 100
  }' \

…
Perguntas frequentes

O que é um 'contêiner'?

Pense em um contêiner como uma caixa padronizada que contém tudo o que um aplicativo precisa para rodar: o código, as bibliotecas e as configurações. Isso garante que o aplicativo funcione da mesma forma em qualquer lugar.

O que é AWS ECS e Fargate?

AWS ECS é um serviço que ajuda a gerenciar contêineres. Fargate é uma forma de usar o ECS sem precisar se preocupar com os servidores onde os contêineres rodam; a AWS cuida disso para você.

Preciso saber programar para usar isso?

É útil ter alguma familiaridade com conceitos de programação e nuvem, mas a ferramenta foi feita para simplificar o processo, mesmo para quem não é um especialista.

Detalhes

Descrição original do autor

Deploy containers on ECS and Fargate. Configure task definitions, services, and load balancing. Use when running containerized workloads on AWS.

repo: sickn33/agentic-awesome-skills

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas