Claude Code: guia completo para usar com Amazon Bedrock

Claude Code — assistente de código com Amazon Bedrock na AWS

O Claude Code é o assistente de codificação da Anthropic que opera no terminal, entende projetos inteiros e executa tarefas complexas de forma autônoma. Neste guia você aprende a configurar o Claude Code com Amazon Bedrock — a forma recomendada para times que querem Claude Code na AWS com segurança corporativa, IAM e cobrança por uso.

O que é o Claude Code?

Claude Code é uma ferramenta de desenvolvimento assistido por IA que roda no terminal (CLI). Diferente de extensões pontuais no editor, o Claude Code navega pelo repositório, planeja mudanças, edita vários arquivos e executa comandos — ideal para refatorações, features novas, testes e depuração em escala. Entre assistentes do mercado (Kiro, Amazon Q Developer, Copilot), o Claude Code se destaca pela autonomia e pelo contexto amplo do projeto.

Por que configurar o Claude Code com Amazon Bedrock?

Por padrão, o Claude Code pode usar a API da Anthropic com assinatura. A alternativa Claude Code + Amazon Bedrock roteia todas as chamadas pela AWS: dados permanecem na sua conta, acesso via IAM e pagamento por token. Para quem busca claude code aws com governança, essa é a arquitetura mais adotada em empresas.

O desafio: licenciamento do Claude Code nem sempre se encaixa

A maioria dessas ferramentas opera em um modelo de assinatura mensal por desenvolvedor. Para equipes grandes com uso constante, isso pode fazer sentido. Mas e quando:

  • O time usa a ferramenta de forma esporádica?
  • É necessário testar com um grupo piloto sem comprometer orçamento fixo?
  • Há necessidade de controle granular de custos por time, projeto ou ambiente?
  • Se deseja utilizar modelos de ponta como o Claude Opus 4.6 sem restrições de plano?

Nesses cenários, um modelo de cobrança por demanda — onde você paga apenas pelas chamadas que faz — pode ser significativamente mais vantajoso.

A solução: Claude Code + Amazon Bedrock

O Claude Code suporta nativamente o Amazon Bedrock como backend. Configurar o Claude Code com Bedrock significa não depender da API direta da Anthropic: todas as invocações do Claude Code passam pelo Bedrock, com estas vantagens:

  • Dados dentro da AWS: Todo o fluxo de dados (prompts, respostas, contexto de código) permanece dentro da infraestrutura AWS, sem sair para endpoints externos. Isso simplifica requisitos de compliance e residência de dados.
  • Controle de acesso via AWS IAM: É possível definir com granularidade quais usuários ou roles podem acessar quais modelos, usando policies IAM padrão.
  • Pagamento sob demanda: Cobrança por tokens de input e output consumidos, sem licenciamento, contratos mínimos ou compromissos antecipados.

Com essa configuração, é possível acessar modelos de ponta como o Claude Opus 4.6, Claude Sonnet 4.6 e Claude Haiku 4.5.

Como configurar o Claude Code com Amazon Bedrock

Passo a passo para colocar o Claude Code em produção na AWS com Bedrock como backend de modelos.

Pré-requisitos do Claude Code

  • Uma conta AWS com acesso ao Amazon Bedrock
  • Acesso habilitado ao modelo Claude desejado na região escolhida
  • AWS CLI instalado e configurado
  • Claude Code instalado:
curl -fsSL https://claude.ai/install.sh | bash

Permissões IAM necessárias

O IAM principal utilizado para rodar o Claude Code precisa de permissões para invocar modelos e listar inference profiles:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowModelAndInferenceProfileAccess",
      "Effect": "Allow",
      "Action": [
        "bedrock:InvokeModel",
        "bedrock:InvokeModelWithResponseStream",
        "bedrock:ListInferenceProfiles"
      ],
      "Resource": [
        "arn:aws:bedrock:*:*:inference-profile/*",
        "arn:aws:bedrock:*:*:application-inference-profile/*",
        "arn:aws:bedrock:*:*:foundation-model/*"
      ]
    },
    {
      "Sid": "AllowMarketplaceSubscription",
      "Effect": "Allow",
      "Action": [
        "aws-marketplace:ViewSubscriptions",
        "aws-marketplace:Subscribe"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:CalledViaLast": "bedrock.amazonaws.com"
        }
      }
    }
  ]
}

