セルフホスト型サンドボックス
Claude Managed Agentsのセッションをセルフホスト型サンドボックスで実行し、ツールの実行、ファイル、ネットワークのエグレスを自社のインフラストラクチャ内に保持します。
セルフホスト型サンドボックスは、エージェントのツール実行をAnthropicが管理するクラウドサンドボックスから、お客様が管理するインフラストラクチャへと移します。エージェント自体の実行は引き続きAnthropicが担います。これが何を意味するのかを理解し、お使いのエージェントに適しているかどうかを判断するには、エージェント環境の選択を参照してください。
仕組み
self_hosted環境はワークキューとして機能します。お客様は、そのキューを処理する自社インフラストラクチャ上のプロセスである「environment worker」(環境ワーカー)を実行します。
- 環境を対象とするセッションを作成します。Anthropicはそのセッションをワークアイテムとしてキューに追加します。
- ワーカーがワークアイテムを取得し、エージェントのスキルとセッションのメモリストアをダウンロードします。
- ClaudeはAnthropic側で実行され、ツール呼び出しをリクエストします。ワーカーは各呼び出しをローカルで実行し、結果を送り返します。
ツールの入力と出力は引き続きAnthropicのコントロールプレーンに送られるため、モデルは結果を確認して次に何をすべきかを判断できます。スキルとメモリストアはAnthropicが保存します。サンドボックスはセッション用のコピーを保持します。データフローの境界の全体像については、セキュリティモデルを参照してください。
セルフホスト型サンドボックスは、Managed Agentsで利用可能なすべてのClaudeモデルをサポートしています。モデルは環境ではなくエージェントで設定します。
ant CLIと、Python、TypeScript、GoのSDKには、ビルド済みのワーカーが付属しています。Cloudflare、Daytona、Modalなどのサンドボックスプロバイダーも、独自のプラットフォームガイドを公開しています。
クイックスタート
このクイックスタートでは、ant CLIで常時稼働のワーカーを1つ実行し、そこにセッションを送信して、エージェントのツール呼び出しがお客様のホスト上で実行されたことを確認します。
前提条件
- エージェント: まだお持ちでない場合は、先にClaude Managed Agentsを始めるを完了し、エージェントIDを控えておいてください。
- Linuxホスト: ホストには、まさにそのパスに
/bin/bashが必要です。ワーカーに必要なのはアウトバウンドのHTTPSのみです。 - Claude APIキー: セッションの作成とキュー統計の読み取りのために、お客様自身のマシンから使用します。エージェントのツール呼び出しから読み取られる可能性があるため、ワーカーホストには置かないでください。
- お客様自身のマシン上の
antCLIまたはSDK: このクイックスタートの統計とセッションの手順は、ワーカーホストではなくそこで実行します。ワーカー用のインストール手順と同じ方法でCLIをインストールするか、SDKをインストールしてください。
最初のセッションを実行する
セルフホスト型環境を作成する
Claude ConsoleでEnvironmentsページ(
platform.claude.com/environments)に移動し、Create environmentをクリックして、HostingでSelf-hostedを選択します。またはAPIを使用します:
CLIant apply environment.yamlenvironment.yaml# yaml-language-server: $schema=https://platform.claude.com/schemas/ant/beta/environment.json name: self-hosted config: type: self_hosted環境キーを生成する
Consoleで環境を開き、Generate environment keyをクリックします。環境キーは、ワーカーをそのキューに対して認証します。APIで作成した環境であっても、環境キーはConsoleでのみ生成できます。
ワーカーホストで環境IDとキーをエクスポートします:
export ANTHROPIC_ENVIRONMENT_KEY="sk-ant-oat01-..." export ANTHROPIC_ENVIRONMENT_ID="env_..."ant CLIをインストールする
これをワーカーホストで実行します。
Linux環境では、リリースバイナリを直接ダウンロードします。
VERSION=1.42.0 OS=$(uname -s | tr '[:upper:]' '[:lower:]') case $(uname -m) in x86_64) ARCH=amd64 ;; aarch64) ARCH=arm64 ;; esac curl -fsSL "https://github.com/anthropics/anthropic-cli/releases/download/v${VERSION}/ant_${VERSION}_${OS}_${ARCH}.tar.gz" \ | sudo tar -xz -C /usr/local/bin antすべてのリリースはGitHubのリリースページで確認できます。
brew install anthropics/tap/antワーカーを起動する
作業ディレクトリを作成してから、ワーカーを起動します。
--workdirのデフォルトは現在のディレクトリなので、システムのデフォルトに合わせて/workspaceを渡してください。sudo mkdir -p /workspace && sudo chown "$USER" /workspace ant beta:worker poll --workdir /workspaceワーカーはエクスポートした2つの変数を読み取り、停止するまでポーリングを続けます。
ワーカーが接続されていることを確認する
お客様自身のマシンで、
ANTHROPIC_API_KEYにClaude APIキー(環境キーではありません)を、environment_idに環境IDを設定します。workers_pollingが1以上であることを確認してください:Pythonclient = anthropic.Anthropic() stats = client.beta.environments.work.stats(environment_id) print(f"workers_polling={stats.workers_polling}")workers_pollingが0のままの場合は、トラブルシューティングを参照してください。セッションを開始する
agent_idにエージェントのIDを設定します。環境を対象とするセッションを作成し、タスクを送信します:Pythonsession = client.beta.sessions.create( agent=agent_id, environment_id=environment_id, ) client.beta.sessions.events.send( session.id, events=[ { "type": "user.message", "content": [ { "type": "text", "text": 'Write the output of "uname -a" to hello.txt in your working directory.', }, ], }, ], )セッションは、ワーカーが取得するまで環境のキューで待機します。ワーカーが接続されていない場合、セッションは失敗せずにキューに入ったままになります。
ツールがホスト上で実行されたことを確認する
ワーカーホストで、エージェントが書き込んだファイルを読み取ります:
cat /workspace/hello.txtこのファイルにはお客様自身のホストのカーネルが記述されているため、エージェントのツール呼び出しがそこで実行されたことがわかります。エージェントの作業をリアルタイムで追跡するには、セッションイベントストリームを参照してください。
セッションリソース
セルフホスト型サンドボックスはmemory_storeリソースのみをサポートします。fileまたはgithub_repositoryリソースを含むセルフホスト型環境上のセッションは、400エラーで拒否されます:
Environment env_... is a self-hosted environment. `resources` are not supported with self-hosted environments.セルフホスト型環境を対象とするデプロイメントにも同じルールが適用されます。セッションに独自の入力ファイルを渡すには、セッション用にファイルをステージングするを参照してください。
セルフホスト型サンドボックスとMCPトンネル
セルフホスティングはエージェントのコードがどこで実行されるかを制御します。MCPトンネルはAnthropicがお客様のネットワーク内のMCPサーバーにどのように到達するかを制御します。この2つは独立しています:
- Anthropicのクラウドサンドボックス内のセッションは、トンネルを介してプライベートなMCPサーバーに到達できます。たとえば、プライベートなMCPサーバーが、ファイアウォールの内側にあるデータベースや内部APIの前段に配置されている場合があります。
- セルフホスト型のセッションは、トンネル経由のMCPサーバーとパブリックなMCPサーバーのどちらも使用できます。
実行とツールアクセスの両方を境界内にとどめたい場合は、両方を使用してください。トンネルを使わない場合は、ワーカーが提供するカスタムツールとしてMCPサーバーをラップします。
プラットフォームガイド
これらのページでは、任意のサンドボックスプラットフォーム上でワーカーを構築する方法を説明しています。プラットフォーム固有のガイドも利用できます:
- AWS Lambda MicroVMs
- Blaxel
- Cloudflare
- Daytona
- E2B
- Fly.io
- GKE Agent Sandbox
- Modal
- Namespace
- Superserve
- Vercel
次のステップ
SDKワーカーを実行する、Webhookからワーカーをトリガーする、または各セッションに専用のサンドボックスを割り当てます。
ホストを準備し、同期を設定し、読み取り専用ストアと競合を処理します。
ネットワーク内のMCPサーバーのツールを含め、独自のツールをワーカーから提供します。
キューの深さを読み取り、セッションとワーカーを正常に停止し、一般的な障害を修正します。
CLIフラグ、環境変数、ファイルシステムのパス、SDKヘルパーのオプション。
セルフホスト型サンドボックス環境の責任共有モデル。
Was this page helpful?