Microsoft Foundry Agent Serviceのprivate networking導入・設定・周知チェックリスト【2026年4月更新】

Microsoft Foundry Agent Service / private networking で「VM ではオンプレ API に届くのに、Foundry エージェントだけ失敗する」という状況なら、最優先で確認すべきは private endpoint の数ではありません。2026年4月20日に公開された Microsoft のトラブルシューティングガイダンスでは、典型原因として Capability Host と VNet injection の見落とし が強調されており、private endpoint は受信側の仕組みであって、エージェントの outbound 通信が自動で自社 VNet に入るわけではない、と整理されています。(TECHCOMMUNITY.MICROSOFT.COM)

つまり、VPN や ExpressRoute、社内 DNS が正しくても、Foundry エージェントが正しいサブネットに結び付いていなければ、VM と同じ名前解決や経路を継承できません。この記事では、2026年4月時点の公開情報を踏まえ、Microsoft Foundry Agent Service / private networking の導入前確認、設定差分、展開順序、周知項目を、管理者向けの実務チェックリストとしてまとめます。(TECHCOMMUNITY.MICROSOFT.COM)

目次

2026年4月20日の更新で管理者が最初に押さえること

  • private endpoint は inbound 用 であり、エージェントの outbound が自動で自社 VNet を通ることを保証しません。オンプレ API 到達性の成否は、VNet injection と Capability Host の成立を先に見るべきです。(TECHCOMMUNITY.MICROSOFT.COM)
  • 「VNet 内の VM から名前解決と疎通が成功した」は、「Foundry エージェントも同じ DNS と経路を使っている」の証明にはなりません。今回のブログは、VM は確実に VNet 内だが、エージェントはそうとは限らない ことを失敗の起点として説明しています。(TECHCOMMUNITY.MICROSOFT.COM)
  • サブネット注入と DNS が正しくなった後に 401 が出る場合は、ネットワークより 認証・認可 の確認に切り替えるべきです。Microsoft はこの状態を「到達できている証拠」と位置づけています。(TECHCOMMUNITY.MICROSOFT.COM)
  • private networking でも、すべてのツールが閉域通信になるわけではありません。OpenAPI、Azure Functions、A2A、Private MCP は VNet 経由ですが、Bing Grounding、Websearch、SharePoint Grounding は public endpoint 通信です。(Microsoft Learn)

2026年4月時点で先に固定したい「設定差分」

2026年4月時点の Microsoft 公開情報は、重要ポイントは一貫していますが、構築経路とポータル差分はまだ揺れています。3月13日の「Set up private networking for Foundry Agent Service」は network-secured environment の構築を Bicep/Terraform 前提で案内しています。一方、4月22日の network isolation 記事は、BYO Storage / Search / Cosmos を選び、public network access を Disabled にした場合に限り、Azure portal から VNet injection を作成できる 手順も掲載しています。さらに、tool support 表は new Responses API agents を new Foundry portal または SDK/CLI で作る前提 で、classic portal 生成のエージェントは対象外です。実務では「どのポータル・どの API 世代・どのツール構成で作るか」を最初に固定しないと、設定漏れではなく サポート外の組み合わせ でハマります。(Microsoft Learn)

特に注意したいのは、private AI Search を network-isolated Foundry の agent tool として使うケースです。4月22日時点の公式ドキュメントでは、このシナリオは new Foundry Portal で新しいエージェントを構築すること が前提で、classic portal 側は非対応と明記されています。ブログ要約だけで古いポータル手順を踏襲すると、設計自体が合っていても再現できません。(Microsoft Learn)

導入前チェックリスト

アーキテクチャ前提

  • private networking を本気で使うなら、前提は Standard agent setup / BYO resources です。Basic agent setup や managed resources のままでは、VNet injection は使えません。(Microsoft Learn)
  • Foundry account、project、Azure Storage、Azure Cosmos DB、Azure AI Search、managed identity、モデル関連リソースは、原則として VNet と同一リージョン にそろえます。リージョン不一致は後からの切り分けを難しくします。(Microsoft Learn)
  • Standard と Basic を同じ Foundry account に混在させるより、アカウントを分ける 方が安全です。Capability Host の既定値や運用責任範囲が混ざると、変更時に事故が起きやすくなります。(Microsoft Learn)
  • 運用担当や管理者が private Foundry に入る方法は、VPN Gateway、ExpressRoute、Azure Bastion のいずれかで先に決めておきます。ここが未決定だと、構築できても検証が止まります。(Microsoft Learn)