Passo 1: Configure suas credenciais AWS

Opção A — aws configure com chaves de acesso (indicada para testes rápidos ou contas pessoais):

aws configure

Informe: AWS Access Key ID, AWS Secret Access Key, região (ex: us-east-1) e formato de saída (json).

Opção B — AWS IAM Identity Center (recomendado para organizações, usa credenciais temporárias via SSO):

aws configure sso

Para fazer login e renovar credenciais:

aws sso login --profile <NOME_DO_PROFILE>

Para utilizar esse profile no Claude Code:

export AWS_PROFILE=<NOME_DO_PROFILE>

Passo 2: Crie um Application Inference Profile

Criar um application inference profile com tags permite identificar os custos por time, projeto ou ambiente no Cost Explorer — essencial para governança em organizações com múltiplos desenvolvedores.

Primeiro, identifique o ARN do system-defined inference profile desejado:

aws bedrock get-inference-profile \
  --inference-profile-identifier "us.anthropic.claude-opus-4-6-v1" \
  --region us-east-1 \
  --query "inferenceProfileArn"

Com o ARN obtido, crie o application inference profile com tags:

aws bedrock create-inference-profile \
  --inference-profile-name "backend-dev-opus" \
  --model-source '{"copyFrom":"<ARN_DO_INFERENCE_PROFILE>"}' \
  --tags '[{"key":"Environment","value":"dev"},{"key":"Team","value":"backend"},{"key":"Model","value":"claude-opus-4-6"}]' \
  --region us-east-1

O comando retorna o ARN do novo profile. Copie esse valor para o próximo passo.

Dica

Caso prefira começar sem criar um inference profile, é possível usar diretamente o system-defined profile ID (ex: us.anthropic.claude-opus-4-6-v1). A diferença é que sem o application inference profile não será possível segmentar custos por tags.

Passo 3: Variáveis de ambiente do Claude Code

O Claude Code precisa destas três variáveis para usar o Amazon Bedrock:

export CLAUDE_CODE_USE_BEDROCK=true
export AWS_REGION=us-east-1
export ANTHROPIC_MODEL="arn:aws:bedrock:<SUA_REGIÃO>:<SUA_CONTA>:application-inference-profile/<PROFILE_ID>"

Para persistir no macOS (zsh):

echo 'export CLAUDE_CODE_USE_BEDROCK=true' >> ~/.zshrc
echo 'export AWS_REGION=us-east-1' >> ~/.zshrc
echo 'export ANTHROPIC_MODEL="arn:aws:bedrock:<SUA_REGIÃO>:<SUA_CONTA>:application-inference-profile/<PROFILE_ID>"' >> ~/.zshrc
source ~/.zshrc

Em ambientes Linux (bash):

echo 'export CLAUDE_CODE_USE_BEDROCK=true' >> ~/.bashrc
echo 'export AWS_REGION=us-east-1' >> ~/.bashrc
echo 'export ANTHROPIC_MODEL="arn:aws:bedrock:<SUA_REGIÃO>:<SUA_CONTA>:application-inference-profile/<PROFILE_ID>"' >> ~/.bashrc
source ~/.bashrc

Passo 4: Inicie o Claude Code

claude

O Claude Code utilizará automaticamente o Amazon Bedrock como backend e roteará as chamadas pelo inference profile configurado.

Passo 5: Valide o Claude Code

Dentro do Claude Code, o comando /model confirma o modelo e o ARN do application inference profile em uso.

Exemplo prático com Claude Code: validador de chave PIX

Para ilustrar o potencial do Claude Code, considere um desenvolvedor do setor financeiro que precisa implementar a validação de chaves PIX. O PIX aceita quatro tipos de chave (CPF, CNPJ, email, telefone, EVP), cada um com regras de formato e validação diferentes.

Com o Claude Code rodando via Bedrock, basta descrever o problema em linguagem natural:

Crie um módulo Python com uma função que receba uma chave PIX como string,
identifique automaticamente o tipo (CPF, CNPJ, email, telefone ou EVP)
e valide o formato conforme as regras do Banco Central. Inclua validação
de dígito verificador para CPF e CNPJ. Retorne um dict com o tipo
identificado e se a chave é válida.

