E2B sandboxes: 料金、ライフサイクル、代替手段
E2B sandbox は、アプリケーションがコードを実行し、ファイルを扱うためのリモート環境を提供します。 sandbox プロバイダを選ぶには、実行 API、セッションの存続時間、同時実行数、ネットワーク制御、保持される状態、総コストを比較してください。CPU 単価が低いだけでは、エージェントがタスクを確実に完了できるかは分かりません。
このガイドは Lizard によるものです。リンク先の料金ページと SDK ドキュメントは 2026年9月9日 に確認しました。比較対象は、文書化された挙動と説明用の計算例であり、プロバイダの実測パフォーマンスではありません。
sandbox がエージェントにもたらすもの
エージェントはプログラムを生成できても、それを実行する適切な場所がないことがあります。sandbox は、エージェントを調整するアプリケーションから分離された実行環境を提供します。
コーディネータはコードやコマンドを送信し、出力とファイルを収集し、次に何をするかを判断します。また、失敗したコマンド、タイムアウトしたセッション、クリーンアップも処理しなければなりません。分離は有用ですが、認証情報、外部システム、非公開データへのアクセスには、依然として明確な方針が必要です。
E2B の quickstart では、SDK を通じたコード実行とファイルアクセスが示されています。小さなタスクから始めて、より大きなエージェントループに接続する前に、出力とエラーの両方を確認してください。
E2B の料金: プランとランタイムを分けて考える
E2B は、1 回限りの $100 クレジット、最長 1 時間のセッション、20 個の同時 sandbox を含む無料の Hobby プランを掲載しています。Pro では、月額基本料 $150 に加えて従量課金、最長 24 時間のセッション、より高い同時実行上限が示されています。プラン料金はランタイム料金そのものではありません。E2B pricing。
2 vCPUs と 4 GiB で合計 1,000 稼働時間という例示的なワークロードについて、公開されている秒単位料金を使用します。
CPU: 1,000 × 3,600 × 2 × $0.000014 = $100.80
Memory: 1,000 × 3,600 × 4 × $0.0000045 = $64.80
Runtime subtotal: $165.60
With the $150 Pro base: $315.60 before tax and other chargesこの E2B の例には、トライアルクレジット、税金、有料の同時実行追加枠、その他の利用料金は含まれていません。ランタイム合計はすべての sandbox の合算です。セッション上限と同時実行上限は別途確認してください。
同じ計算例を Lizard で行う場合
Lizard は Sandboxes をサイズ別に、秒単位の定額料金で提供しています。Small サイズは 2 vCPUs と 4 GiB のメモリで、E2B の例と同じ割り当てであり、料金は 1 時間あたり $0.0162 です。CPU、メモリ、アイドル時間、5 GB のワークスペースディスク、アカウントあたり 30 日間で最大 2 TB の送信トラフィックが含まれます。
Small sandbox: 1,000 × $0.0162 = $16.20 of usage
Lizard Pro: $19/month, includes $19 of usage
Monthly bill: $19.00この例では、Lizard のほうが計算コストは低くなります: $16.20 に対して E2B は $165.60 です。 Lizard Pro は月額 $19(税込)で、この使用量をカバーするため、請求額は $19 になります。これを E2B Hobby の $165.60、または税引前で E2B Pro の月額基本料を含む $315.60 と比較してください。どちらの金額にも、追加ストレージやその他のサービスは含まれていません。E2B Hobby には基本料金がありません。要件を満たすなら、Pro の料金を加えないでください。
これは料金計算であり、実測パフォーマンスの結果ではありません。プロバイダを選ぶ前に、制限と保持される状態を確認してください。確認元は 2026年9月15日 時点の E2B pricing と Lizard pricing です。
運用上の契約を比較する
| Provider | 最初に確認すべき点 | トライアルでの確認事項 |
|---|---|---|
| E2B | コード実行、テンプレート、セッションプラン | あなたのタスクはセッション上限と同時実行上限の中で完了できますか? |
| Daytona | sandbox のライフサイクルとリソース課金 | セッションが停止したとき、ストレージと課金はどうなりますか? |
| Modal | sandbox リソースと Modal の他機能との統合 | 起動、実行、保存された出力はあなたのワークフローにどう適合しますか? |
| Lizard | Lizard SDK, Firecracker microVMs, サイズ別の定額料金 | ライフサイクル; /workspace; リソースと有効期間 |
Daytona は、コンピュート、メモリ、ストレージを個別に掲載しています。Modal のサンドボックス ドキュメント では、実行、ネットワーク、ライフサイクル制御が説明されています。挙動を比較するときは、それらの個別ドキュメントを使ってください。“pause” のような共通の語でも、同じストレージ保証を意味するとは限りません。
ライフサイクル
Lizard Sandboxes は、それぞれ独自のカーネルを持つ Firecracker microVM として、短時間のコマンドやエージェントのタスクを実行します。既存の Pod ベースの Persistent Volume を接続した sandbox や、古い Pod snapshot から復元した sandbox は、代わりに Kubernetes Pod(runc、ホストのカーネルを共有)として動作します。どちらで動いているかは getInfo().runtime で確認できます。信頼できないコードを実行する際は、認証情報とネットワークへのアクセスを制限してください。
sandbox を作成してコマンドを実行し、終了後に kill を呼び出します。connect は状態を変えずに既存の sandbox に接続するもので、一時停止中または停止済みの sandbox を再開しません。一時停止、再開、snapshot、restore を利用できます。fork は Firecracker の sandbox で使え(sandbox.fork({ count }))、ボリュームが接続されている場合は 409、Pod では 501 を返します。ファイル監視はまだ利用できません。lizard sandbox ssh は CLI の認証情報で対話シェルを開きますが、SSH プロトコルによるアクセスは利用できません。
SDK と CLI の既定の有効期間は 5 分です。API の直接呼び出しとダッシュボードでは、既定で期限を設けません。有効期間を明示してください。作成時の timeoutMs: 0 は期限を無効にし、正の値は期限を設定します。setTimeout は 1000~2147483647 ミリ秒を受け付け、0 は指定できません。コマンド実行で期限は延長されません。アイドル時間のタイマーではありません。
sandbox の実行中はファイルとプロセスを維持します。停止後、別の sandbox で使えるのは、接続した Persistent Volume の /workspace に保存したファイルだけです。ボリュームがなければ /workspace は一時領域です。各ボリュームは同時に 1 つの sandbox に接続し、単一ノードに保存します。ノード障害後も必要なファイルは別の場所へ書き出してください。
各サイズには時間あたりの定額料金があり、sandbox の実行中は秒単位で課金されます。アイドル時間も含まれます。送信トラフィックは、アカウントあたり直近 30 日間で最大 2 TB まで含まれます。古い Pod snapshot から復元した sandbox は、実測使用量に応じて課金されます。一時停止中の sandbox には課金されません。Persistent Volumes は、データを保持している間、別途課金されます。タスク終了後は sandbox を一時停止するか kill してください。
小さな Lizard SDK の例
Node プロジェクトに @lizard-build/sdk をインストールし、環境経由で LIZARD_API_KEY を設定してください。my-project は利用可能なプロジェクトに置き換えてください。この例では、短命な環境を作成し、1 つのコマンドを実行し、finally ブロック内で解放します。
import { Lizard } from '@lizard-build/sdk';
const client = new Lizard({ project: 'my-project' });
const sandbox = await client.create('interpreter', { timeoutMs: 300000 });
try {
const result = await sandbox.process.exec("python -c 'print(6 * 7)'");
if (result.exitCode !== 0) throw new Error(result.stderr);
console.log(result.stdout);
} finally {
await sandbox.kill();
}コマンドは 42 を出力するはずです。この例は API とクリーンアップのパターンを示すものであり、スループットや起動時間のベンチマークではありません。本番コードでは、クリーンアップ要求の失敗にも対処し、終了前に必要な出力を保持する必要があります。
最初のコマンドだけでなく、ワークフロー全体をテストする
各候補で同じタスクと同じ依存関係セットを使用してください。実用可能な環境になるまでの時間、コマンド実行時間、失敗、リソース消費、保持された出力を記録します。比較が同じ段階を測るように、イメージ準備とセッション起動は分けてください。
次に、エージェントが遭遇するケースをテストしてください。失敗するコマンド、ハングするプロセス、同時セッション、大きな出力、期限切れになるセッションです。コーディネータが安全に再試行するために十分な情報を記録していることを確認してください。
出力が本番アプリケーションである場合は、通常のリリースプロセスでサービスとしてデプロイしてください。sandbox URL と成功したテスト実行は、デプロイ設定、監視、耐久性のあるデータの代わりにはなりません。次のステップは、私たちの Claude Code デプロイ ガイド で扱っています。
FAQ
E2B は無料ですか? Hobby プランには基本料金がなく、1 回限りのクレジットが含まれます。一方で、ランタイムには公開された従量料金があります。適用される制限と、クレジット使用後にどうなるかを確認してください。
上の例では Lizard のほうが安いですか? はい。使用量は $16.20 で、E2B の従量課金では $165.60、Pro の基本料込みでは $315.60 です。Lizard Pro は月額 $19 で、この使用量をカバーするため、請求額は $19 です。いずれかのホストで発生する追加ストレージを加えてください。
E2B Pro には無制限のランタイムが含まれますか? いいえ。基本料金と従量料金は別です。
Lizard Sandboxes を一時停止すると状態は耐久化されますか? 再開するまでは保持されます。pause() は sandbox のメモリと実行中のプロセスを保存し、/workspace をそのノード上に保持し、課金を停止します。resume() は同じ ID で sandbox を復帰させます。一時停止すると、開いているネットワーク接続は閉じられます。sandbox が停止(kill または期限切れ)した後、別の sandbox で使えるのは、接続した Persistent Volume の /workspace に保存したファイルだけです。各ボリュームは同時に 1 つの sandbox に接続し、単一ノードに保存します。ノード障害後も必要なファイルは別の場所へ書き出してください。
最も速いプロバイダはどれですか? このガイドは速度ランキングを示すものではありません。同じイメージ、依存関係、region、準備完了条件で計測し、単発の成功起動ではなく、繰り返しの結果を報告してください。
AI で構築。Lizard で公開。
本番公開にプラットフォームチームは必要ありません。クラウド全体が、1 つの CLI コマンドですぐ使えます。
- サービス
- —
- アドオン
- —
- デプロイ
- —
- Sandboxes の起動数
- —