Enable the necessary APIs

進行状況を確認

/ 10

Perform the necessary policy bindings

進行状況を確認

/ 5

MCP deploy and test locally

進行状況を確認

/ 20

MCP deploy to Cloud Run

進行状況を確認

/ 20

Update the agent to use MCP

進行状況を確認

/ 5

Deploy the ADK Agent locally

進行状況を確認

/ 20

Deploy the ADK Agent on Cloud Run

進行状況を確認

/ 10

Verify the deployed ADK Agent

進行状況を確認

/ 10

このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。

GSP532

Google Cloud セルフペース ラボ

チャレンジの概要

チャレンジラボでは、シナリオと一連のタスクが提供されます。手順ガイドに沿って進める形式ではなく、コース内のラボで習得したスキルを駆使して、ご自身でタスクを完了していただきます。タスクが適切に完了したかどうかは、このページに表示される自動スコアリング システムで確認できます。

チャレンジラボは、Google Cloud の新しいコンセプトについて学習するためのものではありません。デフォルト値を変更する、エラー メッセージを読み調査を行ってミスを修正するなど、習得したスキルを応用する能力が求められます。

100% のスコアを達成するには、制限時間内に全タスクを完了する必要があります。

このラボは、「バイブ コーディングを使用したスマート クラウド アプリケーションの構築」コースに登録している受講者を対象としています。準備が整ったらチャレンジを開始しましょう。

テスト対象トピック

  • API を有効にして環境変数を設定する。
  • IAM ポリシー バインディングを実行する。
  • テスト用に MCP サーバーをローカルにデプロイし、Cloud Run にデプロイする。
  • Agent Development Kit(ADK)を使用して Python アプリケーションを更新し、MCP を使えるようにする。
  • MCP サーバーと ADK エージェントを Docker 化して Cloud Run にデプロイする。

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。

このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
  • ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。

チャレンジ シナリオ

Cloud Creek 動物園は、最先端の来園者エンゲージメント システムを実装するために、Cymbal Group の「デジタル エクスペリエンス」コンサルティング部門と契約しました。Cloud Creek 動物園の最終的な目標は、非常に正確で精力的かつ愛嬌のあるツアーガイドです。このツアーガイドは、AI を活用することで来園者の質問に対して、文脈に沿った詳細な回答を提供できます。システム アップグレードの中核となるのは、リモート Model Context Protocol(MCP)サーバーである「動物園サーバー」を介して動物情報を検索できる「動物園ツアーガイド」AI エージェントの実装とアップグレードです。

Cymbal のロゴ

「動物園ツアーガイド」エージェントは来園者の質問に回答する際に、コンテキストとして Wikipedia を使用するだけでなく、専用の Google 検索 MCP サーバーツールを介して、リアルタイムで幅広い情報にアクセスできる必要があります。これにより、エージェントは「ライオン種の保護に関する最近のニュースを教えて」といった質問に答えられるようになります。

ジュニア コンサルタントが既存の「動物園サーバー」をアップグレードする際にミスを犯し、Python サーバーに不具合が発生して機能しなくなりました。さらに、プロジェクトのアーキテクチャがまだ最終決定されていませんでした。このアーキテクチャは、Cymbal Group の厳格な IAM ポリシーに準じる必要があります。

あなたは、これらの問題に対処しなければなりません。

チャレンジ

このラボでは、あなたは Cymbal Group のシニア AI 統合スペシャリストとして、次のミッションに取り組みます。

  • プロジェクトを設定し、必要な API とサービスを有効にする。
  • 企業の IAM ポリシーを適用する。
  • MCP サーバーのコードを修復し、サーバーをテストのために Cloud Run にデプロイする。
  • 「動物園ツアーガイド」ADK AI エージェントの機能とワークフローを統合してアップグレードし、Google 検索をサポートする。
  • ADK エージェント パッケージを Docker 化して Cloud Run にデプロイし、本番環境に対応できるようにする。

タスク 1. 環境をセットアップして必要な API を有効にする

このタスクでは、Google Cloud でプロジェクト固有の基盤を作成し、AI の大規模なデプロイをサポートします。

必要なサービスが効果的に機能し、通信できるように Google Cloud プロジェクトが構成されていることを確認します。

コードファイルをダウンロードする

  1. Cloud Shell で [エディタを開く] をクリックして、Cloud Shell エディタをホーム ディレクトリで開きます。

  2. Cloud Shell エディタのアクションバーで、[表示] > [ターミナル] をクリックします。

    注: [表示] メニュー オプションを表示するには、ブラウザ ウィンドウを長くするか、[その他のオプション](その他のオプション アイコン)をクリックする必要がある場合があります。

このラボの残りの部分では、このウィンドウを Cloud Shell エディタ(上)と Cloud Shell ターミナル(下)を備えた IDE として使用します。

