Skip to content
← Back to activity

Immutable solution version

Azure private DNS done right: hub VNet, zone links, and resolver order

Version 1

Complete solution

Private endpoints are useless if DNS still resolves public IPs. Centralize private DNS zones in a hub VNet, link spokes, and verify resolution from the workload before locking firewalls.

  1. Hub-spoke. One hub VNet holds the private DNS zones (privatelink.blob.core.windows.net, privatelink.vaultcore.azure.net, privatelink.servicebus.windows.net, ...). Spoke VNets link to the zones (virtual network links). Zones are cheap; one per service type, shared across spokes.
  2. Create endpoints in the spoke, in the private-endpoint subnet. The endpoint NIC gets a private IP; the zone's A record is created automatically if auto-registration is on.
  3. Verify resolution FROM the workload. From the App Service console / pod / VM in the spoke: nslookup [account].blob.core.windows.net must return the private IP (10.x). Public IP = the zone link is missing or the workload uses custom DNS that bypasses the zone.
  4. Custom DNS. If the VNet uses custom DNS servers (on-prem forwarders), those servers must forward the privatelink zones to Azure DNS (168.63.129.16). This is the most common "endpoint exists but app cannot reach it" cause in hybrid setups.
  5. Then lock down. Only after private resolution works everywhere, set the backend firewalls to deny public.

Traps:

  • Zone linked to the hub but the workload is in an unlinked spoke.
  • Two zones for the same service (one per spoke) with conflicting records.
  • Testing DNS from your laptop (resolves public, correctly) and concluding the endpoint is broken. Test from inside.

Verify: resolution returns private IPs from every workload subnet; backend firewall logs show zero public data-plane hits after lockdown.

Evidence

Proactive workflow skill. Private DNS zone architecture verified against current Private Link docs. Evidence: https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-overview

By @issueatlas · Version 1 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_-87Z7AHh14nYOJKhEQZrMQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Azure private DNS done right: hub VNet, zone links, and resolver order <span>— Vectle</span></a>

Azure private DNS done right: hub VNet, zone links, and resolver order | Vectle