0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Foundry のネットワーク設計を理解する 〜インバウンド/アウトバウンドで整理する閉域化アーキテクチャ〜

0
Posted at

本記事は GitHub Copilot および Microsoft Foundry を活用して作成されています。内容の正確性については各公式ドキュメントをご確認ください。

Microsoft Foundry の価値は「使えるモデルの種類が豊富なこと」だけではありません。エンタープライズで AI を本番運用するうえで避けて通れない「ネットワーク要件」を満たす機能——プライベートネットワークへの閉じ込め、Private Link による通信保護、VNet インジェクションによるエージェント実行基盤の隔離、ファイアウォールによる egress 制御——をプラットフォーム標準で提供している点が、大きな強みです。

ただし、これらのネットワーク機能は 開発者が理解して実装するのが難しい のも事実です。Foundry の閉域化は「Private Endpoint を張れば終わり」ではなく、インバウンドアウトバウンド で仕組みがまったく異なり、特にアウトバウンドはエージェント実行基盤を VNet に注入する「ネットワークインジェクション」が前提になります。そこで本記事では、公式ドキュメントのアーキテクチャ図を交えながら、Foundry のネットワーク設計を インバウンド/アウトバウンド に分けて整理します。あわせて、アウトバウンドを Hub & Spoke 構成にする場合/しない場合 の違い、直近アップデートである プライベート MCP サーバー接続 も解説します。

本記事は以下の公式ドキュメントを根拠にしています(2026 年 6 月時点)。


1. Foundry のネットワーク分離は「3つの領域」で考える

公式ドキュメントでは、Foundry のネットワーク分離を次の 3 領域 に分けて考えるよう示しています。

  1. インバウンド:Foundry リソースへ入ってくる通信(例:データサイエンティストや業務アプリが Foundry にアクセスする)
  2. アウトバウンド(Foundry リソース発):Foundry リソースから他の Azure サービス(Storage / Key Vault / Container Registry / 監視など)へ出ていく通信
  3. アウトバウンド(Agent クライアント発):エージェント実行基盤から、プライベートなデータソースや Azure PaaS、許可されたインターネット先へ出ていく通信

下図が、インバウンドとアウトバウンドを俯瞰した公式の全体像です。

Foundry のネットワーク分離計画図(インバウンド/アウトバウンド)

出典: How to configure network isolation for Microsoft Foundry

ポイントは、インバウンドは Private Endpoint(Private Link)で守り、アウトバウンドは VNet インジェクション(サブネット委任)で守る、という非対称な構造になっていることです。順番に見ていきます。


2. インバウンド:Private Endpoint で「入口」を閉じる

インバウンドは比較的シンプルです。Foundry プロジェクトの Public Network Access(PNA)フラグ で、入口の開閉を制御します。

PNA 設定 挙動
Disabled Private Endpoint 経由のみアクセス可能(完全閉域)
Enabled from selected IP addresses 指定した IP アドレス/VNet からのみ許可
Enabled(既定) パブリックに開放

閉域化する場合は Disabled を選び、Foundry リソースに対して Private Endpoint を作成します。これにより、VNet 内のクライアント(または ExpressRoute / VPN で接続したオンプレ)から、同じ接続文字列のままプライベート IP で名前解決されるようになります。

DNS のポイント

  • Private Endpoint を作ると、Azure は privatelink サブドメインのプライベート DNS ゾーンに A レコードを作成します。
  • オンプレや独自 DNS を使う場合は、privatelink サブドメインを Azure DNS(168.63.129.16)へ条件付きフォワードする必要があります。
  • Foundry(アカウント)で必要となる主な DNS ゾーン:
    • privatelink.cognitiveservices.azure.com
    • privatelink.openai.azure.com
    • privatelink.services.ai.azure.com

インバウンドの接続経路

閉域化した Foundry へ「どこから入るか」は、次のいずれかを選びます。

  • ExpressRoute:オンプレからプライベート接続(本番の閉域要件で推奨)
  • VPN Gateway(Point-to-site / Site-to-site)
  • Azure Bastion + ジャンプボックス VM:VNet 内に開発環境を置く

3. アウトバウンド:VNet インジェクションで「実行基盤」を VNet に注入する

ここが Foundry Agent の最大の特徴です。

エージェントの実体は Azure Container Apps 基盤上で動くコンテナ(Agent クライアント) です。これを顧客の VNet 内の 委任サブネットMicrosoft.App/environments に委任)へ「注入(インジェクション)」することで、エージェントから Cosmos DB / AI Search / Storage などへの アウトバウンド通信を VNet 内に閉じ込めます。

重要:インバウンドの Private Endpoint だけでは、エージェントのアウトバウンドは閉域化できません。アウトバウンドには VNet インジェクション(委任サブネット)が必須です。両方を構成して初めて「No public egress(公開アウトバウンドなし)」が実現します。

下図が、Agent Service と評価(Evaluation)まで含めた推奨ネットワーク分離構成です。

![Foundry の推奨ネットワーク分離構成(Agent / 評価)]agent-eval-network-diagram.png

