Microsoft Foundry Agent Service private networking最新整理|オンプレミスAPI接続で最初に確認すべき変更点

Microsoft Foundry Agent Service / private networking でオンプレミス API に接続できない場合、最初に見るべきポイントは VPN や ExpressRoute そのものではありません。結論から言うと、Foundry エージェントの実行基盤が本当に VNet 内の委任サブネットへ配置されているか、つまり Capability Host が正しく作成・関連付けされているかを確認する必要があります。

Microsoft は 2026年4月20日付で「Troubleshooting Microsoft Foundry Accessing On‑Premises APIs Over Private Networking」というガイダンスを公開し、VM からはオンプレミス API に到達できるのに、Foundry agent からは DNS 解決失敗、タイムアウト、HTTP 401/403 などが発生する典型パターンを整理しました。ポイントは、Private Endpoint を作成しただけでは、Agent runtime のアウトバウンド通信が自動的に自社 VNet を通るわけではないという点です。(TECHCOMMUNITY.MICROSOFT.COM)

この記事では、Enterprise AI architects、network engineers、security architects がすぐに確認すべき変更点、影響範囲、初動チェックを実務視点で整理します。

目次

Microsoft Foundry Agent Service / private networking の最新動向

今回の Microsoft ガイダンスは、Microsoft Foundry Agent Service がオンプレミス、またはプライベートにホストされた API を VPN / ExpressRoute 経由で呼び出す構成を対象にしています。特に、VNet 内の VM では名前解決も API 呼び出しも成功するのに、Foundry agent では同じ API 呼び出しが失敗するケースが中心です。(TECHCOMMUNITY.MICROSOFT.COM)

実務で重要なのは、これは単なるトラブルシューティング記事ではなく、Foundry Agent Service の private networking 設計における前提確認リストとして使える点です。

これまで多くのチームは、次のように考えがちでした。

  • Foundry リソースに Private Endpoint を作った
  • VNet からオンプレミス DNS にフォワードできる
  • VM からオンプレミス API にアクセスできる
  • だから Foundry agent からも同じ経路でアクセスできるはず

しかし、Microsoft の説明では、この理解が不十分です。Foundry agent のアウトバウンド通信が VNet ルーティング、DNS、セキュリティ制御を継承するには、Capability Host によるサブネットへの配置が重要な前提になります。(TECHCOMMUNITY.MICROSOFT.COM)

最初に確認すべき結論: Capability Host がないと VNet 内で実行されない

Microsoft Foundry Agent Service / private networking の切り分けで最初に確認すべきことは、Project Capability Host または Agent Capability Host が正しく関連付けられているかです。

Microsoft のガイダンスでは、Private Endpoint は基本的にインバウンド接続のための構成であり、Foundry agent の実行時トラフィックを自動的に自社 VNet に流すものではないと説明されています。Agent runtime が VNet の DNS 設定やルーティングを継承するには、Capability Host によって、プロジェクトまたはエージェントが顧客管理のサブネットに関連付けられている必要があります。(TECHCOMMUNITY.MICROSOFT.COM)

つまり、初動で見るべき順序は次のとおりです。

優先度確認項目見るべき理由
最優先Project / Agent Capability Host が存在するかAgent runtime が VNet に配置される前提
最優先Capability Host が正しいサブネットを参照しているか誤ったサブネットでは DNS・ルート・NSG の前提が崩れる
高agent subnet が適切に委任されているかMicrosoft.App/environments への委任が必要になる構成がある
高VNet DNS がオンプレミス DNS に到達できるかAgent が VNet 内に配置された後の名前解決経路を確認するため
中HTTP 401/403 がネットワーク問題か認証問題か401 は「到達できた後の認証失敗」の可能性がある
中利用している Foundry 体験・SDK・CLI が対象構成をサポートするかUI や hosted agents の制約で期待通りに動かない場合がある

