Deploy na AWS com Claude Code: CDK, GitHub Actions, IAM, logs e rollback | ClaudeCodeLab
Deploy Seguro na AWS com Claude Code: CDK, IAM e GitHub Actions do Jeito Certo
Introdução: O perigo do "aceite a primeira resposta"
Se você já usou Claude Code para deploy na AWS, provavelmente já sentiu a tentação de digitar "crie uma arquitetura AWS" e simplesmente aceitar a primeira resposta. Esse é o jeito arriscado. Deploy pronto para operar não é só diagrama. Ele precisa de IaC executável, IAM com permissões limitadas, gestão de segredos, logs, rollback e limites de custo.
Neste guia, vamos implementar um caminho seguro e production‑ready para uma aplicação web pequena ou API usando API Gateway + Lambda + AWS CDK + GitHub Actions. Você vai aprender a usar Claude Code como um copiloto inteligente, e não como um oráculo cego.
Por que serverless mudou as regras do jogo
Antes de mergulharmos no deploy, precisamos entender por que o modelo serverless é a base ideal para projetos modernos.
No modelo tradicional, você provisiona servidores, configura sistema operacional, instala runtime – e depois paga por capacidade ociosa. Com AWS Lambda, você escreve apenas a função, e a AWS cuida da escalabilidade, disponibilidade e manutenção. Em 2026, o Lambda processa bilhões de invocações diariamente e se consolidou como a escolha padrão para APIs, processamento de eventos e automações.
Serverless elimina a necessidade de gerenciar servidores, permitindo focar exclusivamente no código. Isso casa perfeitamente com o uso de Claude Code: a IA gera funções Lambda e recursos de infraestrutura, enquanto você mantém o controle sobre segurança e custos.
Arquitetura proposta: API Gateway + Lambda + CDK
Nosso objetivo é uma API HTTP simples, mas com todos os componentes de um ambiente de produção:
- API Gateway HTTP → endpoint público
- Função Lambda → lógica de negócio (Node.js ou Python)
- AWS CDK → definição da infraestrutura como código
- GitHub Actions → pipeline de CI/CD
- IAM roles com privilégios mínimos
- CloudWatch Logs estruturados
- Rollback automático via CloudFormation
- AWS Budgets para alertas de custo
Componentes chave do deploy seguro
1. Infraestrutura como Código com AWS CDK
O Claude Code pode gerar stacks CDK, mas você deve revisar e testar cada recurso. Exemplo de stack minimalista:
import * as cdk from 'aws-cdk-lib';
import * as lambda from 'aws-cdk-lib/aws-lambda';
import * as apigw from 'aws-cdk-lib/aws-apigateway';
export class ApiStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const handler = new lambda.Function(this, 'MyFunction', {
runtime: lambda.Runtime.NODEJS_20_X,
handler: 'index.handler',
code: lambda.Code.fromAsset('lambda'),
environment: {
TABLE_NAME: 'my-table',
},
});
new apigw.LambdaRestApi(this, 'MyApi', {
handler,
proxy: false,
});
}
}
Dica: nunca deixe o Claude gerar permissões AdministratorAccess. Use políticas customizadas.
2. IAM com privilégios mínimos
O erro mais comum ao usar IA para infraestrutura é gerar roles excessivamente permissivas. Para nossa API, o Lambda precisa apenas:
logs:CreateLogGrouplogs:CreateLogStreamlogs:PutLogEventsdynamodb:GetItem(se usar DynamoDB)
Isso deve ser definido explicitamente no CDK, nunca no console manualmente.
handler.addToRolePolicy(new iam.PolicyStatement({
actions: ['dynamodb:GetItem'],
resources: [table.tableArn],
}));
3. Gestão de segredos
Chaves de API, tokens de terceiros e senhas nunca devem ficar hardcoded. Use AWS Systems Manager Parameter Store ou Secrets Manager. No CDK:
const secret = new secretsmanager.Secret(this, 'ApiSecret', {
secretName: 'my-app/external-key',
});
Passe o segredo como variável de ambiente para o Lambda.
4. Logs estruturados
Logs salvam sua pele em produção. Configure o Lambda para enviar logs estruturados (JSON) para CloudWatch Logs. Exemplo em Node.js:
console.log(JSON.stringify({
level: 'info',
requestId: context.awsRequestId,
message: 'Processando requisição',
latency: performance.now() - startTime,
}));
No CloudWatch, você pode criar dashboards e alarmes baseados em métricas como Errors e Throttles.
5. Rollback automático com GitHub Actions e CloudFormation
O AWS CDK usa CloudFormation por baixo dos panos. Isso significa que você pode reverter uma implantação defeituosa facilmente.
No seu workflow do GitHub Actions, após o deploy, execute um teste de fumaça. Se falhar, acione o rollback:
- name: Deploy stack
run: npx cdk deploy --require-approval never
- name: Smoke test
run: curl -f https://minha-api.execute-api.us-east-1.amazonaws.com/health
- name: Rollback on failure
if: failure()
run: npx cdk rollback
Importante: a stack CDK gera um change set que pode ser desfeito. O CDK suporta cdk rollback a partir de versões recentes.
6. Limites de custo
Serverless é barato, mas vazamentos de API ou loops infinitos podem gerar contas astronômicas. Configure AWS Budgets:
new budgets.CfnBudget(this, 'MonthlyBudget', {
budget: {
budgetName: 'MonthlyLimit',
budgetLimit: { amount: 100, unit: 'USD' },
timeUnit: 'MONTHLY',
budgetType: 'COST',
},
notificationsWithSubscribers: [{
notification: {
comparisonOperator: 'GREATER_THAN',
threshold: 80,
notificationType: 'ACTUAL',
},
subscribers: [{ address: 'email@exemplo.com', subscriptionType: 'EMAIL' }],
}],
});
Além disso, nunca exponha endpoints sem autenticação para o mundo real. Use API Keys ou Cognito.
Passo a passo: configurando o pipeline completo
- Crie um repositório no GitHub com seu código Lambda e a stack CDK.
- Gere o esqueleto CDK com
cdk init app --language typescript. - Peça ao Claude Code para completar a stack com recursos de API Gateway, Lambda, IAM e segredos.
- Revise cada política IAM gerada – reduza permissões ao mínimo necessário.
- Adicione logs estruturados na função Lambda.
- Configure um workflow GitHub Actions que execute
cdk deploye faça smoke test. - Adicione o rollback automático em caso de falha.
- Crie um AWS Budget para alertar quando os custos ultrapassarem US$ 80 do limite.
- Teste localmente com
cdk synthecdk diffantes de fazer push.
Conclusão
Usar Claude Code para deploy na AWS pode acelerar drasticamente seu desenvolvimento – desde que você mantenha o controle sobre segurança, logs e custos. O segredo não está em evitar a IA, mas em criar um framework de validação em volta dela.
Neste guia, você viu como construir uma API serverless completa com API Gateway, Lambda, CDK e GitHub Actions, seguindo as melhores práticas de IAM, segredos, logs e rollback. Agora é sua vez: implemente esses passos no seu próximo projeto e reduza os riscos a zero.
Lembre-se: deploy seguro não é sorte, é engenharia.