画面の右側に表示される追加のチュートリアルや Gemini のパネルを閉じると、コードエディタのウィンドウをより広く使用できます。

  1. ターミナルで次のコマンドを入力してプロジェクトを設定します。

    gcloud config set project {{{primary_project.project_id | filled in at lab start}}}

    想定される出力: 更新されたプロパティを確認する出力メッセージが表示されます。

  2. ターミナルで次のコマンドを実行して、ボイラープレート コードのファイルをダウンロードして展開します。

    gcloud storage cp gs://{{{primary_project.project_id | filled in at lab start}}}-labconfig-bucket/labs_code.zip . unzip labs_code.zip
  3. 次のコマンドを実行して環境変数を作成します。

    cd ~/zoo_guide_agent cat <<EOF > .env MODEL="{{{primary_project.startup_script.gemini_flash_model_id |filled in at lab start}}}" SERVICE_ACCOUNT="{{{primary_project.startup_script.project_number | filled in at lab start}}}-compute@developer.gserviceaccount.com" MCP_SERVER_URL="https://{{{primary_project.startup_script.mcp_server_name | filled in at lab start}}}-{{{primary_project.startup_script.project_number | filled in at lab start}}}.{{{primary_project.default_region | filled in at lab start}}}.run.app/mcp/" GOOGLE_GENAI_USE_ENTERPRISE=1 GOOGLE_CLOUD_PROJECT={{{primary_project.project_id | filled in at lab start}}} PROJECT_NUMBER={{{primary_project.startup_script.project_number | filled in at lab start}}} GOOGLE_CLOUD_LOCATION={{{primary_project.default_region | filled in at lab start}}} EOF

    最終的なディレクトリ構造は次のようになります。

    出力:

    . ├── mcp-on-cloudrun │ ├── Dockerfile │ ├── local_mcp_call.py │ ├── pyproject.toml │ ├── server.py │ └── uv.lock └── zoo_guide_agent ├── agent.py ├── __init__.py ├── .env └── requirements.txt
  4. 最後に、必要な API(Agent Platform APIArtifact Registry APICompute Engine APICloud Build APICloud Run Admin API)を有効にします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 必要な API を有効にする

タスク 2. 必要なポリシー バインディング(IAM の設定)を行う

自動化されたサービス(Cloud Build と Cloud Run)が互いに、また AI Platform とやり取りするには、特定の権限が必要です。

このタスクでは、ユーザー アカウントとサービス アカウントに Cloud Run を呼び出して AI Platform を使用する権限を付与するために必要な、ポリシー バインディングを実行しなければなりません。

それぞれのサービス アカウントに、次の IAM ロールを付与する必要があります。

  • ユーザーに Cloud Run AdminAgent Platform User のロールを付与して、サービスを Cloud Run にデプロイできるようにします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 必要なポリシー バインディングを実行する

タスク 3. MCP サーバーを修正して Cloud Run にデプロイする

このタスクでは、アプリケーションのバックボーンとして機能し、AI ツールの使用をオーケストレートする MCP サーバーのトラブルシューティングと復旧を行うために、Gemini CLI を使用する必要があります。

コードの問題を修正したら、Gemini CLI で関連する Cloud Build 統合コマンドを使用して、既存のリモート MCP サーバーをテスト用に Gemini CLI リポジトリにデプロイします。

ローカルでデプロイしてテストする

  1. ターミナルで次のコマンドを実行して、~/mcp-on-cloudrun/server.py を実行します。

    cd ~/mcp-on-cloudrun uv run server.py

    エラーが発生するので、Cloud ShellGemini を使用して修正する必要があります。

    注: Gemini CLI が実際の Python ファイルを更新してコードの変更が反映されるまでに時間がかかる場合があります。Gemini CLI で修正した Python ファイルの実行許可を求められた場合、ESC キーを押してキャンセルし、Gemini CLI を終了してターミナルに戻ります。その後、ラボの手順に沿って進めます。
  2. エラーを修正したら、前のコマンドを再実行してください。MCP サーバーがローカルで起動し、それを示す出力が表示されます。

  3. 別の terminal インスタンスを開いて ~/mcp-on-cloudrun/local_mcp_call.py を実行し、ローカルにデプロイされたエージェントをテストします。

    注: google.logging.v2.WriteLogEntriesPartialErrors エラーが発生した場合は、gcloud config set project コマンドを使用してプロジェクトを設定してください。 cd ~/mcp-on-cloudrun uv run local_mcp_call.py

    想定される出力: CallToolResult として表示される出力には、セイウチ種に関する構造化データの取得が成功したことが示されるはずです。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 MCP をローカルにデプロイしてテストする

Cloud Run にデプロイする