特に重要なのは、VM で成功していることは、Foundry agent で成功することの証明にはならないという点です。VM は確実に VNet 内にありますが、Capability Host が未設定の agent runtime は、同じネットワーク境界内で実行されていない可能性があります。

影響を受けやすい構成

今回のガイダンスで影響を受けやすいのは、オンプレミス API、社内 DNS、閉域ネットワーク、AI エージェントを組み合わせている企業環境です。

構成影響を受ける理由最初の確認ポイント
VPN / ExpressRoute 経由でオンプレミス API を呼び出すAgent runtime が VNet 外にあると閉域経路を使えないCapability Host とサブネット参照
社内 DNS で API 名を解決しているAgent が VNet DNS を継承していないと名前解決できないVNet DNS、条件付きフォワーダー、agent subnet
OpenAPI tool で社内 API を呼び出すAPI 定義は正しくても実行経路が違うと失敗するAgent の配置先と認証設定
Azure Firewall / Proxy を経由しているFQDN 許可、TLS inspection、Managed Identity 通信で詰まりやすいFirewall ログ、許可リスト、TLS inspection 有無
Private Endpoint を複数構成しているPrivate Endpoint は inbound 前提のため outbound 経路と混同しやすいAgent runtime の VNet injection
複数 agent を異なる分離境界で運用しているプロジェクト単位と agent 単位の Capability Host 設計が必要Project Capability Host と Agent Capability Host の使い分け

この構成では、ネットワーク担当者だけでなく、AI アーキテクトとセキュリティ担当者が同じ前提を共有していないと、調査が長引きます。たとえば、ネットワーク担当者は「VNet から API に到達できる」と判断し、AI チームは「agent が失敗する」と報告し、認証担当者は「401 なら認証では」と見ます。実際には、agent がどこで実行されているかを確認しない限り、どの判断も途中で止まってしまいます。

Capability Host とは何か

Capability Host は、Foundry の機能がどこで実行されるかを定義する制御点です。private networking では、Foundry project や agent を顧客管理のサブネットに関連付け、プラットフォーム管理のコンテナ実行基盤をそのサブネットに注入するために使われます。これにより、agent のアウトバウンド通信が VNet のルーティング、DNS、セキュリティ制御に従うようになります。(TECHCOMMUNITY.MICROSOFT.COM)

Capability Host には、主に次の考え方があります。

種類適用範囲向いているケース
Project Capability Hostプロジェクト配下の agent 全体同一プロジェクト内の agent を同じネットワーク境界で運用する場合
Agent Capability Host個別 agentagent ごとに異なる分離境界やサブネットを使いたい場合

実務では、まず Project Capability Host を基本に考えると整理しやすくなります。全 agent が同じオンプレミス API 群にアクセスするなら、プロジェクト単位で統一した方が運用ミスを減らせます。一方、機密度の高い API と一般業務 API を分けたい場合は、Agent Capability Host による個別設計が候補になります。

「VM から成功するのに agent から失敗する」原因

この問題の本質は、テスト対象の実行場所が違うことです。

VNet 内の VM から nslookup や curl を実行して成功しても、それは「その VM が持つ DNS 設定、ルート、NSG、Firewall ポリシーでは成功する」という意味にすぎません。Foundry agent が同じサブネットに注入されていなければ、同じ条件でテストしたことにはなりません。

Microsoft のガイダンスでも、Capability Host がない場合、agent runtime は VNet DNS サーバー設定、社内 DNS フォワード規則、オンプレミス名前解決経路を継承しないと説明されています。(TECHCOMMUNITY.MICROSOFT.COM)

よくある失敗パターンは次の通りです。

症状よくある原因初動
DNS resolution failureagent runtime が VNet DNS を使っていないCapability Host の関連付けを確認
Connection timeout閉域ルート、Firewall、NSG のいずれかで遮断agent subnet からの経路を確認
HTTP 401API には到達しているが認証に失敗token、audience、header、接続設定を確認
HTTP 403認可、IP 制限、API Gateway 側ポリシーで拒否送信元経路と認可ルールを確認
予期しない backend / proxy URL がログに出る管理プロキシや経路設計の影響request path と proxy hop を確認

