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

Azure DNS Troubleshooting

DNS障害をclient設定→query path→zone/link→record→forwarding→network path→upstream responseの順で再現可能に切り分ける。

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

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

名前解決障害では最初に「queryしたFQDN」「clientが使ったresolver」「期待IP」「実answer」を固定する。 Private DNS zoneはVNet linkがなければAzure VMから解決されず、auto-registrationは用途と制約がある。

Private Endpointでは正しいprivatelink zone/linkがないとpublic IPへ解決されることがある。 DNS Private Resolver inbound endpointはon-prem→Azure、outbound endpoint+rulesetはAzure→外部namespaceのforwardingに使う。

ruleset linkはVNet peeringなしでも利用できるが、target DNS serverへのnetwork reachabilityは別途必要。 168.63.129.16はAzure platform virtual IPで、on-premから直接queryする前提にしない。

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

Control plane と data plane

Control planeVNet DNS settings、Private DNS zone/link、Resolver endpoints/rulesets/forwarding rules、recordsがcontrol plane。
Data planeclient stub→configured resolver→forwarder/inbound endpoint→Azure DNS/upstream authoritative server→responseのquery/response pathをdata planeとして追う。

仕組みと設計上の意味

DNS troubleshootingはping/TCP reachabilityより先にFQDN answerを採取する。

NXDOMAIN、SERVFAIL、timeout、wrong IPは原因層が異なるためresponse codeも記録する。

hybrid DNSではconditional forwarderのsuffix typo/loopとUDP/TCP 53/MTUを確認する。

Private Endpointでpublic/private splitを使う場合、client locationごとのresolver pathを設計書に残す。

Packet / decision path

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

  1. client DNS configとquery resultを採取。
  2. VNet DNS setting/zone linkを確認。
  3. Resolver ruleset/forwarding ruleとtarget serverを確認。
  4. UDP/TCP 53のroute/NSG/NVA pathを確認。
  5. authoritative/upstream responseとcache/TTLを確認。

設計判断

判断点推奨理由
First evidenceFQDN / resolver / expected answerを固定同じ症状を比較可能にする
Hybrid boundaryconditional forwarding方向を明示loopと誤転送を避ける
Private EndpointCNAME→privatelink zone→private Aを確認public fallbackを見逃さない
TransportUDP/TCP 53の両方を確認large responseやfallbackも扱う

確認手順

Azure Portal

  • VNet → DNS serversとPrivate DNS zone linksを確認。
  • DNS Private Resolver → inbound/outbound endpoints / rulesetsを確認。
  • Private Endpoint → DNS configurationでexpected FQDN/zoneを確認。

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 private-dns zone list -g <rg> -o table
az network private-dns link vnet list -g <rg> -z <zone> -o table
az network private-dns record-set a list -g <rg> -z <zone> -o table
PowerShell — read-only first
Get-AzPrivateDnsZone -ResourceGroupName <rg>
Get-AzPrivateDnsVirtualNetworkLink -ResourceGroupName <rg> -ZoneName <zone>

障害切り分け

症状疑う点証拠次の確認
Azureだけon-prem名不可outbound ruleset/link/routeruleset + TCP/UDP53forwarding path修正
on-premだけAzure private名不可inbound endpoint/conditional forwarderon-prem forwarder + endpoint IPconditional forwarding修正
一部clientだけ旧IPcache/別resolverquery server/TTLresolver統一・TTL待ち
大きいresponseだけ失敗TCP fallback/MTU/NVAtcp 53/packet capturepath MTU/firewall確認

変更・rollback

  • DNS変更前にcurrent answerを複数client locationから保存。
  • record/link削除は影響VNet一覧を確認。
  • rollbackはrecordだけでなくresolver rule/link/VNet DNS settingを戻す。
  • cacheが残るためrollback直後のsingle client resultだけで判定しない。

Official sources