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

Azure Private DNS Zone

Azure Private DNS zoneを、resolution/registration VNet link、split-horizon、custom DNSとの優先関係、autoregistration、Private Endpoint連携まで整理する。

Azure Private DNS Zoneを理解するための前提

Private DNS zoneのrecordはInternetから解決されず、zoneにlinkされたVNet、または適切なresolver/forwarder pathを通るclientから利用する。 VNet linkはautoregistration無効ならresolution network、 有効ならregistration networkとして動作する。1つのzoneには複数VNetをlinkできる。

1 VNetは複数のresolution zoneへlinkできるが、VM autoregistrationを有効にできるregistration zoneは1つだけ。 autoregistrationはVMのprimary NICを対象にし、すべてのAzure resourceを自動登録する万能機能ではない。

public zoneと同名private zoneを作るsplit-horizonは可能。ただしprivate zoneに存在しないpublic recordのfallbackを期待すると名前解決を壊すためauthority設計が必要。 VNetでcustom DNS serverを指定すると、linked Private DNS zoneをAzure-provided DNSが自動参照する標準順序をそのまま使えない。Private Resolver/conditional forwardingを設計する。

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

Control plane / DNS plane / Data plane

Zone

global Azure resourceとしてrecord setsを保持。public DNSとは別authorityで、Internetから直接queryできない。

VNet link

どのVNetがそのzoneをresolveできるかを決め、optionでVM autoregistrationを有効化。

Resolver path

Default Azure-provided DNSならlinked zoneを直接参照。custom DNSならそのserverがPrivate DNSへ到達するforwarding designが必要。

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

Query / packet path

  1. clientのVNet DNS settingを確認する。
  2. Default Azure DNSならVNetにlinkされたPrivate DNS zonesが照会候補になる。
  3. query nameがlinked zoneにmatchしrecordがあればprivate answerを返す。
  4. matchしないnameはAzure-provided DNSの通常resolutionへ進む。
  5. custom DNS設定ならqueryは指定resolverへ送られ、Private DNS zoneはそのresolverのforwarding path次第になる。
  6. Private Endpoint用zoneではzone groupがA record lifecycleを管理し、clientはservice FQDNのCNAME chain経由で利用する。

仕組みを分解する

Private DNS zoneの「link」はnetwork reachabilityそのものではなくname-resolution associationです。Microsoft Learnは、zoneをlinkしたVNet同士がDNS resolutionのためだけにpeeringを必要としないことも示しています。一方、DNSで得たprivate IPへ実trafficを送るには別途VNet peering/ER/VPN/routeが必要です。このため「名前が引ける=packetが届く」「VNetがpeeringされている=zoneも引ける」という2つの誤認を避けます。

設計判断

判断軸設計方針
Namespace ownershipcorp internal zoneとprivatelink service zoneを分け、誰がrecordを作るかを明確化する。
AutoregistrationVM discoveryに必要なVNetだけで有効化。PaaS/ILB等は自動登録対象とみなさない。
Split horizonpublic/private同名zoneを使うなら、private sideで必要なrecord set全体とfallback要件を設計する。
Custom DNS coexistenceAD DNS等をVNet custom DNSにする場合、Private Resolverまたはconditional forwarderでAzure private zoneへ戻すpathを作る。

確認手順

Read-only verification

  • zone resource ID、record、VNet links、registrationEnabledをinventoryとして保存する。
  • linked VNet内clientでA/AAAA/CNAMEをqueryし、expected recordとTTLを確認する。
  • custom DNS VNetでは指定resolverへ直接queryし、forward先とresponse authorityを追う。
  • split-horizonはAzure内部とInternet側の同一FQDNを両方queryし、意図した異なるanswerになっているか確認する。

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
az network private-dns zone show -g <rg> -n <zone> -o jsonc
az network private-dns link vnet list -g <rg> -z <zone> -o table
az network private-dns record-set list -g <rg> -z <zone> -o table
az network vnet show -g <vnet-rg> -n <vnet> --query "dhcpOptions.dnsServers" -o json
PowerShell — read-only first
Get-AzPrivateDnsZone -ResourceGroupName <rg> -Name <zone>
Get-AzPrivateDnsVirtualNetworkLink -ResourceGroupName <rg> -ZoneName <zone>
Get-AzPrivateDnsRecordSet -ResourceGroupName <rg> -ZoneName <zone>

障害切り分け

症状第一候補証拠次の確認
zoneにrecordがあるのに引けないVNet link/custom DNSVNet DNS setting + link statelink/forwarderを修正
VM recordが自動登録されないregistration link条件/primary NIC以外registrationEnabledとVM NICautoreg制約に合わせる
public名までNXDOMAINprivate同名zoneのoverrideSOA/record listnamespace設計を見直す
別VNetで名前は引けるが通信不可routingはDNSと別resolved IP + routepeering/route/security確認
削除VMのrecord期待と不一致manual vs autoreg record混在record metadata/ownershiprecord lifecycleを整理

変更時の確認と rollback

  • zone/link変更前にzone exportまたはrecord/link inventoryを保存する。
  • registration link切替では自動record作成/削除の影響を確認し、手動recordと衝突させない。
  • split-horizon変更はTTLを考慮して段階化し、private/public両resolverから検証する。
  • rollback後はrecord存在だけでなく実client resolverからのanswerを確認する。

Current notes — 2026-09-11

Current behavior / guidance

Azure Private DNSはglobal zone resourceとして複数region/VNetから利用できます。2026-09-11時点の公式資料では、custom DNSをVNetに指定した場合はlinked private zoneの標準resolution orderが上書きされる点が明示されており、Private Resolverとの組み合わせを設計上の必須確認にします。

Official sources