CurrentStack
#agents#cloud#edge#platform-engineering#security

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の機能だけでも実行はできますが、企業運用では制御プレーンが必要です。

  1. 受付でリスク評価(リポジトリ、実行主体、要求ツール、データ区分)
  2. ポリシー判定でTierと実行プロファイルを選択
  3. 署名付き実行マニフェストで起動
  4. 実行中イベントと成果物ハッシュを収集
  5. 昇格ゲートでマージ・デプロイ可否を判定

ここを作らない場合、ランタイムがどれだけ良くても監査で詰まります。

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とエスカレーション手順を公開

よくある失敗パターン

  1. 通信許可を広く取りすぎ、侵害時の横展開を許す
  2. 生成成果物の検証をせずマージする
  3. デバッグを恒常運用にして再現性を失う
  4. コスト責任者が不在で請求が後追いになる

まとめ

Cloudflare Containers/SandboxのGAは、エージェント基盤を前進させる強い材料です。ただし、効果を出す鍵は「どこで動かすか」ではなく、どの信頼レベルで、どの証跡を残し、どの条件で昇格させるかにあります。実行基盤を導入プロジェクトで終わらせず、ポリシー駆動の運用システムとして定着させることが、本番成功への最短ルートです。

おすすめ記事