

# Usando o Lambda MicroVMS como sandbox para Claude Managed Agents
<a name="microvms-integrations-claude-managed-agents"></a>

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](https://github.com/aws-samples/sample-lambda-microvm-claude-managed-agents) para obter mais detalhes.

## Como funciona
<a name="microvms-integrations-claude-how-it-works"></a>

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.

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

1. 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.

1. 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
<a name="microvms-integrations-claude-properties"></a>


| 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
<a name="microvms-integrations-claude-prereqs"></a>
+ 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
<a name="microvms-integrations-claude-deploy"></a>

![Diagrama de arquitetura mostrando a implementação de referência de sandboxes auto-hospedadas do Claude no Lambda MicroVMS](http://docs.aws.amazon.com/pt_br/lambda/latest/dg/images/microvms-claude-managed-agents-architecture.png)


As [sandboxes auto-hospedadas do Claude Managed Agents no repositório do Lambda MicroVMS](https://github.com/aws-samples/sample-lambda-microvm-claude-managed-agents) 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.

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

1. Compile a imagem da microVM.

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

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

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

## Redes
<a name="microvms-integrations-claude-networking"></a>

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](microvms-networking.md#microvms-networking-connectors).

## Política de inatividade
<a name="microvms-integrations-claude-idle-policy"></a>

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
<a name="microvms-integrations-claude-monitoring"></a>

**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
<a name="microvms-integrations-claude-troubleshooting"></a>


| 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 | 