権限とサブスクリプション

  • テンプレート展開側には、少なくとも Azure AI Account Owner と、必要リソースへロール割り当てを行える Role Based Access Administrator または Owner が必要です。(Microsoft Learn)
  • Capability Host 作成では、Foundry account 側の Contributor と、下流 Azure リソースへのアクセス付与に使う User Access Administrator または Owner が前提です。(TECHCOMMUNITY.MICROSOFT.COM)
  • エージェントを作成・編集する運用メンバーには Azure AI User を割り当てます。Owner や Contributor だけで現場運用を回すと、権限が広すぎます。(Microsoft Learn)
  • 事前に Microsoft.KeyVault、Microsoft.CognitiveServices、Microsoft.Storage、Microsoft.MachineLearningServices、Microsoft.Search、Microsoft.Network、Microsoft.App、Microsoft.ContainerService を登録します。Bing Search を使うなら Microsoft.Bing も必要です。(Microsoft Learn)

ネットワーク設計

  • Agent subnet は Microsoft.App/environments に委任 し、Foundry resource ごとに専用化します。最小は /27、推奨は /24 です。(Microsoft Learn)
  • 使用できるアドレス帯は RFC1918 の private IPv4 です。特に 172.17.0.0/16 は使わない でください。Docker bridge 予約との衝突要因になります。(Microsoft Learn)
  • Firewall を挟む場合は、Managed Identity 関連 FQDN の許可、または AzureActiveDirectory サービスタグ追加を検討します。TLS inspection による自己署名証明書の差し込みも失敗原因になります。(Microsoft Learn)
  • ネットワーク変更を後から吸収する前提で設計しないことが重要です。Capability Host は 更新不可 なので、サブネットや接続先を変える場合は削除して再作成になります。(TECHCOMMUNITY.MICROSOFT.COM)

設定チェックリスト

Foundry resource と inbound 設定

  • Foundry resource / project 側の public network access は、private networking 前提なら Disabled を基本にします。inbound private endpoint も合わせて作成します。(Microsoft Learn)
  • Azure portal で VNet injection を使う場合、先に BYO Storage / Search / Cosmos を選択 し、public network access を Disabled にしておかないと、VNet injection の UI 自体が出ません。(Microsoft Learn)
  • Foundry resource を作っただけでは、Azure AI Search、Azure Storage、Azure Cosmos DB の private endpoint は 自動作成されません。個別に作成して承認状態まで確認します。(Microsoft Learn)

Connections と Capability Host

  • Standard setup では、Azure Cosmos DB、Azure Storage、Azure AI Search の project connection を先に作ります。必要なら Azure OpenAI connection も追加します。Capability Host は raw resource ID ではなく、connection name を参照します。(Microsoft Learn)
  • Capability Host は account と project の両スコープで使い、project 側が account 側の既定値を上書きします。1 スコープにつき 1 つだけ active にでき、変更時は削除・再作成です。(Microsoft Learn)
  • Capability Host の管理は現時点では REST API ベース です。SDK での管理は未提供なので、IaC や運用 runbook 側に GET / PUT / DELETE の確認手順を残しておくべきです。(Microsoft Learn)

Capability Host の存在確認は、会話やポータル画面の記憶ではなく、API で確認した方が早いです。(Microsoft Learn)

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/capabilityHosts?api-version=2025-06-01

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/projects/{projectName}/capabilityHosts?api-version=2025-06-01