注: デプロイ プロセス中に Cloud Shell の承認を求められた場合は、承認する必要があります。
  • 次の gcloud コマンドを実行して、アプリケーションを Cloud Run にデプロイします。

    cd ~/mcp-on-cloudrun gcloud run deploy {{{primary_project.startup_script.mcp_server_name | filled in at lab start}}} \ --no-allow-unauthenticated \ --region={{{primary_project.default_region | filled in at lab start}}} \ --source=. \ --min=1 \ --project={{{primary_project.project_id | filled in at lab start}}} \ --labels=lab-dev=mcp-zoo-cloud-run-service
注: デプロイが完了するまでに最大 10 分かかる場合があります。Cloud Run のデプロイ中に Quota exceeded for total allowable CPU per project per region エラーが発生した場合は、しばらく待ってからコマンドを再度実行してください。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 MCP を Cloud Run にデプロイする

タスク 4. MCP を使用するようにエージェントを更新する

このタスクでは、Python のエージェント コードをデプロイし、新しくデプロイした MCP サーバーにリンクします。

Gemini CLI で ADK コマンドを使用して、ローカルの agent.py ファイル(更新済み)をデプロイします。このデプロイを、タスク 3 でデプロイした MCP サーバーを使用するように構成し、ローカル CLI 環境内で動物園ツアーガイドを運用できるようにします。

トークンを生成し、settings.json ファイルを構成する

  1. Gemini 設定ファイルで使用するために、Google Cloud 認証情報とプロジェクト番号を、次のように環境変数に保存します。

    export PROJECT_NUMBER=$(gcloud projects describe $GOOGLE_CLOUD_PROJECT --format="value(projectNumber)") export ID_TOKEN=$(gcloud auth print-identity-token)
注: Gemini CLI で認証エラーが発生した場合は、ID_TOKEN が期限切れになっている可能性があります。/quit で終了し、gcloud config set project コマンドを使用してプロジェクトを設定します。
  1. Cloud Shell エディタで、[表示] > [隠しファイルの切り替え] を選択し、~/.gemini/settings.json ファイルを開くか作成することで、更新できるようになります。ファイルの内容に次の Gemini CLI 設定を入力して、Cloud Run MCP サーバーを追加します。

    { "mcpServers": { "zoo-remote": { "httpUrl": "https://{{{primary_project.startup_script.mcp_server_name | filled in at lab start}}}-{{{primary_project.startup_script.project_number | filled in at lab start}}}.{{{primary_project.default_region | filled in at lab start}}}.run.app/mcp/", "headers": { "Authorization": "Bearer $ID_TOKEN" } } }, "selectedAuthType": "cloud-shell", "hasSeenIdeIntegrationNudge": true }

Gemini CLI を開く

次の手順に沿って Gemini CLI を開きます。

  1. ターミナルでコマンドを実行して Gemini CLI を起動します。

    デフォルト設定を受け入れるために、Enter キーを押す必要がある場合があります。 gemini-cli-landing-screen.png

  2. 関連するスラッシュ コマンドを使用することで、Gemini がコンテキスト内で利用可能な MCP ツールを一覧表示できます。

  3. 動物園で何かを探すよう、Gemini に次のように依頼します。

    ペンギンはどこにいる?

    Gemini CLI は zoo-remote MCP サーバーを使用することを認識し、MCP ツールの実行を許可するかどうかを尋ねます。

  4. zoo-remote MCP サーバーから [常にすべてのツールを許可する] を選択します。

    想定される出力: 出力には正しい回答と、MCP サーバーが使用されたことを示すディスプレイ ボックスが表示されます。

  1. 作成した新しいカスタム コマンドを使用するには、Gemini CLI で次のようにプロンプトを入力します。

    /find --animal="lion"

    想定される出力: Gemini CLI が fetch_animals_by_species ツールを呼び出し、MCP プロンプトの指示に従ってレスポンスをフォーマットしていることがわかります。

  1. セッションを終了する準備ができたら、関連するコマンドまたはキーボード ショートカットを使用して Gemini CLI を終了します。

サーバーログを確認する

  • ターミナルで、次のコマンドを入力してサーバーログを確認します。

    gcloud run services logs read {{{primary_project.startup_script.mcp_server_name | filled in at lab start}}} --region {{{primary_project.default_region| filled in at lab start}}} --limit=5

    想定される出力: ツール呼び出しが行われたことを示す出力ログが表示されます。🛠️

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 MCP を使用するようにエージェントを更新し、検証する

タスク 5. ADK エージェントを Docker 化して Cloud Run にデプロイする

最後のタスクでは、システム全体をローカルのテスト環境から、スケーラブルでプロダクション レディなサーバーレス環境に移行する必要があります。

