Upgrade to Pro — share decks privately, control downloads, hide ads and more …

自律型 AI をセキュアに実装!Gemini と MIG で作る動的コード実行環境

Avatar for Recruit Recruit PRO
September 30, 2026

自律型 AI をセキュアに実装!Gemini と MIG で作る動的コード実行環境

2026/7/30に、Google Cloud Next Tokyo 26で発表した手嶋の資料になります。

Avatar for Recruit

Recruit PRO

September 30, 2026

More Decks by Recruit

Other Decks in Technology

Transcript

  1. 背景文脈:チームの状況 データ系エンジニアのコアチームによるフルスタック開発 少人数でスクラム型の開発体制 コーディング AI を効果的に使って機動力のある開発 Google Cloud の開発効率を活かして、インフラからフロントエンドまで全てを直接担う デリバリーの優先度

    AI プロダクトに求められるユーザー体験のデザイン パターンはまだ世界的に探索期 少数のユーザーから順にロールアウトし、結果を見ながら重要機能を見極めていく Google Cloud Next Tokyo Proprietary
  2. アーキテクチャー コード実行環境サービス 外部ネットワーク アクセスなし Managed Instance Group アプリケーション Controller Cloud

    Run Service Sandbox Hosts Cloud Load Balancing Compute Engine VM イメージ Sandbox 分析環境コンテナ Multiple Instances データ配置 Data Provisioner Cloud Run Service ファイル ストレージ Cloud Storage BigQuery ※2025 年時点のアーキテクチャーであり、最新時点では異なる可能性があります。 Google Cloud Next Tokyo Proprietary
  3. アーキテクチャーのポイント オンデマンドなコード実行環境 分析環境コンテナは自由に オンデマンドにして無駄なコストを省き、 ステートレスにしてスケールアウトを可能に Virtual Machine イメージに分析環境 コンテナも同梱して配置することで、ネット ワーク

    アクセス無しでも任意の ライブラリを使用できる 状態はストレージで実現 ストレージを各所にマウントして 会話セッション単位の状態管理を実現 データはマウント元のパスに事前配置 Google Cloud Next Tokyo ネットワークとアクセスの制限 分析環境は外部ネットワークか ら遮断し、生成コードによるデー タ持ち出しをインフラレベルで防 止 Proprietary
  4. オンデマンドなコード実行環境。 Cloud Run Compute Engine ステートフルな構成で 計算リソースを 一定期間保持 ステートレスな構成で 計算リソースを

    オンデマンドに使用 ユーザーごとなど、 利用単位で構築が必要 😢 オンデマンドにして 無駄なアイドル時間のコ ストを回避 ☺ ユーザーなどの単位で環 境を持つなら 並列タスクに限界も 😢 ステートレスにして スケール増を容易に ☺ Google Cloud Next Tokyo Proprietary
  5. オンデマンドなコード実行環境。 Cloud Run Compute Engine 1 仮想マシンをプール化 2 統合とサービス化 3

    各VMはSandbox Host Managed Instance Group (MIG) 機能で Compute Engineの仮想マ シン (VM) をプール化。 プール化された VM 群が1つのコード 実行サービスとして振る舞うように、 Docker リクエストを内部ロード バラ ンサーでプロキシ。 各 VM「Sandbox Host」内には Docker デーモンを起動。 Packer でマシンイメージを事前に ビ ルドしてテンプレートとして使用し、 同じ環境の複製が増減するように オートスケールを設定。 Cloud Run Service でコード実行リ クエストを受け付ける 「Controller」API を提供。 VM イメージにデータ分析ライブラリ を備えた計算環境 Docker コンテナ 「Sandbox」を同梱。 docker run のリクエストを受けると 処理を実行、終了後に破棄。 コード実行環境サービス 1 Managed Instance Group (MIG) 2 3 VMイメージ Controller Cloud Run Service Sandbox Hosts Cloud Load Balancing Compute Engine Sandbox 分析環境コンテナ Multiple Instances Google Cloud Next Tokyo Docker is a trademark or registered trademark of Docker, Inc. in the United States and/or other countries. Docker, Inc. and other parties may also have trademark rights in other terms used herein. Packer is a trademark of HashiCorp. Proprietary
  6. 状態はストレージで実現。 Cloud Run BigQuery Cloud Storage 状態はコンテナ削除時 に揮発 状態は外部ストレージ にファイルで永続化

    使い捨てにすると ファイルが消える。 結果の受け渡しも困難 😢 中間結果の保存・読込 や最終結果の受け渡し が簡単 ☺ 複雑な処理の途中再開 ができず、一度に完遂す る必要がある 😢 Google Cloud Next Tokyo 分析対象データの 受け渡しに都合が良い ☺ Proprietary
  7. 状態はストレージで実現。 Cloud Run BigQuery Cloud Storage 1 VM に GCS

    をマウント 2 コンテナに部分マウント 3 結果の受渡しに使う ストレージ サービス「Google Cloud Storage (GCS)」のバケット を VM にマウント。 リクエスト処理時には、 VM のマウン ト先のサブパスを Docker コンテナに ボリューム マウント。 実行結果のファイルは自然と GCS に 保存される。 ファイル システムへの読み書きと全 く同じ感覚で利用できる。 パスをユーザー ID や会話セッション ID に基づいて設計することで、任意 単位での状態管理を実現。 「Controller」サービスの応答に GCS のパス(prefix)を含めれば結 果の受け渡しも疎結合に。 Managed Instance Group VM イメージ Sandbox Hosts Compute Engine Sandbox 分析環境コンテナ Multiple Instances /{userId}/{sessionId}/ 3 Google Cloud Next Tokyo 1 2 ファイル ストレージ Cloud Storage Docker is a trademark or registered trademark of Docker, Inc. in the United States and/or other countries. Docker, Inc. and other parties may also have trademark rights in other terms used herein. Packer is a trademark of HashiCorp. Proprietary
  8. 状態はストレージで実現。 Cloud Run BigQuery Cloud Storage 1 入力の受渡しに使う 2 データの事前配置

    3 データ権限制御 ストレージ=状態なので、事前に データを配置して GCS をマウントす れば、状態をデザインして渡すこと にも使える。 分析データを配置する「 Data Provisioner」を Cloud Run Service で構築、これ自体をエージェントに ツールとして提供。 生成されたコード内から直接 BigQuery を叩かせるのではなく、シ ステムが安全に切り出したデータだけ をファイルとして渡す。 これを、セッション状態の保持だけ でなく、BigQuery のデータをAI に 渡す経路としても活用。 BigQuery 上から関連データを取得 し、セッションに対応するパス (GCS prefix)に事前配置 → データのアクセス制御を生成コー ドではなくシステム側で担保。 データ配置 2 1 Data Provisioner ファイル ストレージ Cloud Run Service Cloud Storage /{userId}/{sessionId}/inputs 3 Google Cloud Next Tokyo BigQuery Docker is a trademark or registered trademark of Docker, Inc. in the United States and/or other countries. Docker, Inc. and other parties may also have trademark rights in other terms used herein. Packer is a trademark of HashiCorp. Proprietary
  9. 分析環境コンテナは自由に。 Compute Engine 実行時にパッケージを 動的インストール 実行時にインストール時 間がかかる 😢 ネットワーク アクセスが

    必須 😢 Google Cloud Next Tokyo 必要なパッケージを 全部入れたコンテナを VM イメージに同梱 最新の実行環境を柔軟 にデザインできる ☺ 外部通信が不要 ☺ Proprietary
  10. 分析環境コンテナは自由に。 Compute Engine 1 分析用イメージを同梱 2 最新状態の分析環境 3 外部通信不要 「Sandbox

    Host」の仮想マシンイ メージをビルドする段階で、データ 分析ライブラリを網羅した最新の Docker イメージを、VM 内にあらか じめ pull して焼き込み。 自前で「Sandbox」イメージを用意で きるので、分析ライブラリの組み合わ せなどは完全に自由。 実行時には外部ネットワークと通信不 可にしておいても、仮想マシン内で最 新の分析環境を利用できる。 最新のライブラリを使用したい場合は いつでも反映可能。 実行時にインストールの追加待ち時 間も発生せず、VM が立ち上がった その瞬間からすぐ利用可能。 3 外部ネットワークアクセスなし Managed Instance Group Sandbox Hosts Compute Engine 1 VMイメージ Sandbox 分析環境コンテナ Multiple Instances 2 Google Cloud Next Tokyo Docker is a trademark or registered trademark of Docker, Inc. in the United States and/or other countries. Docker, Inc. and other parties may also have trademark rights in other terms used herein. Packer is a trademark of HashiCorp. Proprietary
  11. ネットワークとアクセスの制限。 Cloud Run Compute Engine 外部ネットワーク疎通 外部ネットワーク遮断 任意のコードを実行させ たいが、アプリケーション でのコード検閲は限界が

    ある 😢 通信が無ければ流出経 路もない ☺ 外部への読み込み系操 作だけでもデータの流出 経路は生まれる 😢 Google Cloud Next Tokyo 生成コードによるデータ 持ち出しをインフラレベ ルで防ぐ ☺ Proprietary
  12. ネットワークとアクセスの制限。 Cloud Run Compute Engine 1 多層の通信遮断 2 VMの権限最小化 3

    分析は閉域で VM からの外部通信は不可。 Google Cloud への API アクセス のみを、プライベート Google アク セスにより許可。 「Sandbox Host」VM に付与する サービスアカウントは、 GCS ストレー ジへのアクセス権限と「 Cloud Logging」の権限のみに限定。他の Google Cloud リソースへのアクセス 権限を持たせない。 「Sandbox Host」は VM イメージビ ルドの時点で、分析環境となる 「Sandbox」コンテナイメージを同梱。 Docker の実行時には、 network_disabled=True を設定 し、ネットワーク通信を多重に不可 に。 外部ネットワークアクセスが無くても 最新のパッケージがインストールされ た環境で分析が可能。 外部ネットワークアクセスなし Managed Instance Group Sandbox Hosts Compute Engine VMイメージ Sandbox 分析環境コンテナ Multiple Instances Google Cloud Next Tokyo Docker is a trademark or registered trademark of Docker, Inc. in the United States and/or other countries. Docker, Inc. and other parties may also have trademark rights in other terms used herein. Packer is a trademark of HashiCorp. Proprietary
  13. 機動的なフルスタック基盤構築 Infrastructure as Code Google Cloud のリソースは Terraform で管理しやすく、今回登場した全てのリソー スは

    Terraform で一元管理。 VM イメージの定義やビルドも、 Cloud Build や Packer によりコードで管理。 CI/CD、コーディング AI の恩恵 CI/CD、コーディング AI の恩恵も受けやすいので、インフラの 変更含めリリースは週に数回行うこともしばしば。 Google Cloud Next Tokyo Terraform is a trademark of HashiCorp. Proprietary
  14. 結果:自律的な AI のための内製分析環境 ユーザー 入力 AI 返答 分析結果の 可視化と データ

    配置ツール それに基づく 高度な回答や アクション プランの提案 コード実行 ↓ グラフ出力 ※動作確認用のダミーデータであり、実在の店舗とは関係ありません。 Google Cloud Next Tokyo Proprietary