Cloud Run を使用して AI エージェントをホストする主な利点は、安全な実行環境を使用してコードを分離することです。Cloud Run でコード サンドボックス ツールを構築し、コンテナで実行することで、任意のプログラミング言語を使用してアプリケーション コードを実行できます。
安全な 2 層サンドボックス
Cloud Run は、個々の VM と同等のハードウェアをベースにしたレイヤ(x86 仮想化)とソフトウェア カーネル レイヤからなる 2 つのサンドボックス レイヤを使用して、すべてのインスタンスを分離します。詳細については、セキュリティ設計の概要をご覧ください。
コードをデプロイすると、Cloud Run はコードをサンドボックス環境内に閉じ込めます。この分離により、大規模言語モデル(LLM)によって生成されたコードなど、信頼できないコードをより安全に実行できます。信頼できないコードを実行する場合は、Cloud Run サービスで IAM 権限を制限し、VPC ファイアウォール ルールを使用して、コードがインターネットに呼び出しを行うのを防ぎます。
コード実行モード
Cloud Run には、コード実行用に次のモードが用意されています。
非同期実行: メインのアプリケーション フローを中断しないように、実行時間の長いタスクやバックグラウンド タスクには Cloud Run ジョブを使用してタスクを非同期で実行します。たとえば、Cloud Storage にコードをアップロードし、必要な依存関係をインストールしてから、結果を処理して Cloud Storage に保存する Cloud Run ジョブを実行します。
同期実行: 即時応答が必要なプロセスには、Cloud Run サービスを使用します。Cloud Run サービスの最大タイムアウトは 1 時間です。これにより、コードを実行するのに十分な時間が確保されます。インスタンスが一度に 1 つのリクエストを処理するように制限するには、同時実行の値を
1
に設定します。リクエストの本文の一部として実行するコードを取得し、レスポンスで結果を返してから、コンテナ インスタンスを終了することもできます。次の図は、コード実行の 2 つのモードを示しています。
図 1. Cloud Run のコード実行モード