DNS とオンプレ経路

  • private DNS zone は、最低でも Foundry、Search、Cosmos、Storage の解決に必要な zone を VNet にリンクします。custom / on-prem DNS を使う場合は、privatelink サブドメインを 168.63.129.16 に条件付きフォワードします。(Microsoft Learn)
  • 検証は「VNet 内のどこか」ではなく、実際に使う agent subnet と同じ DNS 振る舞いを持つ場所 で行います。ブログでも、同じ VNet の VM ではなく 同じサブネット相当の継承関係 を見るべきだと示唆されています。(TECHCOMMUNITY.MICROSOFT.COM)
  • nslookup が public IP を返すなら、private DNS zone のリンク不足か、条件付きフォワーダー不足を疑います。private endpoint が Approved かどうかも同時に確認します。(Microsoft Learn)

名前解決と 443 疎通の検証は、VNet に接続済みの VM から最低限これだけは実施したいところです。(Microsoft Learn)

nslookup <your-foundry-endpoint-hostname>
Test-NetConnection <private-endpoint-ip-address> -Port 443

ツール通信経路とコンプライアンス

  • OpenAPI tool、Azure Functions、A2A、Private MCP は your VNet 経由、Azure AI Search は private endpoint 経由です。オンプレ API 接続がテーマなら、まずここに使うツールを寄せるのが基本です。(Microsoft Learn)
  • Code Interpreter と Function Calling は Microsoft backbone network を使うため、private endpoint は不要です。逆に、Bing Grounding、Websearch、SharePoint Grounding は public endpoint 通信なので、「すべて閉域」の要件にはそのままでは合いません。(Microsoft Learn)
  • Logic Apps、File Search、Browser Automation、Computer Use、Image Generation は、4月22日時点で network-isolated environment では未サポートです。Workflow Agents も outbound の virtual network injection は部分対応に留まります。(Microsoft Learn)

認証設定

  • OpenAPI tool の認証方式は anonymous、API key、managed identity の 3 つです。Bearer token を使う場合も、project connection に Authorization: Bearer <token> を持たせる構成が取れます。(Microsoft Learn)
  • API key 認証では、OpenAPI spec に securitySchemes と security が必要です。managed identity では、対象サービス側のロール割り当てと audience URI が一致していないと 401 になりやすいです。(Microsoft Learn)
  • したがって、401 はネットワーク確認の終点 であり、認証設定確認の始点です。「まだ閉域化が壊れている」と判断してネットワーク班に戻すと、切り分けが長引きます。(TECHCOMMUNITY.MICROSOFT.COM)

展開順序チェックリスト

  1. 対象シナリオを固定する。 new portal / SDK / CLI のどれで作るか、Responses API ベースか、使うツールは private 対応かを先に決めます。ここが曖昧だと、後工程の検証結果を読めません。(Microsoft Learn)
  2. VNet とサブネットを先に設計する。 Agent subnet の委任、アドレス帯、Firewall 経由有無、オンプレ DNS の条件付きフォワード先をここで固めます。(Microsoft Learn)
  3. BYO リソースを同一リージョンで確保する。 Azure Storage、Cosmos DB、AI Search、必要なら Azure OpenAI を先に決め、private endpoint 方針も同時に設計します。(Microsoft Learn)
  4. RBAC と provider registration を完了する。 権限不足のまま進めると、Capability Host や private endpoint が Pending / Failed になり、原因が見えにくくなります。(Microsoft Learn)
  5. Foundry resource / project を作成する。 public network access は Disabled、必要なら inbound private endpoint を作成し、ポータル利用時は BYO resources 選択後に VNet injection を有効化します。(Microsoft Learn)
  6. Search / Storage / Cosmos の private endpoint を個別作成して承認する。 ここは自動化任せにせず、Approved 状態まで確認します。(Microsoft Learn)
  7. project connection を作成してから Capability Host を作る。 Connection name を正しく参照しているかを確認し、変更余地が残る項目はこの段階で潰します。更新不可だからです。(Microsoft Learn)
  8. same-subnet 相当の VM から DNS と 443 を確認する。 nslookup と Test-NetConnection を通してから、初めて agent 側テストに進みます。(Microsoft Learn)
  9. オンプレ API を呼ぶ OpenAPI tool で疎通試験を行う。 ここで timeout なら経路、401 なら認証、403 なら RBAC / policy を中心に見ます。(TECHCOMMUNITY.MICROSOFT.COM)
  10. 切り戻し条件も先に決める。 サブネットや接続先変更が入った場合は Capability Host 再作成が必要なので、メンテナンス扱いにする方が安全です。(Microsoft Learn)

