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.jsonfor 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のテナントアクセスを確認し、以下のツールをインストールしてアイデンティティ、設計図を作成し、エージェントを登録してください。
以下のような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のCreate & Deploy Agent to Cloud Run
この例は、以下のような最小例エージェントを用いています:
- 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です。
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の接続性を確認する
GETのmessagingEndpoint値に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のテストツールでエージェントの機能を検証する方法も学べます。
開発者ワークフロー
セットアップが完了したら、反復開発のワークフローに従います:
エージェントコードを変更してください
コードを変更し、保存し、デプロイ前にローカルでテストしてください。
Google Cloud Runへの再デプロイ
gcloud run deploy gcp-a365-agent --source .テストと監視
Agent 365でサーフェスをテストし、Google Cloud Runのログを監視してください。
注
あなたのアイデンティティ、設計図、ボットエンドポイント、権限は再作成する必要はありません。
トラブルシューティング
このセクションを使って、Google Cloud RunでAgent 365エージェントをデプロイ・実行する際の一般的な問題を診断し、接続性、設定、ライセンスの問題を迅速に修正してください。
メッセージングエンドポイントは攻撃されていません
以下の詳細をご確認ください:
- 終点は正確に次の通りです:
https://<cloud-run-url>/api/messages - Cloud Runは認証されていないアクセスを許可します
- ファイアウォールルールは使いません
ライセンス譲渡の失敗
有効なMicrosoft 365フロンティアライセンスを手動で割り当てるか、サポートされている場合は非ライセンスユーザーパスを使用してください。
ヘルプを受ける
- このトラブルシューティングセクションで扱っていないAgent 365 CLIの問題が発生した場合は、 GitHubで未解決の問題を確認するか、新しい問題を作成してください。
さらに多くのヘルプオプションがあります
助けを得るために以下の点を考慮してください。
サンプルコードとドキュメントのレビュー
関連するSDKリポジトリで他のGitHub課題をレビューまたは提出してください: