この記事では、Foundry リソースのマネージド仮想ネットワークを設定する方法について説明します。 マネージド仮想ネットワークは、Foundry プロジェクト内のエージェント サービスの基になるコンピューティングをセキュリティで保護するMicrosoftマネージド仮想ネットワークをプロビジョニングすることで、Foundry リソースのネットワーク分離を合理化および自動化します。 有効にすると、エージェントの送信ネットワーク トラフィックはこのマネージド ネットワーク境界によってセキュリティで保護され、選択した分離モードによってすべてのトラフィックが制御されます。 依存するAzure サービスに必要なプライベート エンドポイントを作成し、必要なネットワーク 規則を適用できます。独自の仮想ネットワークを構築または維持する必要なく、セキュリティで保護された既定値が提供されます。 このマネージド ネットワークは、エージェントがアクセスできる内容を制限し、承認されたAzure リソースへの接続を引き続き許可しながら、データ流出を防ぐのに役立ちます。
マネージド仮想ネットワークでは、新しい Responses API と新しい Foundry ポータルで、Prompt サービスと Hosted Agent サービスがサポートされるようになりました。 新しいエージェント サービスと新しい Foundry ポータルを使用したマネージド仮想ネットワークで現在サポートされているリージョンは 、米国東部、米国東部 2、東日本、フランス中部、アラブ首長国連邦北部、ブラジル南部、スペイン中部、ドイツ中西部、イタリア北部、米国中南部、オーストラリア東部、スウェーデン中部、カナダ東部、南アフリカ北部、米国西部、米国西部 3 です。 インド南部、英国南部。 近日中にサポートされる追加のリージョン。
続行する前に、オファリングの 制限 事項を検討し、前提条件を確認してください。
分離モードについて
マネージド仮想ネットワークの分離を有効にすると、Microsoft テナントに作成された Foundry アカウントのマネージド仮想ネットワークが作成されます。 プロジェクトでビルドする新しいエージェントは、送信トラフィックにマネージド仮想ネットワークを自動的に使用します。 マネージド仮想ネットワークは、エージェントが使用するAzureリソース (Azure Storage、Azure Cosmos DB、Azure AI 検索など) にプライベート エンドポイントを使用できます。
メモ
この記事の図は、論理接続のみを表しています。 Foundry マネージド仮想ネットワーク内のマネージド プライベート エンドポイントでは、顧客が認識できるネットワーク インターフェイス (NIC) は作成されません。 サブネット内にプライベート IP を持つ NIC を作成する標準の VNet プライベート エンドポイントとは異なり、マネージド プライベート エンドポイントはMicrosoftによって完全に管理され、顧客の仮想ネットワーク リソースから抽象化されます。 これらのエンドポイントまたは関連付けられている NIC はサブスクリプションに表示されません。
マネージド仮想ネットワークからの送信トラフィックには、次の 2 つの異なる構成モードがあります。
| 送信モード | 説明 | シナリオ |
|---|---|---|
| インターネットのアウトバウンド通信を許可する | インターネットへのすべての送信トラフィックを許可します。 | 無制限の送信アクセスは許容されます。広範な接続が必要です。 |
| 承認された送信のみを許可する | Azure Firewall を通じてサービスタグ、プライベートエンドポイント、およびオプションの FQDN 規則 (ポート 80、443) を使用して、送信経路を制限します。 | データ流出リスクを最小限に抑えます。には、目的地のキュレーションされたリストが必要です。 |
| 無効 | カスタム仮想ネットワークを使用しない限り、マネージド仮想ネットワークの分離は有効になっていません。 | パブリック送信が必要か、独自の仮想ネットワークを提供する計画を立てる必要があります。 |
次のアーキテクチャ図は、 allow internet outbound モードのマネージド ネットワークを示しています。
次のアーキテクチャ図は、 allow only approved outbound モードのマネージド ネットワークを示しています。
インターネット送信を許可するようにマネージド仮想ネットワーク Foundry を構成した後は、リソースを無効にするように再構成することはできません。 同様に、承認された送信のみを許可するようにマネージド仮想ネットワーク リソースを構成した後は、インターネット送信を許可するようにリソースを再構成することはできません。
前提 条件
この記事の手順に従う前に、次の前提条件があることを確認してください。
- Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
- Azure CLIバージョン 2.86.0 にインストールされています。 マネージド ネットワークから送信規則を作成するために必要です。
- Azure サブスクリプションに登録されている
Microsoft.Network、Microsoft.KeyVault、Microsoft.CognitiveServices、Microsoft.Storage、Microsoft.Search、およびMicrosoft.ContainerServiceリソース プロバイダー。 詳細については、「 リソース プロバイダーの登録」を参照してください。 - マネージド ネットワーク リソースをデプロイするためのアクセス許可。 Foundry アカウントとプロジェクトを作成するには、Foundry リソース スコープの
Azure AI Account Ownerが必要です。OwnerまたはRole Based Access Administratorが必要なリソースに RBAC を割り当てるために必要です。 プロジェクト スコープのAzure AI Userが必要です。エージェントを作成してビルドするために。 - ターゲット Azure リージョン内のすべてのリソースに対する十分なクォータ。 パラメーターが渡されない場合、このテンプレートは Foundry リソース、Foundry プロジェクト、NoSQL、Azure AI 検索、Azure Storage アカウントのAzure Cosmos DBを作成します。
制限
Foundry リソースのマネージド ネットワーク分離を有効にする前に、次の制限事項を考慮してください。
- マネージド ネットワーク Foundry リソースは、3 つの方法でデプロイできます。
- foundry-samples18-managed-virtual-network フォルダー内の Bicep テンプレート
- foundry-samples フォルダー内の 18-managed-virtual-network にある Terraform テンプレート
-
az restと Azure CLI のコマンドaz cognitiveservices。 この記事のAzure CLIサポートの詳細については、以下を参照してください。 - マネージド ネットワークを作成するためのAzure portal UI のサポートはまだありません。 サポートは近日公開予定です。
- Foundry リソースが作成されたら、Foundry リソースのマネージド ID に
Azure AI Enterprise Network Connection Approver(ロール ID:b556d68e-0be0-4f35-a333-ad7ee1ce17ea) の組み込みロールを割り当てて、Foundry リソースに必要なプライベート エンドポイントが作成および承認されていることを確認します。 - マネージド仮想ネットワークの分離は、有効にした後で無効にすることはできません。 カスタム仮想ネットワークのセットアップからマネージド仮想ネットワークへのアップグレード パスはありません。 Foundry リソースの再デプロイが必要です。 Foundry リソースを削除すると、マネージド仮想ネットワークが削除されます。
- マネージド仮想ネットワークのサポートは 、米国東部、米国東部 2、東日本、フランス中部、アラブ首長国連邦北部、ブラジル南部、スペイン中部、ドイツ中西部、イタリア北部、米国中南部、オーストラリア東部、スウェーデン中部、カナダ東部、南アフリカ北部、米国西部、米国西部 3、インド南部、英国南部のみです。 近日中にサポートされる追加のリージョン。
- Foundry リソースのオンプレミス リソースへのプライベート アクセスが必要な場合は、 Application Gateway を使用してオンプレミス アクセスを構成します。 Application Gateway へのプライベート エンドポイントを使用した同じセットアップとバックエンド プールの設定がサポートされています。 GA の Application Gateway では、L4 と L7 の両方のトラフィックがサポートされるようになりました。
- マネージド仮想ネットワークが Allow Only Approved Outbound モードのときに FQDN 送信規則を作成すると、関連するファイアウォール コストを伴うマネージド Azure Firewallが作成されます。 価格の詳細については、「 価格」を参照してください。 FQDN 送信規則では、ポート 80 と 443 のみがサポートされます。
- マネージド仮想ネットワークに独自のAzure Firewallを持ち込むことはありません。 許可された送信のみ許可するモードを使用すると、Foundry アカウントに対してマネージド ファイアウォールが自動的に作成されます。
- 複数の Foundry アカウントに同じマネージド ファイアウォールを再利用することはできません。 許可されている送信のみモードを使用すると、各 Foundry アカウントごとに独自のマネージド ファイアウォールが作成されます。
- マネージド仮想ネットワークが有効になっている Foundry リソース内に新しいプロジェクトを作成する場合は、プロジェクト機能ホストを再作成して、プロジェクトが BYO リソースとマネージド ネットワークを使用していることを確認する必要があります。 その他の手順については、 foundry-samples リポジトリのマネージド ネットワークセットアップ用の README を参照してください。
マネージド仮想ネットワーク分離モードをデプロイする
マネージド仮想ネットワーク Foundry リソースのデプロイを開始するには、次の手順に従います。
手順 1: ネットワーク インジェクションを使用して AI サービス アカウントを作成する
アカウントは、作成時に customSubDomainName、 allowProjectManagement、 networkInjections を設定して 作成する必要があります。 これらのプロパティは、アカウントの作成後に追加できません。
重要
Azure CLIではネットワーク インジェクションを使用した Foundry リソースの作成がまだサポートされていないため、az rest コマンドを使用して、ネットワーク インジェクションを使用してアカウントを作成する必要があります。
az rest --method PUT \
--url "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.CognitiveServices/accounts/{account-name}?api-version=2025-10-01-preview" \
--body '{
"location": "{region}",
"kind": "AIServices",
"sku": { "name": "S0" },
"identity": { "type": "SystemAssigned" },
"properties": {
"allowProjectManagement": true,
"customSubDomainName": "{account-name}",
"networkInjections": [
{
"scenario": "agent",
"subnetArmId": "",
"useMicrosoftManagedNetwork": true
}
],
"disableLocalAuth": false
}
}' \
--headers "Content-Type=application/json"
次に進む前に、 provisioningState が Succeeded に到達するまで待ちます。
az rest --method GET \
--url "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.CognitiveServices/accounts/{account-name}?api-version=2025-10-01-preview" \
--query "properties.provisioningState" -o tsv
手順 2: マネージド ID プリンシパル ID を取得する
アカウントからシステム割り当てマネージド ID プリンシパル ID を取得します。
az cognitiveservices account show \
--resource-group {resource-group} \
--name {account-name} \
--query identity.principalId -o tsv
手順 3: ネットワーク接続承認者ロールを割り当てる
Azure AI Enterprise ネットワーク接続承認者 ロール (ロール ID: b556d68e-0be0-4f35-a333-ad7ee1ce17ea) を Foundry アカウントのマネージド ID に割り当てます。 これにより、マネージド ネットワーク プライベート エンドポイントを自動承認できます。
az role assignment create \
--assignee-object-id {principal-id} \
--assignee-principal-type ServicePrincipal \
--role "b556d68e-0be0-4f35-a333-ad7ee1ce17ea" \
--scope /subscriptions/{subscription-id}/resourceGroups/{resource-group}
メモ
ターゲット リソース (Storage、Cosmos DB、AI Search) が別のリソース グループ内にある場合は、そのリソース グループまたはサブスクリプションにロールの割り当てのスコープを設定します。
手順 4: マネージド ネットワークを作成する
アカウントにマネージド ネットワーク子リソースを作成します。 これにより、ネットワーク分離モードが確立され、ネットワーク インフラストラクチャがプロビジョニングされます。
インターネット送信を許可するマネージド ネットワークを作成するには:
az cognitiveservices account managed-network create \
--resource-group {resource-group} \
--name {account-name} \
--managed-network allow_internet_outbound
承認された送信のみを許可するマネージド ネットワークを作成するには:
az cognitiveservices account managed-network create \
--resource-group {resource-group} \
--name {account-name} \
--managed-network allow_only_approved_outbound \
--firewall-sku Standard
マネージド仮想ネットワークのデプロイに必要なパラメーターの詳細については、Microsoftを参照してください。CognitiveServices/accounts/managedNetworks。
マネージド仮想ネットワークのデプロイを確認する
デプロイが完了したら、マネージド仮想ネットワークが正しく構成されていることを確認します。
Foundry リソースが存在し、マネージド ネットワークが有効になっていることを確認します。
az cognitiveservices account managed-network show \ --resource-group {resource-group} \ --name {account-name}応答には、選択したモード (
isolationModeまたはAllowInternetOutbound) に設定されたAllowOnlyApprovedOutboundが表示されます。すべての送信規則とその状態を一覧表示します。
az cognitiveservices account managed-network outbound-rule list \ --resource-group {resource-group} \ --name {account-name}特定の送信規則を表示します。
az cognitiveservices account managed-network outbound-rule show \ --resource-group {resource-group} \ --name {account-name} \ --rule {rule-name}Foundry プロジェクトで基本的なエージェントを作成して実行して、エージェントの接続をテストします。 エージェントが正常に完了した場合、マネージド ネットワークは正常に機能しています。
送信規則を管理する
デプロイ後、送信規則を追加、更新、一覧表示、削除して、マネージド ネットワークが到達できる宛先を制御できます。 次の送信規則の種類がサポートされています。
| タイプ | 説明 | 宛先の例 |
|---|---|---|
fqdn |
完全修飾ドメイン名への外部送信トラフィックを許可します。 | "*.openai.azure.com" |
privateendpoint |
プライベート エンドポイント規則を介した送信トラフィックを許可します。 | プライベート エンドポイント構成 JSON |
servicetag |
Azure サービス タグ、プロトコル、ポート範囲への送信トラフィックを許可します。 | '{"serviceTag":"Storage","protocol":"TCP","portRanges":"443"}' |
FQDN 送信規則を作成または更新する
FQDN ルールを使用して、ドメイン名またはワイルドカード ドメインへのトラフィックを許可します。
az cognitiveservices account managed-network outbound-rule set \
--resource-group {resource-group} \
--name {account-name} \
--rule {rule-name} \
--type fqdn \
--destination "*.openai.azure.com"
サービス タグの送信規則を作成または更新する
サービス タグルールを使用して、特定のプロトコルとポート範囲を介してAzureサービス タグへのトラフィックを許可します。
az cognitiveservices account managed-network outbound-rule set \
--resource-group {resource-group} \
--name {account-name} \
--rule {rule-name} \
--type servicetag \
--destination '{"serviceTag":"Storage","protocol":"TCP","portRanges":"443"}'
プライベート エンドポイントの送信規則を作成または更新する
プライベート エンドポイントルールを使用して、プライベート エンドポイントを介してAzure リソースへのトラフィックを許可します。
az cognitiveservices account managed-network outbound-rule set \
--resource-group {resource-group} \
--name {account-name} \
--rule {rule-name} \
--type privateendpoint \
--destination '{"serviceResourceId":"/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}","subresourceTarget":"blob"}'
一般的なサブリソース ターゲットには、Azure Storageの blob、Azure AI 検索 の場合は searchService、Azure Cosmos DB の場合は Sql、Azure Key Vault の場合は vault があります。
送信規則を一覧表示する
az cognitiveservices account managed-network outbound-rule list \
--resource-group {resource-group} \
--name {account-name}
送信規則を表示する
az cognitiveservices account managed-network outbound-rule show \
--resource-group {resource-group} \
--name {account-name} \
--rule {rule-name}
送信規則を一括作成または更新する
bulk-setを使用して、YAML または JSON ファイルから複数の送信規則を作成または更新します。
az cognitiveservices account managed-network outbound-rule bulk-set \
--resource-group {resource-group} \
--name {account-name} \
--file rules.yaml
送信規則を削除する
az cognitiveservices account managed-network outbound-rule remove \
--resource-group {resource-group} \
--name {account-name} \
--rule {rule-name}
マネージド仮想ネットワークの送信規則に必要なパラメーターの詳細については、Microsoftを参照してください。CognitiveServices/accounts/managedNetworks/outboundRules。
Azure Firewallのバージョンを選択する
マネージド仮想ネットワークの場合、承認された送信のみ許可 モードで外部送信 FQDN 規則を追加すると、Azure Firewall が自動的にプロビジョニングされます。
既定の SKU は、ファイアウォールの Standard です。 高度な機能が必要ない場合は、代わりに Basic SKU を選択してコストを削減できます。 価格の詳細については、「 価格」を参照してください。 デプロイ時にファイアウォール SKU を選択すると、デプロイ後に変更することはできません。 これはマネージド ファイアウォールであるため、ファイアウォールはお使いのテナントまたはコントロールにありません。 制御できる唯一の設定は、ファイアウォール SKU です。
プライベート エンドポイント
マネージド仮想ネットワークを有効にすると、マネージド プライベート エンドポイントを作成して、エージェントがパブリック インターネットを使用せずに、必要なAzureリソースに安全にアクセスできるようにします。 これらのプライベート エンドポイントは、マネージド ネットワークから、Storage、AI Search、Foundry プロジェクトで使用されるその他の依存関係などのサービスへの分離されたプライベート IP ベースの接続を提供します。 カスタマー マネージド仮想ネットワークとは異なり、Foundry のマネージド プライベート エンドポイントは、ネットワーク インターフェイスまたはサブネット構成を顧客に公開しません。 プライベート IP ベースの接続は、Microsoftによって完全に管理され、顧客のサブスクリプションでは NIC として表されません。
次のリソースは、マネージド ネットワークからのプライベート エンドポイントをサポートします。 CLI を使用してプライベート エンドポイントを作成する必要があります。
- Microsoft Foundry (AI サービス)
- Azure Application Gateway (L4 または L7 トラフィックを使用してオンプレミスのリソースに接続します)
- Azure API Management (VNet インジェクションのないクラシック 層と、仮想ネットワーク統合を備えた Standard V2 レベルのみをサポート)
- Azure AI 検索
- Azure Container Registry
- Azure Cosmos DB
- Azure Data Factory
- Azure Database for MariaDB
- Azure Database for MySQL
- PostgreSQL 単一サーバーのAzure Database
- Azure Database for PostgreSQL フレキシブル サーバー
- Azure Databricks
- Azure Event Hubs
- Azure Key Vault
- Azure Machine Learning
- Azure Cache for Redis
- Azure SQL Server
- Azure Storage
- Azure アプリケーション Insights (Azure Monitor Private Link スコープ経由)
Foundry マネージド仮想ネットワークから顧客所有のターゲット リソースにマネージド プライベート エンドポイントを作成する場合、 Foundry リソースのマネージド ID は、プライベート エンドポイント接続を作成して承認するために、そのターゲット リソースに対する適切なアクセス許可を持っている必要があります。 この要件により、Foundry にリソースへのセキュリティで保護されたプライベート リンクを確立する権限が明示的に付与されます。
この要件を簡略化するには、foundry アカウントのマネージド ID に Azure AI Enterprise Network Connection Approver ロール (ロール ID: b556d68e-0be0-4f35-a333-ad7ee1ce17ea) を割り当てます。 このロールには、最も一般的に使用されるAzure サービスに必要なアクセス許可が含まれており、通常は、Foundry がユーザーに代わってプライベート エンドポイントを作成および承認するための十分なアクセス権を提供します。 接続を承認すると、Foundry はプライベート エンドポイントを完全に管理し、追加の顧客構成は必要ありません。
必要な発信規則
マネージド仮想ネットワークの承認された送信のみを許可モードでは、エージェント サービスなどの機能に必要な送信規則がいくつか作成されます。 これには次のものが含まれます。
- Cosmos DB リソースへのプライベート エンドポイント
- ストレージ アカウントへのプライベート エンドポイント
- AI Search リソースへのプライベート エンドポイント
- ServiceTag を AzureActiveDirectory に接続/移行する
- ServiceTagからAzureMachineLearningに(評価カタログ用)
シナリオごとの送信規則
マネージド仮想ネットワークを使用して Foundry を承認済み送信許可モードでデプロイする場合は、エグレス トラフィックが許可されるように、次の送信 FQDN 規則を追加することが必要になる場合があります。 Foundry のシナリオまたは機能に応じて送信規則を作成する信頼できる完全修飾ドメイン名 (FQDN) の一覧を次に示します。
| シナリオ | FQDN | 説明 |
|---|---|---|
| エージェント |
*.identity.azure.net、 login.microsoftonline.com、 *.login.microsoftonline.com、 *.login.microsoft.com、 mcr.microsoft.com 、または AAD サービス タグ |
エージェント サービスの Azure コンテナー アプリの委任に必要です。 コンテナー イメージ プルのためのMicrosoftコンテナー レジストリが含まれています。 |
| Application Insights リソースを使用した評価とトレース |
settings.sdk.monitor.azure.com、 *.livediagnostics.monitor.azure.com、 *.in.applicationinsights.azure.com |
エバリュエーター カタログおよびリンクされた Application Insights リソースに結果を送信するために使用されます。 |
| 微調整 | raw.githubusercontent.com |
ユーザーが Foundry ポータルでキュレーションされたサンプル データセットを選択するときに、微調整に使用されます。 |
価格
Foundry マネージド仮想ネットワーク機能は無料です。 ただし、マネージド仮想ネットワークで使用される次のリソースに対して課金されます。
Azure Private Link - ソリューションは、マネージド仮想ネットワークとAzure リソース間の通信をセキュリティで保護するプライベート エンドポイントのAzure Private Linkに依存します。 価格の詳細については、「Azure Private Link pricing」を参照してください。
FQDN 送信規則 - Azure Firewallを使用して FQDN 送信規則を実装します。 送信 FQDN 規則を使用する場合は、課金にAzure Firewallの料金を追加します。 既定では、Azure Firewallの標準バージョンが使用されます。 基本バージョンを選択できます。 送信 FQDN 規則を追加するまで、ファイアウォールは作成されません。
Azure価格の詳細については、Private Link価格およびAzure Firewall価格を参照してください。
マネージド ネットワークとカスタム (BYO) ネットワークを比較する
企業におけるネットワークのニーズと制限に応じて、適切な送信ネットワーク分離モードを選択します。
| アスペクト | マネージド ネットワーク | カスタム (BYO) ネットワーク |
|---|---|---|
| 利点 | Microsoftは、サブネット範囲、IP 選択、委任を処理します。 | フル コントロール: カスタム ファイアウォールの使用、ユーザー定義ルートの設定、ネットワーク ピアリング、サブネットの委任。 |
| 制限 | 承認された送信のみを許可する独自のファイアウォールを持ち込むことはありません。 セキュリティで保護されたオンプレミス用の Application Gateway が必要です (Application Gateway による L7 および L4 トラフィックのサポート)。 送信トラフィックのログ記録はまだサポートされていません。 | Azure Container Appsへのサブネットの委任など、より複雑なセットアップ。 適切な CapHost の作成が必要です。 パブリック IP アドレス範囲または CGNAT IP アドレス範囲を許可しない、プライベート クラス A、B、C が必要です。 エージェントの委任には最小 /27 サブネットが必要です。 |
エージェントの仮想ネットワークインジェクションのセットアップと制限の詳細については、「エージェント のカスタム仮想ネットワークを構成する」を参照してください。
リソースのクリーンアップ
マネージド仮想ネットワーク Foundry リソースをクリーンアップするには、Foundry リソースを削除します。 このアクションにより、マネージド仮想ネットワークも削除されます。
トラブルシューティング
- CapHost の作成に失敗しました
- 問題のある CapHost リソースを削除し、テンプレートを再デプロイします。
- FQDN 規則が適用されない
- ファイアウォール SKU がプロビジョニングされていることを確認し、ポートが 80 または 443 に制限されていることを確認します。
- プライベート エンドポイントの競合
- サービス エンドポイント構成を削除し、プライベート エンドポイントのみを使用します。
関連コンテンツ
- エージェント用のカスタム仮想ネットワークを構成する
Microsoft Foundry