次の方法で共有


Google Cloud Platform(GCP)で展開したAgent 365エージェントを構築する

Important

Microsoft Agent 365 の早期アクセスを利用するには、フロンティア プレビュープログラムに参加する必要があります。 フロンティアは、Microsoft の最新の AI イノベーションと直接接続します。 Frontier のプレビューは、お客様の契約書に記載されている既存のプレビュー利用規約に従います。 これらの機能は現在開発中であるため、提供状況や機能は今後変更される可能性があります。

Agent 365 CLIを使って、Google Cloud Run上で動作するAgent 365エージェントの構築、ホスト、登録、公開方法を学びましょう。 Microsoft EntraとGraph はエージェント ID、アクセス許可、ブループリントを提供し、Google Cloud Run はランタイムを提供します。

もしエージェントをAWSエンドポイントの背後にあるコードに向けたいだけなら、追加のステップは「 非Azureホスティングに設定 」と「 Agent 365 Development Lifecycle」の他のすべてのステップに従うだけです。

目標

"コントロール プレーン" としてエージェント 365 とMicrosoft 365を使用する方法について説明します。

  • Google Cloud Run にエージェント ランタイムをデプロイする
  • Azure以外のホスティング用に a365.config.json を構成する
  • Entra IDでエージェントブループリントを作成する
  • OAuth2 + 継承可能なアクセス許可を構成する
  • Bot FrameworkのメッセージングエンドポイントをGCPに登録する。
  • エージェント識別子 + エージェントユーザーを作成する
  • Microsoft 365 アプリ サーフェイスに発行する
  • エンドツーエンドの相互作用テスト

[前提条件]

開始する前に、次のAzure/Microsoft 365、Google Cloud Platform (GCP)、およびローカル環境の前提条件が満たされていることを確認します。

Azure/Microsoft 365の前提条件

Microsoft Entra テナントへのアクセスを確認し、次のツールをインストールして ID、ブループリントを作成し、エージェントを登録します。

GCPの前提条件

  • GCPプロジェクトの作成

  • Cloud Run API 有効

  • gcloud SDK のインストールと認証:

    gcloud auth login
    gcloud config set project <GCP_PROJECT_ID>
    gcloud config set run/region us-central1   # or your preferred region
    

地域開発環境の前提条件

  • コード エディター: 選択したコード エディター。 Visual Studio Code をお勧めします

  • (任意)Node.js。 エージェントにはどんな言語でも使えます。 この記事では、以下のステップでノード18+を使用します。

  • LLM APIアクセス:エージェントの設定や希望するモデルプロバイダーに基づいて適切なサービスを選択してください:

クラウドランへのエージェント365の作成とデプロイエージェントの実行

この例は、以下のような最小例エージェントを用いています:

  • GETへの応答 /
  • POST上でボットフレームワークの活動を受け入れる /api/messages

プロジェクトを作成

以下の手順に従って、Cloud Run上で動作しBot Frameworkのアクティビティを受け入れる最小限の Node.js エージェントをスキャフォールドします。

  1. プロジェクトディレクトリを作成する

    mkdir gcp-a365-agent
    cd gcp-a365-agent
    
  2. ノードプロジェクトの初期化

    npm init -y
    npm install express body-parser
    
  3. index.js を作成します。

    const express = require("express");
    const bodyParser = require("body-parser");
    
    const app = express();
    app.use(bodyParser.json());
    
    app.get("/", (req, res) => {
    res.status(200).send("GCP Agent is running.");
    });
    
    // Bot Framework Activity Handler
    app.post("/api/messages", (req, res) => {
    console.log("Received activity:", JSON.stringify(req.body, null, 2));
    
    // Echo activity
    const reply = {
       type: "message",
       text: `You said: ${req.body?.text}`
    };
    
    res.status(200).send(reply);
    });
    
    const port = process.env.PORT || 8080;
    app.listen(port, () => console.log("Server listening on port " + port));
    

Google Cloud Runへのデプロイ

gcloud run deployを使ってCloud Run上でサービスを構築・実行し、messagingEndpointの公開URLをメモしてください。

  1. 以下のコマンドを使って、プロジェクトをGoogle Cloud Runにデプロイしてください:

    gcloud run deploy gcp-a365-agent `
    --source . `
    --region us-central1 `
    --platform managed `
    --allow-unauthenticated
    
  2. 終わったら、終点を記入してください:

    https://gcp-a365-agent-XXXX-uc.run.app
    

    このURL messagingEndpoint は、次のステップでAgent 365 Dev Tools CLIで使用されるURLです。

非Azure ホスティング用に構成する

Cloud Runプロジェクトフォルダ内で a365.config.json を作成してください。以下の a365 config initを実行します:

{
  "tenantId": "YOUR_TENANT_ID",
  "subscriptionId": "YOUR_AZURE_SUBSCRIPTION_ID",
  "resourceGroup": "a365-gcp-demo",
  "location": "westus",
  "environment": "prod",

  "messagingEndpoint": "https://gcp-a365-agent-XXXX-uc.run.app/api/messages",
  "needDeployment": false,

  "agentIdentityDisplayName": "MyGcpAgent Identity",
  "agentBlueprintDisplayName": "MyGcpAgent Blueprint",
  "agentUserDisplayName": "MyGcpAgent User",
  "agentUserPrincipalName": "mygcpagent@testTenant.onmicrosoft.com",
  "agentUserUsageLocation": "US",
  "managerEmail": "myManager@testTenant.onmicrosoft.com",

  "deploymentProjectPath": ".",
  "agentDescription": "GCP-hosted Agent 365 Agent"
}

以下の表は重要な構成フィールドとその目的をまとめたものです。

フィールド Meaning
messagingEndpoint Cloud Run の URL + /api/messages
"needDeployment"=false CLI に "自分のサーバーをホストします。Azureにデプロイしない'
deploymentProjectPath スタンプ .env 行われる場所

ビルドエージェント365エージェント

エージェントコードをAWSエンドポイント上で実行したら、 Agent 365開発ライフサイクル の残りのステップに従ってAgent 365エージェントをセットアップします。

エージェントをエンドツーエンドで検証してください

これらのチェックを使って、GCPホストのエージェントが連絡可能で、Bot Frameworkのアクティビティを受け取り、Agent 365の表面間で正しく応答しているかを確認しましょう。

Cloud Runの接続性を確認する

a365.config.jsonからGETリクエストをmessagingEndpointの値に送信します。

curl https://gcp-a365-agent-XXXX.run.app/

対応機関には以下を含めるべきです:

GCP Agent is running.

Cloud Runログでボットフレームワークのメッセージが届くか確認してください

Google Cloud Log Explorerを確認するか、以下を実行します:

gcloud run services logs read gcp-a365-agent --region <your region> --limit 50

メッセージがエージェントに届いた後、以下が確認されるはずです:

POST 200 /api/messages
Received activity: { ... }

エージェント365の表面からの試験剤

環境によります:

  • エージェント プレイグラウンド
  • Teams(公開された場合)
  • エージェント・シェル

これでメッセージを送信したり、Cloud Runのログを確認したりできます。 また、 Microsoft Agent 365 SDKを使ってエージェントのテスト方法や、Agents Playgroundのテストツールでエージェントの機能を検証する方法も学べます。

開発者ワークフロー

セットアップが完了したら、反復開発のワークフローに従います:

  1. エージェントコードを変更してください

    コードを変更し、保存し、デプロイ前にローカルでテストしてください。

  2. Google Cloud Runへの再デプロイ

    gcloud run deploy gcp-a365-agent --source .
    
  3. テストと監視

    Agent 365でサーフェスをテストし、Google Cloud Runのログを監視してください。

    あなたのアイデンティティ、設計図、ボットエンドポイント、権限は再作成する必要はありません。

トラブルシューティング

このセクションを使って、Google Cloud RunでAgent 365エージェントをデプロイ・実行する際の一般的な問題を診断し、接続性、設定、ライセンスの問題を迅速に修正してください。

ヒント

Agent 365トラブルシューティングガイドには、Agent 365 の開発ライフサイクルの各段階に対応した高レベルのトラブルシューティング推奨事項、ベストプラクティス、トラブルシューティングコンテンツへのリンクが含まれています。

メッセージングエンドポイントは攻撃されていません

以下の詳細をご確認ください:

  • 終点は正確に次の通りです:
    https://<cloud-run-url>/api/messages
  • Cloud Runは認証されていないアクセスを許可します
  • ファイアウォールルールは使いません

ライセンス譲渡の失敗

有効なMicrosoft 365フロンティア ライセンスを手動で割り当てるか、サポートされている場合はライセンスのないユーザー パスを使用します。