特に HTTP 401 は、ネットワーク障害と誤解されやすいポイントです。Microsoft は、サブネット注入や DNS が修正された後に 401 が出る場合、API に到達し、プライベート経路でルーティングされている可能性があり、調査対象はネットワークから認証・認可へ移ると説明しています。(TECHCOMMUNITY.MICROSOFT.COM)

すぐ実行すべき初動チェック

Microsoft Foundry Agent Service / private networking の障害対応では、最初から Firewall ログや DNS サーバー設定を深掘りするより、次の順番で確認した方が早く原因に近づけます。

Capability Host の関連付けを確認する

まず、対象の project または agent に Capability Host が関連付けられているかを確認します。未設定であれば、VPN、ExpressRoute、Private Endpoint、社内 DNS が正しくても、agent runtime がそのネットワーク構成を使っていない可能性があります。

確認すべき観点は次の3つです。

  • Project Capability Host が作成されているか
  • Agent Capability Host を使っている場合、対象 agent に正しく紐づいているか
  • Capability Host が意図した customer subnet を参照しているか

構成変更後は、既存 agent の再作成や再デプロイが必要になる場合があります。ネットワーク構成を変更したのに agent の実行環境が古い前提のまま動いていると、調査結果がぶれます。

agent subnet の委任とサイズを確認する

Microsoft Learn の private networking ガイドでは、network-secured environment の検証項目として、agent subnet が Microsoft.App/environments に委任されていることを確認する手順が示されています。また、agent subnet は Foundry リソース間で共有できないこと、推奨サイズとして /24 が示されていることも記載されています。(Microsoft Learn)

実務では、次のような設計ミスが起きやすいです。

  • 既存の共有サブネットを流用している
  • サブネットサイズが小さく、将来の agent 増加に耐えない
  • 委任設定が入っていない
  • 別の Foundry リソースと同じ agent subnet を使っている
  • Private Endpoint 用サブネットと agent 用サブネットを混同している

agent subnet は「AI エージェントの実行場所」として扱うべきです。単なるネットワーク接続点ではなく、セキュリティ境界、IP アドレス設計、監査ログ設計の対象になります。

VNet DNS とオンプレミス DNS の経路を確認する

Capability Host によって agent がサブネットへ配置された後は、DNS の確認が重要になります。

Microsoft Learn では、Private Endpoint の DNS 解決確認として、VNet に接続されたマシンから対象 FQDN に対して nslookup を実行し、プライベート IP に解決されるかを確認する手順が示されています。また、Private DNS zone が VNet にリンクされているか、条件付きフォワーダーが Azure DNS virtual server IP に向いているかも確認ポイントとして挙げられています。(Microsoft Learn)

オンプレミス API の場合は、さらに次の観点が必要です。

  • VNet の DNS 設定が社内 DNS または DNS Forwarder を参照しているか
  • 社内 DNS がオンプレミス API の FQDN を解決できるか
  • API の FQDN が public IP ではなく、意図した private IP に解決されているか
  • split-brain DNS を使っている場合、Azure 側から見た解決結果が正しいか
  • DNS TTL が長すぎて古いレコードを引いていないか

ここで重要なのは、「VM で名前解決できる」だけで終わらせないことです。agent が注入されるサブネット、Firewall、DNS Forwarder、オンプレミス DNS までの経路を一続きで確認します。

Private Endpoint と outbound 通信を混同しない

Private Endpoint は、Azure リソースへプライベートに到達するための重要な構成です。ただし、Foundry agent がオンプレミス API を呼び出す outbound 経路を自動的に作るものではありません。

