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
Como funciona
Um ambiente de gerenciamento inicia uma microVM por sessão do Claude:
-
Uma sessão atinge o estado de execução e o Anthropic envia um webhook
session.status_run_startedpara um endpoint em sua conta. -
Uma função do Lambda do inicializador verifica a assinatura do webhook e, em seguida, chama
RunMicroVM. -
Seu código na microVM reivindica a sessão, executa chamadas de ferramentas (bash, read, write, edit, glob, grep) em
/workspacee publica os resultados no Anthropic. -
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
As sandboxes auto-hospedadas do Claude Managed Agents no repositório do Lambda MicroVMS
-
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:
-
Implante a pilha CloudFormation.
-
Armazene a chave do ambiente e o segredo de assinatura nos segredos do Secrets Manager que forem criados.
-
Compile a imagem da microVM.
-
Registre o URL do webhook da pilha no Claude Console.
-
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 |