はじめに
本記事では、Microsoft Foundryエージェントを使用したチャットアプリをデプロイした手順をまとめます。Microsoft公式のリファレンスアーキテクチャを参照して、GitHubに公開されている環境をデプロイしています。
GitHubにガイドも公開されていますが、Foundryポータルでの画面や展開したリソース情報も記載してますので、この記事が理解の役に立てば幸いです。
概要
以下のリファレンスアーキテクチャの環境をデプロイしました。
この構成は、チャットUIアプリをApp Serviceで稼働して、アプリからOpenAIモデル(LLM)に接続しているFoundry Agent Serviceにアクセスする構成です。
また、Agentには"Bing Searchによるグラウンディング"も設定して、Web検索のテストも行っています(GitHubでのガイド手順に沿った内容です)。

(Microsoft Learnから抜粋。 実装はAzure AI SearchではなくBing Searchのグラウンディング)
前提条件
GitHubの”Prerequisites”を参照。
Azureサブスクリプション、権限などについて記載があります。
(※私は実装時に、App Service Planのクォータにひっかかり、App Serviceだけjapanwestでデプロイしました。。)
設定手順
1. インフラリソースのデプロイ
基本的にGitHubのREADMEに記載のガイドに従って実施していきます。
以下、ローカルPCのWSL環境から実行しました。
- GitHubのリポジトリのクローン
git clone https://github.com/Azure-Samples/microsoft-foundry-basic cd microsoft-foundry-basic
- Azureへログインしてサブスクリプションの設定
az login az account set --subscription <自身のサブスクリプション>
- ロケーションの指定
READMEにテストされているロケーションが記載されています。"japaneast"で設定。※ここで私の環境ではApp Serviceはjapaneastでのクォータにひっかかり、App Serviceだけ該当のbicepファイルのパラメータを変えてjapanwestでデプロイしました。LOCATION=japaneast
- デプロイするリソースの基本名値の指定
デプロイするリソース名の一部に使用される変数を設定。任意ですが"FAbasic"で設定。BASE_NAME=FAbasic
- リソースのデプロイ
リソースグループを指定して各種リソースをデプロイ。
※リソースグループは事前に作成済みであったため、変数指定だけしています。ターミナルにデプロイ結果のメッセージが表示されます。RESOURCE_GROUP=rg-ohrui PRINCIPAL_ID=$(az ad signed-in-user show --query id -o tsv) # This takes about 10 minutes to run. az deployment group create -f ./infra-as-code/bicep/main.bicep \ -g $RESOURCE_GROUP \ -p baseName=${BASE_NAME} \ -p yourPrincipalId=$PRINCIPAL_ID
Azure Portalからもリソースが確認できます。

2. Foundry Agentのデプロイ
これまでのリソースのデプロイによりFoundryプロジェクトまで作成されています。以降の手順でエージェントのデプロイ・設定を実施します。
-
エージェントの作成・モデルの選択
-
Foundry Portalにログインして、”projchat”プロジェクトの画面を開く
-
"新しいFoundry"が有効でない場合は、トグルボタンで切り替え
-
上部のバーで[ビルド]を選択
左のメニューバーで[エージェント]が選択されていることを確認 -
[エージェントの作成]ボタンをクリック
-
表示されるポップアップで"baseline-chatbot-agent"と入力
-
-
ナレッジツールの設定
-
ナレッジ セクションの[追加]ボタンをクリック
-
表示されるポップアップ画面で、[Bing検索接続を使用した典拠(グラウンド)]から"bingaiagent"を選択、[追加]をクリック
-
プレイグランドパネルの右上にある[保存]をクリック
-
-
エージェントの公開(発行)
以下の手順によりエージェントを専用のエンドポイントを持つマネージドAzureリソースに昇格させることができます。
3. プレイグラウンドでエージェントのテスト
プレイグラウンドでエージェントに対して最新の情報を確認する必要がある質問をして、Bing検索によるグラウンディング(Web検索)をテストします。
4. App Serviceにチャットアプリのデプロイ
GitHubにあるソースからApp Serviceにチャットアプリをデプロイする。基本的にREADMEに記載の手順に従って実施していきます。
-
変数の設定
FOUNDRY_NAME="aif${BASE_NAME}" FOUNDRY_PROJECT_NAME="projchat" FOUNDRY_AGENTS_URL="https://${FOUNDRY_NAME}.services.ai.azure.com/api/projects/${FOUNDRY_PROJECT_NAME}/agents?api-version=2025-11-15-preview" echo $FOUNDRY_AGENTS_URL
-
エージェントの値の取得
AGENT_ID=$(az rest -u $FOUNDRY_AGENTS_URL -m "get" --resource "https://ai.azure.com" --query last_id -o tsv) echo $AGENT_ID
-
アプリ設定の更新エージェントの値の取得
APPSERVICE_NAME=app-$BASE_NAME az webapp config appsettings set -g $RESOURCE_GROUP -n $APPSERVICE_NAME --settings AIAgentId=${AGENT_ID}App Serviceに設定されている環境変数が指定値になったことを確認できます。(Azure Portalでの設定も可能です。)

-
チャットアプリ(ChatUI)のデプロイ
az webapp deploy -g $RESOURCE_GROUP -n $APPSERVICE_NAME --type zip --src-url https://github.com/Azure-Samples/microsoft-foundry-basic/raw/refs/heads/main/website/chatui.zipターミナルにデプロイ結果のメッセージが表示されます。
5. チャットアプリのテスト
ChatUIアプリのURLにアクセスしてアプリのテストをします。
ここでも最新の情報を確認する必要がある質問をして、Bing検索によるグラウンディング(Web検索)をテストします。

Foundryポータルのエージェントの[トレース]画面から、エージェントへのアクセスやツールの利用が確認できます。

その他
環境をデプロイして気づいたこと・気になったことを記載しておきます。
- App Service, ChatUIでの認証
リファレンスアーキテクチャでは、”ChatUIへのアクセスにMicrosoft Entra IDを使用して認証”と記載されていますが、私がGitHubリポジトリからデプロイしたときには、これは有効になっていませんでした。
そのためApp ServiceのEasy Auth機能を後から設定して、Webサイトへの認証を追加しました。
- ネットワークセキュリティ
この環境自体が基本的な学習・PoC向けのアーキテクチャのため、ネットワークセキュリティは実装に含まれていないです。デプロイしたFoundryプロジェクトはAPIキー認証は無効化されていましたが、検証・評価中にもFoundryのネットワーク設定でアクセスをしぼる、または使わないときは外部アクセス無効にするなどを考慮したほうがよいかもしれません。
まとめ
Microsoft Foundryエージェントを使用したチャットアプリのリファレンスアーキテクチャを、実際に環境へのデプロイした内容を記載しました。公式リファレンス・GitHubのガイドに沿う形で実施しながらエージェント動作やAzureリソースの関連性について理解を深めることができました。
この記事がMicrosoft Foundryを使う方の参考になれば幸いです。








