次の方法で共有


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

Important

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

Agent 365 CLIを使って、Google Cloud Run上で動作するAgent 365エージェントの構築、ホスト、登録、公開方法を学びましょう。 Microsoft Entra & Graphはエージェントのアイデンティティ、権限、設計図を提供し、Google Cloud Runはランタイムを提供します。

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

目標

Agent 365とMicrosoft 365を「コントロールプレーン」として使い方を学び、以下のことを学びましょう。

  • Deploy agent runtime on Google Cloud Run
  • Configure a365.config.json for non-Azure ホスティング
  • Entra IDでエージェントブループリントを作成する
  • Configure OAuth2 + inheritable permissions
  • GCPを指すRegister Bot Frameworkメッセージングエンドポイント
  • エージェント識別子 + エージェントユーザーを作成する
  • Microsoft 365 アプリ表面への公開
  • エンドツーエンドのテスト相互作用

[前提条件]

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

Azure / Microsoft 365 prerequisites

Microsoft Entraのテナントアクセスを確認し、以下のツールをインストールしてアイデンティティ、設計図を作成し、エージェントを登録してください。

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のCreate & Deploy Agent to Cloud Run

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

  • 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です。

Configure for Non-Azure Hosting

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 Your Cloud Run URL + /api/messages
"needDeployment"=false CLIに「自分でサーバーをホストしています。「Azureにデプロイしないでください」
deploymentProjectPath スタンプ .env 行われる場所

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

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

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

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

Cloud Runの接続性を確認する

GETmessagingEndpoint値にa365.config.jsonリクエストを送信します:

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エージェントをデプロイ・実行する際の一般的な問題を診断し、接続性、設定、ライセンスの問題を迅速に修正してください。

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

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

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

ライセンス譲渡の失敗

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

ヘルプを受ける

さらに多くのヘルプオプションがあります

助けを得るために以下の点を考慮してください。