出典: Set up walkthrough for outbound network isolation

アウトバウンド閉域化の前提条件

  • Standard Agent Setup(標準セットアップ)が必須。Basic(マネージドリソース)構成では VNet インジェクションは使えません。
  • BYO リソースが必須:Azure Storage / Azure AI Search / Azure Cosmos DB を自前で用意し、それぞれに Private Endpoint を手動で作成します(Foundry 作成時に自動作成されません)。
  • Agent サブネットMicrosoft.App/environments に委任。最小 /27公式推奨は /24。他の Foundry リソースと 共有不可(専有)
  • リージョン制約:Foundry リソースは VNet と同一リージョン。10.x.x.x(Class A)が使えるリージョンは限定されており、Japan East は利用可能。

構成変更不可という制約に注意

アウトバウンドのネットワーク設定は 後から変更できません

  • 委任サブネットを後から別サブネットに変えられない
  • 既存の Foundry に後から VNet インジェクションを追加できない(再デプロイが必要

このため、最初の設計段階で IP アドレス帯とサブネットを確定させておくことが極めて重要です。


4. アウトバウンドのツールごとのトラフィックフロー

エージェントが使う「ツール」は、閉域環境での通信経路がツールごとに異なります。これを理解しておかないと、「閉域化したのに特定ツールがインターネットに出ていた」という事態になります。

ツール 閉域対応 トラフィック経路
MCP Tool(プライベート MCP) ✅ 対応 自分の VNet サブネット経由
Azure AI Search ✅ 対応 Private Endpoint 経由
OpenAPI Tool ✅ 対応 自分の VNet サブネット経由
Azure Functions ✅ 対応 自分の VNet サブネット経由
Agent-to-Agent (A2A) ✅ 対応 自分の VNet サブネット経由
Function Calling ✅ 対応 Microsoft バックボーン
Code Interpreter ⚠️ 一部 Microsoft バックボーン。ファイル無しなら可。ファイルの送受信は非対応(SDK で container_id を渡す回避策あり)
Bing Grounding / Web Search / SharePoint Grounding ✅ 動作 パブリックエンドポイント(インターネット経由)
Fabric Data Agent / Logic Apps / File Search / Browser Automation / Computer Use / Image Generation ❌ 非対応 開発中など

出典: Agent tools with network isolation

注意:Bing / Web Search / SharePoint Grounding は閉域環境でも「動作」しますが、通信は パブリックインターネット経由です。すべての通信を私設ネットワーク内に閉じ込めたい組織では、これらは要件を満たさない可能性があります。Azure Policy でブロックすることも可能です。


5. アウトバウンドを Hub & Spoke にする場合/しない場合

エージェントのアウトバウンド(egress)をさらに厳格に制御したい場合、Azure Firewall などでトラフィックを検査・制御します。ここで構成が 2 パターンに分かれます。

パターン A:スタンドアロン(Hub & Spoke にしない)

  • 単一の Foundry 用 VNet 内で完結する構成。
  • ファイアウォールも同じ VNet 内、もしくはファイアウォールを使わずに NSG / ルートテーブルで制御。
  • 小規模・単一プロジェクト・PoC 向き。
  • ネットワークレイアウトは下記の Hub & Spoke 図とは異なる形になります(公式も「ハブ前提でない場合は構成が変わる」と明記)。

パターン B:Hub & Spoke(共有ファイアウォールを中央集約)

  • ハブ VNet:共有 Azure Firewall を配置(複数ワークロードの egress を一元管理)。
  • スポーク VNet:Foundry のネットワーク(Agent サブネット+ PE サブネット)を配置。
  • ハブとスポークを VNet ピアリング で接続し、スポークからの egress をハブのファイアウォール経由に強制(UDR)。
  • 企業の共通ネットワークガバナンス(中央集約型のセキュリティ運用)に適合。

下図が公式の Hub & Spoke 構成例です。

![Foundry の Hub & Spoke +ファイアウォール構成(egress 制御)]network-hub-spoke-diagram.png

出典: Hub-and-spoke and firewall network configuration

ファイアウォールで許可(allowlist)すべき FQDN

VNet インジェクションでファイアウォールを置く場合、以下の FQDN を許可する必要があります(抜粋)。

シナリオ 許可する FQDN / サービスタグ 用途
Agents *.identity.azure.net, login.microsoftonline.com, *.login.microsoftonline.com, *.login.microsoft.com(または AzureActiveDirectory サービスタグ) Agent サービスの Container App 委任に必要
Evaluations & Traces *.blob.core.windows.net, settings.sdk.monitor.azure.com 評価カタログ/App Insights への結果送信
Finetuning raw.githubusercontent.com キュレーション済みサンプルデータセット利用時

TLS インスペクションに注意:ファイアウォールで TLS インスペクション(自己署名証明書の挿入)を行うと Agent の通信が失敗します。Agent サブネットの egress では TLS インスペクションを無効化してください。


6. 【最新アップデート】プライベート MCP サーバー接続

直近のアップデートで、MCP(Model Context Protocol)サーバーをエージェントのツールとして接続する際に、パブリック/プライベートの 2 種類のエンドポイントがサポートされました。

何が嬉しいのか?(ユースケース)

パブリック MCP だけでは、エージェントに渡したい「社内固有のツールやデータ」をインターネット経由で公開せざるを得ず、閉域要件を満たせませんでした。プライベート MCP は、この MCP サーバー自体を VNet 内に閉じ込めたまま エージェントから利用できるようにします。たとえば次のようなシナリオで効果を発揮します。

  • 社内 API / 基幹システムをツール化したい:インターネットに公開できない院内システムや業務 DB へのアクセスを、内部専用の MCP サーバー経由でエージェントに安全に提供する。
  • 機微データを扱う規制業種(医療・金融・公共):プロンプトやツール呼び出しの内容を含め、すべての通信を私設ネットワーク内に閉じ込めたい。
  • 既存の社内ツール資産を再利用したい:自前でホストした MCP サーバーに社内ナレッジ・検索・計算ロジックをまとめ、複数のエージェントから共通利用する。
  • サードパーティ MCP に依存したくない:信頼できる自社ホストのサーバーだけにアクセスを限定し、データの保持先・経路を完全に統制する。

要するに、「エージェントの拡張機能(ツール)まで含めて完全閉域にできる」 のがプライベート MCP の価値です。

エンドポイント種別 必要な構成 説明
パブリック MCP Basic / Standard どちらでも可 公開された任意のリモート MCP サーバーに接続(例:GitHub の https://api.githubcopilot.com/mcp
プライベート MCP Standard Agent Setup(閉域)+ 専用 MCP サブネット必須 インターネット非公開の MCP サーバーに接続

プライベート MCP の構成要件

  • Standard Agent Setup(BYO VNet)が前提。Basic 構成ではプライベート MCP エンドポイントは使えません。
  • MCP サーバーは Azure Container Apps 上に内部専用イングレス(--internal-only true)でデプロイします。
  • Microsoft.App/environments に委任した専用の MCP サブネットが別途必要です(Agent サブネットとは別枠で設計する必要あり)。
  • 公式の Bicep テンプレート 19-private-network-agents-tools-setup が、MCP サブネットを含む必要なネットワークを一括プロビジョニングします。

既知の制約

  • 非ストリーミングの MCP ツール呼び出しは 100 秒でタイムアウト。長時間処理はサーバー側で最適化・分割が必要。
  • プライベート MCP のホスティングは Azure Container Apps が検証済み構成。Function Apps / App Service でも動く可能性はあるが内部検証はされていない。

出典: Public and private MCP server endpoints

設計への示唆:プライベート MCP を使う予定があるなら、Agent サブネット(/24 推奨)に加えて MCP 専用の委任サブネットを IP 設計に最初から組み込んでおきましょう。後からの追加は再デプロイを伴う可能性があります。


7. 押さえておきたい主な制約(2026 年 6 月時点)

ネットワーク分離が「まだ未対応/一部対応」の機能があります。設計前に必ず確認しましょう。

機能 状態 補足
Traces(トレース) 非対応 プライベート App Insights での VNet サポートが未対応
Workflow Agents 一部対応 インバウンドは対応。アウトバウンドの VNet インジェクションは未対応
AI Gateway (APIM) 一部対応 Foundry ポータルから作る Gateway は自動的にパブリック。閉域化は Azure Portal で別途構成が必要
Synthetic Data Gen for Evaluations 非対応 自前データで評価を実行する
Hosted Agent の ACR 制約あり コンテナイメージ用 ACR はパブリックアクセス有効が必須(PE で完全閉域化不可)
アウトバウンド設定の変更 不可 委任サブネット変更や後付け追加は不可。再デプロイが必要

その他、IP 設計で注意すべき点:

  • 172.17.0.0/16 は使用禁止(Docker ブリッジネットワーク予約のため)。
  • Private Endpoint は VNet と同一リージョン・同一サブスクリプションに作成する。

8. まとめ

Microsoft Foundry のネットワーク設計は、次の 3 点を押さえると整理できます。

  1. インバウンドは Private Endpoint(Private Link)アウトバウンドは VNet インジェクション(委任サブネット) という非対称構造。両方そろって初めて完全閉域になる。
  2. アウトバウンドは Hub & Spoke にするか/しないかを、組織のガバナンス(中央集約ファイアウォールの有無)で選ぶ。本番・大規模・共通ガバナンスなら Hub & Spoke が有力。
  3. アウトバウンド設定は後から変更不可。Agent サブネット(/24 推奨)、PE サブネット、(必要なら)プライベート MCP 用サブネットを、IP 設計の段階で確定させておく。

特に「Private Endpoint だけ張れば閉域化できる」という誤解は、Foundry Agent では通用しません。実行基盤(コンテナ)を VNet に注入するという発想を最初から設計に織り込むことが、手戻りのない閉域化への近道です。


参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?