View a markdown version of this page

Usando o Lambda MicroVMS como sandbox para Claude Managed Agents - AWS Lambda

Usando o Lambda MicroVMS como sandbox para Claude Managed Agents

O AWS Lambda MicroVMS é um provedor de sandbox gerenciado em sandboxes auto-hospedadas para Claude Managed Agents, mantendo arquivos, pacotes e serviços confidenciais na infraestrutura que você controla. O Anthropic hospeda o loop do agente e o modelo do Claude, enquanto o Lambda MicroVM é onde as chamadas das ferramentas são executadas. Com esse padrão, você controla o ambiente de execução, o que é instalado, qual acesso à rede está disponível e quais recursos o agente pode acessar.

Cada microVM é uma máquina virtual isolada do Firecracker com startup em menos de um segundo baseada em snapshot, funciona por até 8 horas e pode ser encerrada quando a sessão termina. As sessões nunca compartilham o estado. Você obtém o limite de segurança de uma VM com o modelo operacional de tecnologia sem servidor, sem clusters para gerenciar, sem capacidade ociosa para pagar. Você pode orquestrar as microVMs com os serviços da AWS para implementar a especificação da sandbox auto-hospedada, conforme descrito abaixo. Analise o exemplo de referência em Sandboxes auto-hospedadas do Claude Managed Agents no Lambda MicroVMS para obter mais detalhes.

Como funciona

Um ambiente de gerenciamento inicia uma microVM por sessão do Claude:

  1. Uma sessão atinge o estado de execução e o Anthropic envia um webhook session.status_run_started para um endpoint em sua conta.

  2. Uma função do Lambda do inicializador verifica a assinatura do webhook e, em seguida, chama RunMicroVM.

  3. Seu código na microVM reivindica a sessão, executa chamadas de ferramentas (bash, read, write, edit, glob, grep) em /workspace e publica os resultados no Anthropic.

  4. A microVM é suspensa ou encerrada quando a sessão termina.

A chave da API da organização da Anthropic nunca chega à computação da AWS. O inicializador só passa uma referência do AWS Secrets Manager para a chave do ambiente da Anthropic e a função de execução da microVM permite que o código a leia em runtime.

Principais propriedades

Propriedade Benefício
Isolamento do Firecracker Limite virtualizado por hardware por sessão
Inicialização baseada no snapshot Retomar a partir do snapshot do Firecracker em menos de um segundo para segundos de um dígito
IAM por meio do IMDSv2 Usa credenciais de curto prazo com privilégios mínimos
Duração por estado Pode funcionar por até 8 horas com acesso total ao disco e à memória
Pagamento por sessão As microVMs são encerradas quando as sessões são concluídas, o que encerra o faturamento

Pré-requisitos

  • Uma conta AWS com permissões para Amazon Simple Storage Service (Amazon S3), AWS Identity and Access Management (IAM), Secrets Manager, AWS WAF, Lambda e Lambda MicroVMS

  • Um agente do Claude Managed Agents com um ambiente self_hosted

  • Uma chave de ambiente e um segredo de assinatura do webhook do Claude Console

Implantando a implementação de referência

Diagrama de arquitetura mostrando a implementação de referência de sandboxes auto-hospedadas do Claude no Lambda MicroVMS

As sandboxes auto-hospedadas do Claude Managed Agents no repositório do Lambda MicroVMS fornecem uma implantação mínima e funcional. Inclui:

  • Uma pilha CloudFormation (Amazon API Gateway, função do Lambda do iniciador, segredos do Secrets Manager, bucket do Amazon S3, perfis do IAM)

  • Uma imagem da microVM (Dockerfile, Node.js EnvironmentWorker, ganchos do ciclo de vida)

  • Um script de implantação e um script de verificação

Etapas da implantação:

  1. Implante a pilha CloudFormation.

  2. Armazene a chave do ambiente e o segredo de assinatura nos segredos do Secrets Manager que forem criados.

  3. Compile a imagem da microVM.

  4. Registre o URL do webhook da pilha no Claude Console.

  5. Faça a verificação criando uma sessão.

Para obter instruções detalhadas, consulte README do repositório.

Redes

O Lambda MicroVMS tem acesso público à internet por padrão e, portanto, nenhuma configuração é necessária para acessar api.anthropic.com.

Para acessar recursos privados, como um banco de dados do Amazon Aurora, o cluster do Amazon ElastiCache ou para aplicar suas próprias restrições de rede, vincule um conector de saída de VPC no momento da inicialização. Consulte Trabalho com conectores de rede de saída.

Política de inatividade

Defina suspendedDurationSeconds: 0 e autoResumeEnabled: false para microVMs por sessão. Defina maximumDurationInSeconds como teto para as sessões paralisadas (máximo de 28.800 s).

{ "maxIdleDurationSeconds": 120, "suspendedDurationSeconds": 0, "autoResumeEnabled": false }

Monitoramento

Logs da aplicação: analise os logs da aplicação no CloudWatch Logs:

aws logs tail /aws/lambda-microvms/claude-worker --follow

MicroVMs em execução: liste as microVMs em execução na sua conta:

aws lambda-microvms list-microvms \ --image-identifier claude-worker \ --query 'items[].[microvmId,state,startedAt]' --output table

Solução de problemas

Sintomas Causa
O webhook retorna 401 Incompatibilidade de segredo da assinatura ou entrega obsoleta
Nenhuma microVM é iniciada Webhook não registrado para session.status_run_started ou o perfil de execução da função do Lambda do iniciador não possui a permissão RunMicroVM
A microVM é encerrada imediatamente Tempo limite do hook /run: aumente runTimeoutInSeconds
O operador sai imediatamente HTTPS de saída para api.anthropic.com bloqueado
A compilação da imagem produz falha em S3_* Configuração incorreta do perfil de compilação ou do bucket