Networking Foundation参照資料確認: 2026-09-11

Virtual Network Service Endpoints

Service Endpointのpublic endpoint型data path、VNet/subnet identity、service firewall、Private Linkとの使い分けを整理する。

Scope: Microsoft Learn / Azure Architecture Centerの一次資料を2026-09-11時点で確認し、旧来の短い記事を公開運用向けdeep diveへ更新。SKU、region、limits、Preview statusは変わるため、実装直前にOfficial sourcesを再確認してください。

Virtual Network Service Endpointsを理解するための前提

Service Endpointはsubnet identityをAzure PaaSへ拡張し、trafficをAzure backbone経由でserviceのpublic endpointへ送る。 DNSは通常public FQDN→public IPのままで、Private EndpointのようにVNet内private IPを作らない。

service側network ACLで許可subnetを指定して初めてaccess restrictionが成立する。 on-premからservice endpoint identityをそのまま使う設計には向かず、hybrid private accessはPrivate Linkを優先検討する。

Service Endpoint Policyは主にAzure Storage向けegressを特定resourceへ絞る用途でdata exfiltration抑制に使える。 Microsoftはprivate PaaS accessではPrivate Link/Private Endpointを推奨する。

通信や判断の流れを追う
利用側VNet / SubnetNIC / Azure service接続先

Control plane と data plane

Control planesubnetでservice endpointをenableし、対象PaaS resource側でVNet/subnet ACLを構成する。
Data planeVM等のprivate source IPからservice public IPへAzure backboneを通り、serviceはsubnet identityを使ってACL判定する。

仕組みと設計上の意味

service endpointはpublic endpointを消さないため「private IPで接続する」機能ではない。

DNS変更が少なく導入は比較的簡単だが、on-prem private reachabilityやservice instance単位private IPが必要ならPrivate Endpointが適する。

subnet側enableだけでsecurityは完結せず、service側ACLを必ず確認する。

UDR/forced tunnelingとservice endpoint routeが競合する場合はeffective routeで実data pathを確認する。

Packet / decision path

source→destinationを1本のflowとして固定し、名前解決・routing・security・NAT/service processing・return pathを必要な範囲で順に確認する。

  1. clientが属するsubnetでendpoint enableを確認。
  2. DNSがservice public IPを返すことを確認。
  3. effective routeでservice tag/prefixのnext hopを確認。
  4. PaaS側firewall/VNet ruleでsubnetを許可。
  5. application認証とnetwork accessの両方を検証。

設計判断

判断点推奨理由
Private IP必須Private EndpointService Endpointはpublic endpoint model
簡易subnet制限Service EndpointDNS変更が少ない
on-prem private accessPrivate Endpoint + hybrid DNSservice endpoint identityはon-prem用途に弱い
Exfiltration controlPrivate Linkまたは対応Service Endpoint Policyservice instance単位で絞る

確認手順

Azure Portal

  • Subnet → Service endpointsでservice/regionを確認。
  • 対象PaaS → Networkingでselected networks/VNet rulesを確認。
  • Private Endpointが併存する場合はDNS resultと実destination IPを確認。

Evidence contract

Identitysubscription / resource group / resource ID / regionを固定。
Before / After同じsource・destination・protocol・portで比較。
Effective state設定値だけでなくeffective route/security/health/logを取得。
Runtimecontrol-plane Succeededとapplication successを分けて判定。
Azure CLI — read-only first
az network vnet subnet show -g <rg> --vnet-name <vnet> -n <subnet> --query serviceEndpoints -o jsonc
az network vnet subnet show -g <rg> --vnet-name <vnet> -n <subnet> --query serviceEndpointPolicies -o jsonc
PowerShell — read-only first
$vnet = Get-AzVirtualNetwork -ResourceGroupName <rg> -Name <vnet>
$vnet.Subnets | Select Name,ServiceEndpoints,ServiceEndpointPolicies

障害切り分け

症状疑う点証拠次の確認
endpoint enable済みなのに403service側ACL未許可/identity mismatchservice networking configsubnet resource IDを照合
Private Endpointへ行くはずがpublicDNS zone/link不足nslookup + private zone linkDNS chainを修正
forced tunnel後に失敗route優先/next hop変化effective routesservice endpoint routeとUDRを比較
on-premから同じ制御が効かないservice endpointのVNet identity前提source pathPrivate Linkへ再設計

変更・rollback

  • service側ACLを変更する前に既存authorized subnet一覧をexport。
  • Private Endpointへ移行時はDNS切替とservice public access設定を分けて実施。
  • rollbackではsubnet endpointとservice ACLの両方を元に戻す。
  • storage等でpolicy導入時は必要accountをallowlistしてからenforce。

Official sources