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、ブループリントを作成し、エージェントを登録します。
Microsoft Entraテナントには次の要素が含まれています:
- アプリケーションおよびエージェントブループリントの作成権限/役割(グローバル管理者または同等のもの)
- Microsoft Agent 365の早期アクセスを得るには 、Frontierプレビュープログラム に参加する必要があります。
- エージェント ユーザーが使用できる少なくとも 1 つのMicrosoft 365 ライセンス
GCPの前提条件
GCPプロジェクトの作成
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アクセス:エージェントの設定や希望するモデルプロバイダーに基づいて適切なサービスを選択してください:
- OpenAI API キー: OpenAI API キーを取得します
- Azure OpenAI: Azure OpenAI リソースを作成してデプロイします API キーとエンドポイントを取得します
クラウドランへのエージェント365の作成とデプロイエージェントの実行
この例は、以下のような最小例エージェントを用いています:
- GETへの応答
/ - POST上でボットフレームワークの活動を受け入れる
/api/messages
プロジェクトを作成
以下の手順に従って、Cloud Run上で動作しBot Frameworkのアクティビティを受け入れる最小限の Node.js エージェントをスキャフォールドします。
プロジェクトディレクトリを作成する
mkdir gcp-a365-agent cd gcp-a365-agentノードプロジェクトの初期化
npm init -y npm install express body-parserindex.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をメモしてください。
以下のコマンドを使って、プロジェクトをGoogle Cloud Runにデプロイしてください:
gcloud run deploy gcp-a365-agent ` --source . ` --region us-central1 ` --platform managed ` --allow-unauthenticated終わったら、終点を記入してください:
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のテストツールでエージェントの機能を検証する方法も学べます。
開発者ワークフロー
セットアップが完了したら、反復開発のワークフローに従います:
エージェントコードを変更してください
コードを変更し、保存し、デプロイ前にローカルでテストしてください。
Google Cloud Runへの再デプロイ
gcloud run deploy gcp-a365-agent --source .テストと監視
Agent 365でサーフェスをテストし、Google Cloud Runのログを監視してください。
注
あなたのアイデンティティ、設計図、ボットエンドポイント、権限は再作成する必要はありません。
トラブルシューティング
このセクションを使って、Google Cloud RunでAgent 365エージェントをデプロイ・実行する際の一般的な問題を診断し、接続性、設定、ライセンスの問題を迅速に修正してください。
ヒント
Agent 365トラブルシューティングガイドには、Agent 365 の開発ライフサイクルの各段階に対応した高レベルのトラブルシューティング推奨事項、ベストプラクティス、トラブルシューティングコンテンツへのリンクが含まれています。
メッセージングエンドポイントは攻撃されていません
以下の詳細をご確認ください:
- 終点は正確に次の通りです:
https://<cloud-run-url>/api/messages - Cloud Runは認証されていないアクセスを許可します
- ファイアウォールルールは使いません
ライセンス譲渡の失敗
有効なMicrosoft 365フロンティア ライセンスを手動で割り当てるか、サポートされている場合はライセンスのないユーザー パスを使用します。