Microsoft Learn の Standard Setup with private networking では、BYO private virtual network、subnet integration、private resource access、no public egress といった考え方が説明されています。つまり、private networking は複数の要素で構成される設計であり、Private Endpoint だけで完結しません。(Microsoft Learn)

実務では、次のように役割を分けて考えると混乱しにくくなります。

要素主な役割
Private EndpointAzure リソースへのプライベートな inbound 接続
Capability Hostagent runtime を顧客管理サブネットに関連付ける制御点
agent subnetagent 実行基盤がネットワーク設定を継承する場所
VNet DNS名前解決経路を制御
VPN / ExpressRouteAzure とオンプレミス間の閉域接続
Firewall / NSG通信許可、遮断、監査の制御

「Private Endpoint があるから安全」ではなく、「どの通信がどの経路を通るのか」を通信方向ごとに整理することが重要です。

権限と依存リソースの確認も早めに行う

Capability Host の作成や network-secured environment の構成では、Azure RBAC と依存リソースの準備も原因になりやすいポイントです。

Microsoft Learn では、private networking の前提として、作成者に Azure AI Account Owner ロールが必要であること、テンプレート展開者には Azure Cosmos DB、Azure AI Search、Azure Storage などに対するロール割り当て権限が必要であることが示されています。また、Role Based Access Administrator または subscription level の Owner が条件を満たす選択肢として説明されています。(Microsoft Learn)

加えて、Standard Setup では Azure Storage、Azure Cosmos DB、Azure AI Search などが files、threads、vector data の保存に使われることが説明されています。これらの依存リソースが private networking の前提に沿って接続されていないと、agent の作成や実行時に別のエラーとして表面化します。(Microsoft Learn)

確認項目は次の通りです。

分類確認項目失敗時に起きやすいこと
RBACFoundry account / project 作成者の権限Capability Host 作成失敗、設定不完全
Role assignment依存リソースへの権限付与Storage、Search、Cosmos DB 連携失敗
Resource providerMicrosoft.App、Microsoft.ContainerService などテンプレート展開失敗
RegionFoundry、VNet、依存リソースのリージョン整合private networking 構成不整合
Project connectionsStorage、Search、Cosmos DB、AI Services との接続agent 実行や retrieval 機能の失敗

ネットワークの問題に見えて、実際には RBAC や project connection が原因のこともあります。特にエンタープライズ環境では、ネットワーク管理者、Azure 管理者、AI 開発チームの権限が分かれているため、初動で権限表を共有しておくと手戻りを減らせます。

対応前に知っておきたい制約

Microsoft Foundry Agent Service / private networking には、構成上の制約があります。これを知らずにトラブルシューティングを進めると、正しいネットワーク設計をしているのに「なぜか動かない」と見えてしまいます。

Microsoft Learn では、network-secured environment のセットアップは現時点で Azure portal からの展開ではなく、Bicep または Terraform などのプログラム的な展開が必要と説明されています。また、hosted agents では、VNet 構成を Foundry account 作成時に含める必要があり、既存 Foundry account に後から network injection を追加することはサポートされないとされています。(Microsoft Learn)

さらに、Microsoft のガイダンスでは、end-to-end network isolation は新しい Foundry portal experience ではサポートされず、network-isolated agent scenarios では classic Foundry experience、SDK、CLI が必要になる旨が示されています。(TECHCOMMUNITY.MICROSOFT.COM)

実務上は、次のように判断します。

判断ポイント実務での扱い
既存 Foundry account に後から閉域化したいhosted agents では再作成が必要になる可能性を前提に計画する
Azure portal だけで完結させたいnetwork-secured environment では Bicep / Terraform / CLI / SDK の利用を検討する
新しい Foundry portal experience を使っているnetwork isolation の対象シナリオか確認する
本番環境で複数 agent を扱うProject / Agent Capability Host の設計方針を先に決める
監査・セキュリティ要件が厳しいagent subnet、Firewall、DNS、ログ保全を設計書に明記する