MCP サーバーと、Google 検索が統合された「動物園ツアーガイド」エージェントとを含む、ADK アプリケーション全体をコンテナ化し、できあがったコンテナ イメージを Google Cloud Run にデプロイする必要があります。サービスが公開呼び出し用に構成され、エージェントが公開 URL で応答することを確認する必要があります。

ローカルでデプロイしてテストする

  1. ~/zoo_guide_agent/agent.py を開き、TODO コメントの内容に沿ってコードを更新してエージェントの設定を完了します。

  2. 次のコマンドを実行してパッケージ zoo_guide_agent をインストールします。

    gcloud config set project {{{primary_project.project_id | filled in at lab start}}} cd ~/zoo_guide_agent python -m venv .venv source .venv/bin/activate pip install --no-cache-dir -r requirements.txt
  3. 次のコマンドを実行して ADK エージェントをローカルにデプロイします。

    cd ~ adk web
  4. Cloud Shell で、Ctrl キーを押しながら http://localhost:8000 または http://127.0.0.1:8000 のリンクをクリックして、新しいブラウザタブで ADK 開発 UI を開きます。

  5. ADK 開発 UI で zoo_guide_agent を選択し、次のクエリを送信します。

    クマはどこにいる?

    想定される出力: すべての関数呼び出しのイベントと、すべてのソースからの情報を組み合わせた、クエリに対する解決策が表示されます。また、世界中に何種類くらいのクマが存在するかについても表示されます。

注: 実際のエージェントの回答を統合するには時間がかかる場合があります。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 ADK エージェントをローカルにデプロイする

Cloud Run にデプロイする

  • ターミナルで別のターミナル インスタンスを開き、次のコマンドを実行してエージェントをデプロイします。

    cd ~/zoo_guide_agent uvx --from google-adk \ adk deploy cloud_run \ --project={{{primary_project.project_id | filled in at lab start}}} \ --region={{{primary_project.default_region| filled in at lab start}}} \ --service_name={{{primary_project.startup_script.adk_server_name | filled in at lab start}}} \ --with_ui \ . \ -- \ --labels=lab-dev=cloud-zoo-run-adk-service

uvx コマンドを使用すると、Python パッケージとして公開されたコマンドライン ツールを、グローバルにインストールしなくても実行できます。

注: デプロイが完了するまでに 15 分程度かかる場合があります。未認証の呼び出しを許可するかどうかを確認するメッセージが表示されたら、y を入力して続行します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 ADK エージェントを Cloud Run にデプロイする

デプロイされた ADK エージェントを確認する

エージェントが Cloud Run で稼働している状態で、テストを実行してデプロイが成功したことと、エージェントが想定どおりに動作することを確認します。公開サービス URL を使用して ADK のウェブ インターフェースにアクセスし、エージェントとやり取りします。

  1. エージェントが Cloud Run に正常にデプロイされたら、Ctrl キーを押しながら出力内のサービス URL をクリックして、新しいブラウザタブで開きます。

次のような形式で表示されます。

サービス URL の出力:

https://{{{primary_project.startup_script.adk_server_name | filled in at lab start}}}-{{{primary_project.startup_script.project_number | filled in at lab start}}}.{{{primary_project.default_region | filled in at lab start}}}.run.app/

Cloud Run にデプロイする際に --with_ui フラグを使用したため、ADK 開発 UI が表示されます。

  1. 右上の [トークンのストリーミング] を [オン] に切り替えます。

  2. 動物園エージェントとやり取りします。次のクエリを入力して、新しい会話を開始します。

    ゾウはどこにいる?

    想定される出力: すべての関数呼び出しのイベントと、すべてのソースからの情報を組み合わせた、クエリに対する解決策が表示されます。また、世界中に何種類くらいのゾウが存在するかについても表示されます。

注: 実際のエージェントの回答を統合するには時間がかかる場合があります。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 デプロイされた ADK エージェントを確認する

お疲れさまでした

このラボでは、Gemini CLI を Google Cloud Run や Cloud Build とともに使用して、強化された機能的な「動物園ツアーガイド」ADK エージェントを構成、テスト、デプロイできることを確認しました。エージェントが専用の MCP サーバーや組み込みツールとやり取りできるようにすることで、Cloud Creek 動物園のデジタル トランスフォーメーションの取り組みの一環として、動物園の来園者からの問い合わせや動物の検索の処理が大幅に改善され、合理化されました。

次のステップと詳細情報

生成 AI と Gemini Enterprise Agent Platform の詳細については、以下のリソースをご覧ください。

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2025 年 10 月 16 日

ラボの最終テスト日: 2025 年 10 月 16 日

Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボを実行するには、シークレット モードまたはシークレット ブラウジング ウィンドウを使用することをおすすめします。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。

ラボを開始するには、この簡単な手順を完了してください。