周知チェックリスト

ネットワーク担当に伝えること

  • 「VM で成功 = agent でも成功」ではありません。Foundry エージェントが subnet injection 済みかを別軸で確認する必要があります。(TECHCOMMUNITY.MICROSOFT.COM)
  • private endpoint だけで終わりではなく、Search / Storage / Cosmos の private endpoint、private DNS zone リンク、168.63.129.16 への条件付きフォワーダーまでが 1 セットです。(Microsoft Learn)
  • Public endpoint ツールは network isolation 環境でも外向き通信を使います。利用可否をセキュリティレビュー対象に入れておくべきです。(Microsoft Learn)

運用担当に伝えること

  • 401 は「まだ届いていない」ではなく、「届いた先で認証に失敗している」可能性が高いです。一次切り分けでネットワーク班に戻しすぎないことが重要です。(TECHCOMMUNITY.MICROSOFT.COM)
  • Capability Host は 1 スコープ 1 つで、重複作成は 409 になります。自動化ジョブの再実行設計を入れておかないと、運用で false alarm が増えます。(Microsoft Learn)
  • secure setup を削除するときは、Foundry resource を purge してから VNet を消す順序が推奨です。削除順序を誤ると、service association link まわりで後片付けが残ることがあります。(Microsoft Learn)

開発・アプリ担当に伝えること

  • OpenAPI spec には operationId が必須です。API key を使うなら securitySchemes と security も必要です。(Microsoft Learn)
  • 秘密情報はコードや prompt に埋め込まず、project connection に寄せます。Bearer token も connection 管理できます。(Microsoft Learn)
  • managed identity を使うなら、対象サービスが Entra ID トークンを受け付けるか、必要ロールが付与されているか、aud が期待値と一致するかまで確認します。(Microsoft Learn)

障害時の切り分けチェックリスト

VM では成功するのに agent だけ失敗する

最初に疑うべきは Capability Host と subnet injection です。社内 DNS、VPN、ExpressRoute の設計そのものが正しくても、agent runtime が対象サブネットに入っていなければ、同じ名前解決経路を継承しません。(TECHCOMMUNITY.MICROSOFT.COM)

nslookup が public IP を返す

private DNS zone の未リンク、custom DNS の条件付きフォワーダー不足、または private endpoint 未承認を疑います。custom DNS なら privatelink サブドメインを 168.63.129.16 に転送しているかを確認します。(Microsoft Learn)

401 / 403 が出る

401 は認証ヘッダー、token audience、project connection の値を優先確認します。403 は RBAC や承認状態、Azure Policy の影響も確認対象です。network issue と決め打ちしないことが重要です。(TECHCOMMUNITY.MICROSOFT.COM)

Capability Host 作成が失敗する

Cosmos / Storage / AI Search の connection 不足、権限不足、provider 未登録、既存 host との競合が主因です。特に secure standard agent では、3 つの BYO resource connection がそろっていないと作成できません。(Microsoft Learn)

Agent 画面の読み込みや作成が異常に遅い

Cosmos DB の private endpoint / DNS / Firewall を見直します。Microsoft のトラブルシューティングでも、Agent pages の timeout は Cosmos 側到達性や Managed Identity 関連 FQDN の許可不足が原因候補として挙げられています。(Microsoft Learn)

最後に、今すぐやるべきこと

まずやるべきことは 4 つです。
1つ目は、対象プロジェクトが Standard / BYO resources 前提 になっているかを棚卸しすること。
2つ目は、account / project の Capability Host が存在し、期待する connection name を参照しているか を API で確認すること。
3つ目は、same-subnet 相当の VM から DNS と 443 を確認すること。
4つ目は、利用予定ツールを VNet 経由・private endpoint 経由・public endpoint 経由 に分類し、公開通信を許容しないツールを先に除外することです。これを済ませてから展開順序どおりに進めれば、発表直後の情報差分があっても、導入判断と切り分けの精度をかなり上げられます。(Microsoft Learn)

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次