このあたりは、PoC では見落とされやすいポイントです。PoC で「動いた」構成をそのまま本番に持ち込むのではなく、本番では account 作成時点から private networking を前提に設計した方が安全です。

症状別の切り分け手順

DNS resolution failure が出る場合

最初に疑うべきは、DNS サーバーそのものではなく、agent がその DNS 経路を使える場所で実行されているかです。

切り分け手順は次の通りです。

  1. Project / Agent Capability Host の有無を確認する
  2. Capability Host が正しい agent subnet を参照しているか確認する
  3. agent subnet の VNet DNS 設定を確認する
  4. VNet からオンプレミス DNS へのフォワード経路を確認する
  5. オンプレミス API の FQDN が期待する private IP に解決されるか確認する
  6. DNS Forwarder や Firewall のログで query が届いているか確認する

この順序を守ることで、「DNS サーバーは正しいのに agent が使っていない」という見落としを避けられます。

Connection timeout が出る場合

timeout は、名前解決後の経路またはポリシーで止まっている可能性があります。

確認すべき項目は次の通りです。

  • agent subnet からオンプレミス API へのルート
  • VPN / ExpressRoute の経路広告
  • UDR の設定
  • NSG の outbound ルール
  • Azure Firewall の allow rule
  • オンプレミス Firewall の戻り通信
  • API 側の送信元 IP 制限

特に、オンプレミス側で「Azure VNet からの通信」を許可しているつもりでも、実際の送信元サブネットが想定と違う場合があります。agent subnet の IP レンジを明示して、オンプレミス側の許可ルールと照合しましょう。

HTTP 401 / 403 が出る場合

HTTP 401 は、必ずしもネットワーク障害ではありません。むしろ、private path 経由で API に到達できるようになった後に、認証・認可の問題として表面化している可能性があります。Microsoft のガイダンスでも、サブネット注入と DNS が修正された後の 401 は、接続性が改善したサインとして扱えると説明されています。(TECHCOMMUNITY.MICROSOFT.COM)

確認すべき項目は次の通りです。

  • Foundry connection に設定した credential / token
  • API が期待する Authorization header
  • token の audience / issuer / scope
  • API Gateway や reverse proxy で必要な追加 header
  • managed proxy hop による header の変化
  • IP 制限と認証エラーのログ区別

403 の場合は、認証は通っているが認可で拒否されている場合もあります。API 側のログで、401 と 403 を分けて確認することが重要です。

予期しない proxy URL や backend URL が出る場合

ログに想定外の backend URL、proxy URL、管理プレーン由来の情報が出る場合は、単純な DNS 障害ではなく、request path の理解が必要です。

この場合は、次の情報をそろえて調査します。

  • agent の tool 設定
  • OpenAPI 定義内の server URL
  • Foundry connection の宛先
  • API Gateway / reverse proxy のログ
  • Firewall の outbound ログ
  • API 側で観測した source IP と header

エンタープライズ環境では、セキュリティ製品や API Gateway が途中で header を付与・削除することがあります。Foundry 側だけでなく、経路全体のログを突き合わせることが大切です。

役割別に見るべきポイント

Microsoft Foundry Agent Service / private networking は、単一チームだけでは完結しにくい領域です。AI、ネットワーク、セキュリティの責任範囲を整理しておくと、障害対応が速くなります。

役割主な確認ポイント成果物
Enterprise AI architectagent の構成、tool、Capability Host、依存リソースagent 構成図、project connection 一覧
Network engineerVNet、subnet、DNS、VPN、ExpressRoute、Firewall通信経路図、DNS 経路図、許可ルール
Security architectPrivate Endpoint、public network access、認証、監査ログセキュリティ設計書、監査要件、アクセス制御表
Azure platform engineerRBAC、resource provider、Bicep / Terraform、リージョン整合IaC テンプレート、権限表、展開手順
API ownerAPI 認証、認可、IP 制限、ログAPI 仕様、認証要件、障害ログ

