Cloudflare Containers / Sandbox SDK GAを本番運用する実践設計, 安全なエージェント実行基盤の作り方
CloudflareがContainersとSandbox SDKをGA化したことで、エージェント実行基盤の選択肢は一段階進みました。これまで多くのチームは、Kubernetes Job、独自の隔離ランナー、キュー連携、監査ログ基盤を別々に組み合わせていましたが、GA機能により「実行」「分離」「復元」「デバッグ」を同一プラットフォーム上で揃えやすくなっています。
一方で、ここを「任意コードを走らせる箱が増えた」だけで扱うと、従来の事故をそのまま再発します。重要なのは、ランタイム選定より先に運用設計を決めることです。本記事では、実際に本番投入する前提で、失敗しにくい設計を順に整理します。
参考: https://developers.cloudflare.com/changelog/post/2026-04-13-containers-sandbox-ga/
まず押さえるべきGAの価値
GAで効くのは、単なる性能よりも運用レバーです。
- 同時実行数の拡大(大規模ジョブをさばきやすい)
- Active-CPU課金(待機時間のムダを削減しやすい)
- SSH/PTYによるライブデバッグ
- Preview URLで実行中成果物を確認
- Python/JavaScript/TypeScriptの永続インタプリタ
- Backup / Restore APIによるセッション再開
- ファイル変更監視でツール連携を高速化
この組み合わせにより、CI補助だけでなく、長時間のコーディングエージェント、解析系ジョブ、レビュー補助まで同じ運用面で扱えるようになります。
重要設計, 「環境」ではなく「信頼レベル」で分ける
多くの失敗は、開発用・本番用の2区分だけで運用するところから始まります。エージェント実行では、用途より信頼レベルで分離する方が安全です。
Tier A, 決定的変換タスク
整形、静的解析、単純変換などの再現性が高い処理。
- 外向き通信は原則禁止
- 読み取り専用キャッシュ中心
- CPU/メモリ/時間の上限を厳格化
- 失敗時は即廃棄
Tier B, 開発支援タスク
依存解決、ビルド、テスト、差分生成など。
- レジストリやGitホストへの許可制アクセス
- ジョブ単位の短命認証情報
- 生成成果物の署名とハッシュ保存
- 監査ログを必須化
Tier C, 不特定入力タスク
ユーザー入力を直接扱う探索的処理。
- 最強の分離ポリシー
- 本番ネットワークに直接到達させない
- 秘密情報のマウント禁止
- 人間承認なしで成果物を昇格させない
この3層を定義すると、セキュリティと開発速度の議論が「感覚」ではなく「ルール」に変わります。
制御プレーンを必ず作る
Cloudflareの機能だけでも実行はできますが、企業運用では制御プレーンが必要です。
- 受付でリスク評価(リポジトリ、実行主体、要求ツール、データ区分)
- ポリシー判定でTierと実行プロファイルを選択
- 署名付き実行マニフェストで起動
- 実行中イベントと成果物ハッシュを収集
- 昇格ゲートでマージ・デプロイ可否を判定
ここを作らない場合、ランタイムがどれだけ良くても監査で詰まります。
Active-CPU課金時代のコスト設計
課金がCPUアクティブ時間中心になると、「開いたまま待機」が最大のムダになります。
- 無操作セッションの自動サスペンド
- 対話系シェルと重いビルドの分離
- 言語・バージョン別の依存キャッシュ最適化
- 優先度ごとのキュー運用
- チーム単位の予算上限とアラート
追うべきKPIは次の通りです。
- 成功タスクあたりのアクティブCPU秒
- ワークロード別p95処理時間
- スナップショット復元成功率
- PRマージ1件あたりの実行コスト
観測設計, コンテナ監視だけでは不十分
CPUとメモリだけ見ていても、エージェント事故の根本原因は見えません。
最低限、以下は構造化して記録します。
- プロンプトから実行コマンドまでの系譜
- ツール呼び出しグラフ
- ファイル変更タイムライン
- シークレットアクセス試行(許可/拒否)
- ポリシー例外の実施者と理由
この粒度があると、障害だけでなく不正利用調査にも耐えます。
SSH/PTYの運用は「便利」より「統制」
SSHは復旧速度を上げますが、同時に抜け道にもなります。以下を標準化してください。
- Just-in-Time付与(短時間のみ)
- 特権セッション録画
- チケット番号と目的の紐付け必須
- 無操作時の自動失効
- 手作業修正は原則禁止(再現可能な手順に戻す)
監査証跡を残せないなら、直接接続は無効化した方が安全です。
導入ステップ(8週間目安)
1, 現状把握(2週間)
- 既存ランナーの上位3ワークロードを抽出
- リスクTier定義と既定ポリシー策定
- 現在のコスト・失敗率・復旧時間を計測
2, 低リスク移行(3週間)
- Tier A中心に先行移行
- 旧基盤との並行実行で差分検証
- Backup/Restoreの整合性確認
3, 統制強化(3週間)
- 成果物署名と昇格承認を必須化
- 外向き通信ポリシーをテンプレート化
- SLOとエスカレーション手順を公開
よくある失敗パターン
- 通信許可を広く取りすぎ、侵害時の横展開を許す
- 生成成果物の検証をせずマージする
- デバッグを恒常運用にして再現性を失う
- コスト責任者が不在で請求が後追いになる
まとめ
Cloudflare Containers/SandboxのGAは、エージェント基盤を前進させる強い材料です。ただし、効果を出す鍵は「どこで動かすか」ではなく、どの信頼レベルで、どの証跡を残し、どの条件で昇格させるかにあります。実行基盤を導入プロジェクトで終わらせず、ポリシー駆動の運用システムとして定着させることが、本番成功への最短ルートです。