Em poucos segundos, o Claude Code gera um módulo completo com as validações, pronto para ser integrado à API. Todo o processamento permanece dentro da infraestrutura AWS, sem que dados sensíveis trafeguem para APIs externas.

Entendendo cross-region inference

Os inference profiles com prefixo us. ou global. habilitam o cross-region inference: o Amazon Bedrock roteia automaticamente as chamadas para diferentes regiões AWS. Isso traz dois benefícios principais:

  • Maior throughput: As chamadas são distribuídas entre regiões, reduzindo a chance de throttling em momentos de alta demanda.
  • Resiliência: Se uma região estiver sobrecarregada, o Amazon Bedrock redireciona automaticamente para outra.

Monitorando o uso do Claude Code no Bedrock

Monitorar o Claude Code via Amazon Bedrock é essencial por três razões: custo, segurança e performance. O Amazon Bedrock oferece múltiplas opções de observabilidade:

GenAI Observability — Logs em tempo real (recomendado)

A forma mais rápida e completa de monitorar as chamadas é pelo Amazon Bedrock GenAI Observability, disponível no console em Observability > Model invocation logging. Os logs aparecem em tempo real e incluem: modelo utilizado, inference profile, tokens de input/output, latência e requisições completas.

AWS CloudTrail — Auditoria de chamadas de API

O Claude Code usa streaming, então o evento registrado é InvokeModelWithResponseStream (não InvokeModel). Os eventos aparecem tipicamente em 5 a 15 minutos após a chamada:

aws cloudtrail lookup-events \
  --lookup-attributes AttributeKey=EventName,AttributeValue=InvokeModelWithResponseStream \
  --max-results 5 \
  --region us-east-1

AWS CloudWatch — métricas agregadas

O Amazon Bedrock publica métricas automaticamente no CloudWatch sob o namespace AWS/Bedrock. As principais métricas disponíveis são:

MétricaDescrição
InvocationsNúmero de chamadas ao modelo
InvocationLatencyTempo de resposta (ms)
InputTokenCountTokens de input consumidos
OutputTokenCountTokens de output gerados
TimeToFirstTokenTempo até o primeiro token (streaming)

Governança de custos com tags

Como o inference profile foi criado com tags (Environment=dev, Team=backend), é possível segmentar os custos no AWS Cost Explorer e criar alertas de orçamento por time ou projeto. No console do Cost Explorer, filtre por Service: Amazon Bedrock e Tag: Team = backend.

Pré-requisito

Para que as tags apareçam no Cost Explorer, elas precisam estar ativadas como cost allocation tags em Billing > Cost allocation tags.

Benefícios desta abordagem

BenefícioDescrição
Pay-per-usePagamento apenas pelos tokens consumidos, sem assinatura mensal fixa por desenvolvedor
Controle de custosTags em inference profiles permitem alocar custos por time, projeto ou ambiente no AWS Cost Explorer
Modelos de pontaAcesso ao Claude Opus 4.6, Sonnet 4.6 e Haiku 4.5
Governança corporativaControle de acesso via IAM, auditoria via CloudTrail, métricas via CloudWatch
Sem lock-inSem assinatura ou compromisso de longo prazo. Se o time parar de usar, o custo vai a zero
SegurançaOs dados não saem do ambiente AWS, tráfego via endpoints privados
EscalabilidadeCross-region inference para maior throughput e resiliência

Conclusão: Claude Code na AWS com Bedrock

O Claude Code é uma das melhores opções de assistente de código no terminal. Usar Claude Code com Amazon Bedrock une essa experiência à governança AWS: IAM, dados na conta, pay-per-use e observabilidade com CloudTrail e CloudWatch — sem depender da API direta da Anthropic.

Se você busca claude code para o time, comece com um piloto via Bedrock, tags no inference profile e alertas de custo. Em poucos minutos o Claude Code roda no terminal com controle total de modelo, gasto e segurança.

A Try>_ apoia empresas na adoção de Claude Code, Bedrock e arquitetura de IA na AWS. Consultoria AWS · Criação de Agentes de IA

Para detalhes de custo por modelo, consulte a página de preços do Amazon Bedrock.

Fonte original: AWS Blog Brasil — Como usar o Claude Code com Amazon Bedrock

Por Guilherme Ricci, Arquiteto de Soluções Sênior para startups na AWS, e Phelipe Fabres, Arquiteto de Soluções da AWS.

Compartilhe este artigo: