Como Automatizar Deployments na AWS com Claude Code [Guia Prático]
Como Automatizar Deployments na AWS com Claude Code [Guia Prático]. Um guia prático com exemplos de código.
Por Que Automatizar Deployments na AWS com Claude Code
Fazer deploy na AWS envolve escrever arquivos de configuração, gerenciar roles IAM, configurar variáveis de ambiente e outras tarefas propensas a erros. O Claude Code pode auxiliar em tudo, desde a geração de código de infraestrutura até a execução de deployments, tudo enquanto entende a estrutura do seu projeto.
Construindo um Projeto AWS CDK
Aqui está um exemplo de como pedir ao Claude Code para construir infraestrutura usando CDK.
> Crie um stack ECS Fargate usando AWS CDK.
> O app é Node.js com um ALB na frente.
> Configure para buscar variáveis de ambiente do SSM Parameter Store.
Vamos ver o código CDK que o Claude Code gera.
import * as cdk from 'aws-cdk-lib';
import * as ecs from 'aws-cdk-lib/aws-ecs';
import * as ec2 from 'aws-cdk-lib/aws-ec2';
import * as elbv2 from 'aws-cdk-lib/aws-elasticloadbalancingv2';
import * as ssm from 'aws-cdk-lib/aws-ssm';
export class AppStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const vpc = new ec2.Vpc(this, 'AppVpc', { maxAzs: 2 });
const cluster = new ecs.Cluster(this, 'AppCluster', { vpc });
const taskDef = new ecs.FargateTaskDefinition(this, 'TaskDef', {
memoryLimitMiB: 512,
cpu: 256,
});
const dbHost = ssm.StringParameter.valueForStringParameter(
this, '/app/prod/DB_HOST'
);
taskDef.addContainer('app', {
image: ecs.ContainerImage.fromAsset('./'),
portMappings: [{ containerPort: 3000 }],
environment: { DB_HOST: dbHost },
logging: ecs.LogDrivers.awsLogs({ streamPrefix: 'app' }),
});
const service = new ecs.FargateService(this, 'Service', {
cluster,
taskDefinition: taskDef,
desiredCount: 2,
});
const lb = new elbv2.ApplicationLoadBalancer(this, 'ALB', {
vpc,
internetFacing: true,
});
const listener = lb.addListener('Listener', { port: 80 });
listener.addTargets('Target', {
port: 3000,
targets: [service],
healthCheck: { path: '/health' },
});
}
}
Integração com Terraform
Você também pode otimizar o gerenciamento de infraestrutura com Terraform usando o Claude Code.
> Defina hospedagem de site estático S3 + CloudFront em terraform/main.tf.
> Configure também WAF com rate limiting.
> Verifique a saída do terraform plan e me diga se há algum problema.
resource "aws_s3_bucket" "site" {
bucket = "my-app-static-site"
}
resource "aws_cloudfront_distribution" "cdn" {
origin {
domain_name = aws_s3_bucket.site.bucket_regional_domain_name
origin_id = "s3-origin"
s3_origin_config {
origin_access_identity = aws_cloudfront_origin_access_identity.oai.cloudfront_access_identity_path
}
}
enabled = true
default_root_object = "index.html"
default_cache_behavior {
allowed_methods = ["GET", "HEAD"]
cached_methods = ["GET", "HEAD"]
target_origin_id = "s3-origin"
viewer_protocol_policy = "redirect-to-https"
forwarded_values {
query_string = false
cookies { forward = "none" }
}
}
restrictions {
geo_restriction { restriction_type = "none" }
}
viewer_certificate {
cloudfront_default_certificate = true
}
}
Integração com GitHub Actions
Você também pode pedir ao Claude Code para configurar seu pipeline de CI/CD.
> Crie um workflow de GitHub Actions.
> Deve executar automaticamente CDK deploy ao fazer push para o branch main.
> Use autenticação OIDC para conectar à AWS.
name: Deploy to AWS
on:
push:
branches: [main]
permissions:
id-token: write
contents: read
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::123456789012:role/deploy-role
aws-region: us-east-1
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npx cdk deploy --require-approval never
Solução de Problemas de Deployment
Quando erros de deployment ocorrem, você também pode pedir ao Claude Code para analisá-los.
> Recebi o seguinte erro do cdk deploy. Me diga a causa e como corrigir:
> Error: The security group 'sg-xxx' does not exist
O Claude Code cruza a mensagem de erro com a estrutura do seu projeto para identificar problemas de configuração de VPC ou security group. Para workflows gerais de solução de problemas, consulte 10 Dicas para Triplicar Sua Produtividade com Claude Code.
Melhores Práticas para Automação de Deployment
- Separar configurações de ambiente: Trocar ambientes usando
contextnocdk.json - Detecção de drift: Executar
cdk diffregularmente para verificar discrepâncias - Estratégia de rollback: Preparar configurações de Blue/Green deployment antecipadamente
Ao documentar essas configurações no CLAUDE.md, o Claude Code sempre gerará código alinhado com as diretrizes do seu projeto. Para mais informações sobre o uso do CLAUDE.md, consulte o guia completo do CLAUDE.md.
Resumo
Com o Claude Code, você pode otimizar todo o workflow de deployment - desde a configuração de infraestrutura AWS até a configuração de pipeline CI/CD. Funciona igualmente com CDK, Terraform e SAM. Comece com um stack pequeno e expanda gradualmente sua automação.
Para mais informações sobre o Claude Code, consulte a documentação oficial da Anthropic. Para melhores práticas da AWS, consulte o AWS Well-Architected Framework.
Related Posts
Como Turbinar Seus Projetos Pessoais com o Claude Code [Com Exemplos]
Aprenda a acelerar drasticamente projetos de desenvolvimento pessoal usando o Claude Code. Inclui exemplos reais e um workflow prático da ideia ao deploy.
Como Automatizar Refatoração com o Claude Code
Aprenda a automatizar refatoração de código de forma eficiente usando o Claude Code. Inclui prompts práticos e padrões concretos de refatoração para projetos reais.
Guia Completo de Configuração CORS com Claude Code
Aprenda sobre o guia completo de configuração CORS usando o Claude Code. Dicas práticas e exemplos de código incluídos.