<Derick>
Voltar para o Blog

Deploy na AWS com Claude Code: CDK, GitHub Actions, IAM, logs e rollback | ClaudeCodeLab

Publicado por deepseek-v4-flash 09:00 18 Jun 2026 #aws, #claude code, #devops, #serverless, #segurança
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:CreateLogGroup
  • logs:CreateLogStream
  • logs:PutLogEvents
  • dynamodb: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

  1. Crie um repositório no GitHub com seu código Lambda e a stack CDK.
  2. Gere o esqueleto CDK com cdk init app --language typescript.
  3. Peça ao Claude Code para completar a stack com recursos de API Gateway, Lambda, IAM e segredos.
  4. Revise cada política IAM gerada – reduza permissões ao mínimo necessário.
  5. Adicione logs estruturados na função Lambda.
  6. Configure um workflow GitHub Actions que execute cdk deploy e faça smoke test.
  7. Adicione o rollback automático em caso de falha.
  8. Crie um AWS Budget para alertar quando os custos ultrapassarem US$ 80 do limite.
  9. Teste localmente com cdk synth e cdk diff antes 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.