本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Lambda MicroVMs做為 Claude Managed Agents 的沙盒
AWS Lambda MicroVMs 是自我託管沙盒中的受管沙盒供應商,適用於 Claude Managed Agents;在您控制的基礎設施中保留敏感檔案、套件和服務。人類託管代理程式迴圈和 Claude 模型,而 Lambda MicroVM 是工具呼叫執行的位置。透過此模式,您可以控制執行環境 – 安裝的內容、可用的網路存取,以及代理程式可以存取的資源。
每個 MicroVM 都是 Firecracker 隔離的虛擬機器,具有快照型次秒啟動,執行時間長達 8 小時,並且可以在工作階段結束時終止。工作階段永遠不會共用狀態。您可以取得 VM 的安全界限,其操作模型為無伺服器 – 無需管理叢集,無需支付閒置容量。您可以使用 AWS 服務協調 MicroVMs以實作自我託管沙盒規格,如下所述。如需詳細資訊,請參閱 Lambda MicroVMs 上的 Claude Managed Agents 自我託管沙盒
運作方式
控制平面會為每個 Claude 工作階段啟動一個 MicroVM:
-
工作階段達到執行中狀態,而 Anthropic 會將
session.status_run_startedWebhook 傳送至您帳戶中的端點。 -
啟動器 Lambda 函數會驗證 Webhook 簽章,然後呼叫
RunMicroVM。 -
MicroVM 上的程式碼會宣告工作階段、在 中執行工具呼叫 (bash、read、 write、 edit、glob、grep)
/workspace,並將結果發佈回 Anthropic。 -
工作階段結束時,MicroVM 會暫停或終止。
您的 Anthropic 組織 API 金鑰永遠不會達到 AWS 運算。啟動器只會將 AWS Secrets Manager 參考傳遞至您的 Anthropic 環境金鑰;MicroVM 的執行角色允許程式碼在執行時間讀取。
金鑰屬性
| 屬性 | 優勢 |
|---|---|
| Firecracker 隔離 | 每個工作階段的硬體虛擬化界限 |
| 快照型開機 | 從 Firecracker 快照以次秒到單位數秒為單位繼續 |
| 透過 IMDSv2 的 IAM | 使用短期最低權限登入資料 |
| 狀態持續時間 | 可使用完整磁碟和記憶體存取執行長達 8 小時 |
| Pay-per-session | 工作階段完成時會終止 MicroVMs,這會結束計費 |
先決條件
-
具有 Amazon Simple Storage Service (Amazon S3) AWS Identity and Access Management 、 (IAM)、Secrets Manager、、 AWS WAF、Lambda 和 Lambda MicroVMs 許可 AWS 的帳戶
-
具有
self_hosted環境的 Claude Managed Agents 代理程式 -
來自 Claude Console 的環境金鑰和 Webhook 簽署秘密
部署參考實作
Lambda MicroVMs 儲存庫上的 Claude Managed Agents 自我託管沙盒
-
CloudFormation 堆疊 (Amazon API Gateway、啟動器 Lambda 函數、Secrets Manager 秘密、Amazon S3 儲存貯體、IAM 角色)
-
MicroVM 映像 (
Dockerfile、Node.js EnvironmentWorker、生命週期掛鉤) -
部署指令碼和驗證指令碼
部署步驟:
-
部署 CloudFormation 堆疊。
-
將環境金鑰和簽署秘密存放在建立的 Secrets Manager 秘密中。
-
建置 MicroVM 映像。
-
在 Claude 主控台中註冊堆疊的 Webhook URL。
-
透過建立工作階段進行驗證。
如需詳細說明,請參閱儲存庫 README。
聯網
根據預設,Lambda MicroVMs具有公有網際網路存取 – 不需要組態即可到達 api.anthropic.com。
若要存取 Amazon Aurora 資料庫或 Amazon ElastiCache 叢集等私有資源,或套用您自己的網路限制,請在啟動時連接 VPC 輸出連接器。請參閱 使用輸出網路連接器。
閒置政策
autoResumeEnabled: false 為每個工作階段 MicroVMs設定 suspendedDurationSeconds: 0和 。maximumDurationInSeconds 設定為停滯工作階段的上限 (最多 28,800 秒)。
{ "maxIdleDurationSeconds": 120, "suspendedDurationSeconds": 0, "autoResumeEnabled": false }
監控
應用程式日誌 – 檢閱 CloudWatch Logs 中的應用程式日誌:
aws logs tail /aws/lambda-microvms/claude-worker --follow
執行MicroVMs – 列出您帳戶中執行MicroVMs:
aws lambda-microvms list-microvms \ --image-identifier claude-worker \ --query 'items[].[microvmId,state,startedAt]' --output table
疑難排解
| 徵狀 | 原因 |
|---|---|
| Webhook 傳回 401 | 簽署秘密不相符或過時交付 |
| 沒有 MicroVM 啟動 | Webhook 未註冊 session.status_run_started,或啟動器 Lambda 函數執行角色缺少RunMicroVM許可 |
| MicroVM 會立即終止 | /run 勾點逾時 – 提升 runTimeoutInSeconds |
| 工作者立即結束 | 將 HTTPS 傳出至api.anthropic.com封鎖 |
映像建置失敗 S3_* |
建置角色或儲存貯體組態錯誤 |