DNS & Private Access参照資料確認: 2026-09-11

Service Endpoint vs Private Endpoint

Azure PaaS private accessのService EndpointとPrivate Endpointを、addressing、DNS、on-premises、routing、exfiltration control、cost/operationsから比較する。

Service Endpoint vs Private Endpointを理解するための前提

Microsoft Learnはsecure/private PaaS accessの一般推奨としてPrivate Link/Private Endpointを案内している。要件が合う限り新規設計の基準点にする。 Service Endpointはsubnet identityをAzure serviceへ拡張し、serviceのpublic endpoint/DNS modelを維持する。DNSは引き続きpublic IPを返す。

Private Endpointはconsumer VNet内にservice instance/subresource用private IPを持ち、DNSをそのprivate IPへ解決させる。 classic Service Endpointはon-premisesからVNet service endpointとして直接利用するmodelではない。Private EndpointはVPN/ExpressRoute等でprivate IPへ到達できればon-premisesから利用できる。

Service Endpoint有効化後、Azure serviceから見えるsourceはVNet private address/identityへ切り替わり、effective routeにはVirtualNetworkServiceEndpointが現れる。 Service Endpointは追加料金がなくDNS変更も小さい一方、Private Endpointはendpoint/DNS運用とコストが増える。security、on-prem、instance-level isolation要件で比較する。

通信や判断の流れを追う
ClientDNS queryResolver / Private DNSPrivate endpointService

Control plane / DNS plane / Data plane

Service Endpoint

subnet → Azure service public endpoint。service firewallでVNet/subnet identityを許可。DNS answerはpublic IPのまま。

Private Endpoint

client → VNet内PE private IP → Private Link → specific service instance/subresource。Private DNSが重要。

Shared point

どちらもAzure backbone上のoptimized pathを使えるが、addressing/identity/authority/on-prem reachabilityのmodelが異なる。

判定順序まず client がどの resolver を使い何IPを得たか固定し、そのIPに対するroute/securityを確認します。DNSを確認せずroute tableだけを見る、またはprivate IPを得ただけでservice到達済みと判定するのは避けます。

Query / packet path

  1. 要件を「private IPが必要か」「on-premから必要か」「public endpointを残せるか」「instance単位exfiltration controlが必要か」で分類する。
  2. Service Endpointならsource subnetでservice endpointを有効化し、PaaS側VNet ruleを設定する。client FQDNはpublic IPを解決し続ける。
  3. Private Endpointならtarget subresourceにPEを作成し、Private DNS zone/zone groupでFQDNをprivate IPへ解決する。
  4. どちらもactual source/destination、effective route、service firewall/authorizationを確認する。
  5. migration時はexisting TCP session、source IP semantics、DNS cache/public accessを含めて切替検証する。

仕組みを分解する

Service Endpointの「private」はprivate IP destinationを作る意味ではありません。public service endpointへ向かうrouteをAzure backboneへ最適化し、service側にVNet identityを伝える仕組みです。一方Private EndpointはVNet内private IPがdestinationになります。この差がDNS、on-premises access、UDR inspection、service instance granularity、troubleshooting手順を大きく変えます。比較時は「Internetを通らない」だけで同じ技術として扱わないことが重要です。

設計判断

判断軸設計方針
Private IP/on-prem required必要ならPrivate Endpointを優先。on-prem clientはPE private IPへroute + DNS forwardingを構成できる。
Simple subnet restriction対応serviceでAzure VNet内subnetからだけ許可し、public endpoint modelを維持できるならService Endpointも候補。
Data exfiltrationresource instance単位のprivate destinationとbuilt-in exfiltration protection要件ではPrivate Endpointが有利。Service Endpoint policy等を使う別設計と比較する。
Operations/costService Endpointは追加endpoint/DNS管理が少ない。Private EndpointはIP capacity、DNS zone group、PE resource lifecycle、料金を運用へ組み込む。

確認手順

Read-only verification

  • Service EndpointではFQDNがpublic IPのままでも正常。effective routeのVirtualNetworkServiceEndpointとservice firewallのsource/VNet ruleを確認する。
  • Private EndpointではFQDN最終answerがPE private IPであること、Approved connectionとservice authを確認する。
  • on-prem requirementがある場合は同一FQDNをon-premからquery/接続し、Private Endpoint pathを実証する。
  • migration比較は同じapplication transactionでbefore/afterのdestination IP、route、service log、latency/errorを保存する。

Evidence to keep

  • resource ID / subscription / region / VNet / subnetを固定し、同名resource取り違えを防ぐ。
  • DNS queryはresolver IP、query name、answer/CNAME、TTL、timestampを一緒に保存する。
  • network testはsource、resolved destination IP、protocol/port、winning route/security decisionを保存する。
  • 変更前後で同じquery/application journeyを再実行し、cache/既存sessionでの見かけ上成功を避ける。
Azure CLI / client — read-only first
# Service Endpoint side
az network vnet subnet show -g <rg> --vnet-name <vnet> -n <subnet> --query "serviceEndpoints" -o jsonc
az network nic show-effective-route-table -g <rg> -n <source-nic> -o table

# Private Endpoint side
az network private-endpoint show -g <rg> -n <private-endpoint> -o jsonc
az network private-endpoint dns-zone-group list -g <rg> --endpoint-name <private-endpoint> -o jsonc
nslookup <service-fqdn>
PowerShell — read-only first
Get-AzVirtualNetwork -ResourceGroupName <rg> -Name <vnet> | Select-Object -ExpandProperty Subnets
Get-AzPrivateEndpoint -ResourceGroupName <rg> -Name <private-endpoint>
Get-AzPrivateDnsZoneGroup -ResourceGroupName <rg> -PrivateEndpointName <private-endpoint>

障害切り分け

症状第一候補証拠次の確認
Service Endpointなのにprivate IPを期待model誤認DNS answer/effective routepublic destination + service endpoint routeとして確認
PEなのにpublic IPへ接続Private DNS不足CNAME/A chainPrivate DNS/forwarding修正
on-premからService Endpoint resource不可classic SEのscopesource path/service firewallPEまたはpublic/NAT allow設計を検討
SE有効化直後にfirewall denysource IP semantics変化service diagnosticsVNet rule/private source対応
PE inspectionが0/0で効かないPE /32 longest prefixeffective routePE network policy + specific UDR

変更時の確認と rollback

  • Service Endpoint enable/disableはexisting TCP connectionが切れる可能性があるためchange windowで実施する。
  • SE→PE migrationではPrivate DNSを先にpilotし、public access disableはPE positive test後に行う。
  • PE→SE rollbackではDNS private answer/cacheを確実に戻し、service VNet ruleを先に準備する。
  • rollback完了はFQDN answer、winning route、service responseの3点で確認する。

Current notes — 2026-09-11

Current behavior / guidance

Microsoft LearnのService Endpoint overviewは2026-07-08更新で、Private Link/Private Endpointをsecure/private access向けに推奨しつつ、classic Service Endpointに加えてStandard service endpoint Public Previewも案内しています。このページではplanの対象であるclassic Service EndpointとPrivate Endpointの差を中心にし、Standard service endpointは別機能として注記します。

Official sources