おすすめは、障害発生後ではなく、設計段階で「agent からオンプレミス API までの通信経路図」を1枚作ることです。そこに、名前解決、認証、Firewall、Private Endpoint、Capability Host を同じ図に入れると、チーム間の認識違いを減らせます。

本番環境での実装前チェックリスト

本番導入前には、次のチェックリストを使うと抜け漏れを防ぎやすくなります。

チェック確認内容
Foundry account / projectprivate networking 前提で作成されているか
Capability HostProject または Agent に正しく関連付けられているか
agent subnet専用サブネット、委任、サイズ、IP レンジが妥当か
Private EndpointFoundry、Storage、Search、Cosmos DB など必要なリソースに設定されているか
DNSPrivate DNS zone、条件付きフォワーダー、オンプレミス DNS が整合しているか
VPN / ExpressRouteAzure からオンプレミス API への経路と戻り経路があるか
Firewall / NSGagent subnet から必要な宛先への outbound が許可されているか
RBAC作成者、運用者、managed identity に必要な権限があるか
Project connectionsStorage、Search、Cosmos DB、AI Services との接続があるか
認証API 側が期待する token、header、audience、scope が設定されているか
ログFoundry、Firewall、DNS、API Gateway、API サーバーのログを追えるか
運用構成変更時に Capability Host や account 再作成が必要か確認しているか

このチェックリストで特に見落としやすいのは、Capability Host、agent subnet、DNS の3つです。Private Endpoint や VPN は比較的目立つため設計書に載りやすいですが、agent runtime の配置場所は曖昧なまま進みがちです。

実務での推奨アクション

今回の更新を受けて、Microsoft Foundry Agent Service / private networking を利用しているチームは、次の順番で棚卸しするのが現実的です。

まず、既存の Foundry project と agent を一覧化し、それぞれに Capability Host が関連付いているかを確認します。次に、Capability Host が参照しているサブネット、VNet DNS、オンプレミス DNS へのフォワード経路を確認します。その後、agent が呼び出すオンプレミス API ごとに、FQDN、認証方式、必要 header、許可すべき送信元 IP レンジを整理します。

障害がすでに起きている場合は、次の順番で対応してください。

  1. Capability Host の有無を確認する
  2. 正しい agent subnet に関連付いているか確認する
  3. agent subnet からオンプレミス DNS / API への経路を確認する
  4. DNS 解決結果が期待する private IP か確認する
  5. timeout なら Firewall / NSG / UDR / VPN / ExpressRoute を確認する
  6. 401 / 403 なら認証・認可・header・token を確認する
  7. portal、SDK、CLI、hosted agents の制約に該当しないか確認する

この順番なら、DNS や Firewall を無駄に深掘りする前に、最も根本的な「agent が VNet 内にいるのか」を確認できます。

まとめ: まず「agent の実行場所」を確認する

Microsoft publishes troubleshooting guidance for Foundry agents reaching on-prem APIs over private networking の要点は、Microsoft Foundry Agent Service / private networking では、Private Endpoint や VPN だけでなく、Capability Host による agent runtime の配置確認が不可欠という点です。

VM からオンプレミス API に接続できても、Foundry agent が同じネットワーク経路を使っているとは限りません。DNS failure、timeout、HTTP 401/403 が出たら、まず Capability Host、agent subnet、DNS 継承、サポートされる Foundry experience を確認しましょう。

次に取るべき行動はシンプルです。既存環境の Foundry project / agent ごとに、Capability Host の有無、参照サブネット、DNS 経路、API 認証設定を棚卸ししてください。これにより、ネットワーク設計、セキュリティ設計、AI agent 実装の認識をそろえたうえで、オンプレミス API 連携を安定して運用しやすくなります。

この記事を書いた人

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

コメント

コメントする

目次