Domain 4 β€” Module 2 of 3 67%
20 of 26 overall
Domain 4: Private Access to Azure Services Free ⏱ ~12 min read

Private Endpoint DNS

Configure DNS for private endpoints β€” the resolution chain, recommended zone names, integration patterns for Azure-only and hybrid environments.

Private Endpoint DNS

Private endpoints are only useful if DNS resolves the service FQDN to the private IP. Without proper DNS, your application connects to the public IP and bypasses the private endpoint entirely. This module is critical for the exam.

Simple explanation

The private endpoint gives you a private IP. But applications still use the public FQDN. Without proper DNS, the FQDN resolves to the public IP β€” traffic goes over the internet, completely bypassing your private endpoint. You need DNS configured so the FQDN resolves to the private IP instead.

The DNS Resolution Chain

When you create a private endpoint for Azure SQL Database (mydb.database.windows.net), here’s what happens to DNS:

Step 1: Client queries mydb.database.windows.net
          ↓
Step 2: CNAME redirect β†’ mydb.privatelink.database.windows.net
          ↓
Step 3: A record in private DNS zone β†’ 10.20.5.4 (private IP)

Without the private DNS zone: Step 2 still creates the CNAME, but Step 3 resolves to the public IP because there’s no private zone to override it. The traffic goes over the internet.

With the private DNS zone: The zone privatelink.database.windows.net contains an A record for mydb pointing to 10.20.5.4. Resolution completes to the private IP.

This two-step CNAME chain is how Microsoft makes private endpoints transparent β€” existing connection strings (mydb.database.windows.net) work without modification.

Each Azure service has a specific zone name. The exam tests that you know these:

Azure ServicePrivate DNS Zone Name
Azure SQL Databaseprivatelink.database.windows.net
Azure Blob Storageprivatelink.blob.core.windows.net
Azure File Storageprivatelink.file.core.windows.net
Azure Table Storageprivatelink.table.core.windows.net
Azure Queue Storageprivatelink.queue.core.windows.net
Azure Key Vaultprivatelink.vaultcore.azure.net
Azure Web Appsprivatelink.azurewebsites.net
Azure Cosmos DB (SQL API)privatelink.documents.azure.com
Azure Monitorprivatelink.monitor.azure.com
Azure Container Registryprivatelink.azurecr.io

Exam Tip: You don’t need to memorise every zone name, but know the pattern: privatelink.{service-specific-domain}. The most commonly tested are SQL Database, Blob Storage, and Key Vault.

Integration Patterns

Pattern 1: Azure-Only (Simplest)

When all resources are in Azure with no on-premises connectivity:

  1. Create the private DNS zone (e.g., privatelink.database.windows.net)
  2. Link the zone to your VNet(s) β€” resolution links
  3. Enable auto-registration when creating the private endpoint (it creates the A record automatically)
  4. All VMs in linked VNets resolve the FQDN to the private IP

When on-premises servers also need to resolve private endpoints:

On-Prem Server
    ↓ (DNS query: mydb.database.windows.net)
On-Prem DNS
    ↓ (conditional forwarder for database.windows.net)
DNS Private Resolver Inbound Endpoint (in Azure VNet)
    ↓ (checks private DNS zone)
Returns 10.20.5.4 (private IP)
    ↓ (traffic flows over VPN/ER)
Private Endpoint NIC in Azure

Steps:

  1. Deploy DNS Private Resolver with an inbound endpoint
  2. Create private DNS zones and link to the resolver’s VNet
  3. Configure on-premises DNS to forward Azure-specific zones to the resolver’s inbound IP
  4. On-prem servers resolve the private IP and connect over VPN/ExpressRoute

Pattern 3: Legacy β€” Forwarder VMs

Before DNS Private Resolver existed, the pattern was:

  1. Deploy two DNS forwarder VMs in Azure (for HA)
  2. Configure them to forward to Azure DNS (168.63.129.16)
  3. Link private DNS zones to the forwarder VMs’ VNet
  4. Point on-premises DNS conditional forwarders to the VM IPs

This still works but is not recommended for new deployments. DNS Private Resolver is the managed replacement.

Private Endpoint DNS Integration Patterns
AspectAzure-Only (Private DNS Zones)Hybrid with Private ResolverHybrid with Forwarder VMs (Legacy)
ManagementFully managed β€” link zones to VNetsManaged service β€” deploy resolver with inbound endpointYou manage DNS VMs, OS patching, and availability
High availabilityBuilt-in (Azure DNS is zone-redundant)Built-in (managed service with SLA)You must deploy and maintain two VMs minimum
On-premises resolutionNot supported β€” Azure VNets onlyYes β€” on-prem forwards to resolver inbound IPYes β€” on-prem forwards to VM IPs
PerformanceLow latency within AzureLow latency, optimised for Azure DNS queriesDepends on VM sizing and load
CostVery low (zone hosting plus queries)Per-hour for resolver endpointsVM compute costs (always running)
Recommended forPure Azure environmentsNew hybrid deployments (recommended)Existing deployments only β€” migrate to Private Resolver

Common DNS Mistakes

Exam Tip β€” The #1 Private Endpoint Mistake: Creating a private endpoint without configuring DNS means the FQDN still resolves to the public IP. Your application connects over the internet, completely bypassing the private endpoint.

Always verify DNS resolution after creating a PE:

  • From Azure VM: nslookup mydb.database.windows.net should return the private IP
  • If it returns a public IP, the private DNS zone is missing or not linked to the VNet

Other common mistakes:

  • Forgetting to link the private DNS zone to all VNets that need resolution
  • Not configuring conditional forwarders for on-premises DNS
  • Using custom DNS servers on the VNet without forwarding to 168.63.129.16
Common Private DNS Zone Mistakes

These three mistakes cause most private endpoint DNS issues on the exam and in real life:

1. Zone not linked to the VNet: You create the private DNS zone but forget to link it to the VNet where your VMs live. The VMs query Azure DNS, but Azure DNS does not check unlinked zones. Fix: create a VNet link from the zone to every VNet that needs resolution.

2. Auto-registration confusion: Auto-registration is for VM A records (VM name to IP). It is NOT required for private endpoints. Private endpoints create their own A records when you enable β€œIntegrate with private DNS zone” during PE creation. Do not confuse the two features.

3. On-premises DNS not forwarding: Your Azure VMs resolve fine, but on-prem servers still get the public IP. Fix: configure conditional forwarders on your on-prem DNS to forward privatelink zones to a DNS Private Resolver inbound endpoint (or legacy forwarder VMs).

When you create a Private Link service (exposing your own custom service), the DNS pattern differs:

  • There’s no automatic CNAME chain (that’s only for Azure PaaS services)
  • The consumer creates a private DNS zone and manually adds an A record for the custom FQDN
  • Or the consumer uses their own DNS infrastructure to create the mapping

Key Takeaways

  • DNS is critical β€” without it, private endpoints are bypassed
  • The CNAME chain (FQDN β†’ privatelink.FQDN β†’ private IP) makes PE transparent
  • Each Azure service has a specific recommended private DNS zone name
  • Hybrid environments need DNS Private Resolver or forwarder VMs
  • Always verify DNS resolution returns the private IP after PE creation

Test Your Knowledge

Question

What is the DNS resolution chain for a private endpoint?

Click or press Enter to reveal answer

Answer

1. Client queries original FQDN (e.g., mydb.database.windows.net). 2. CNAME redirects to privatelink FQDN (mydb.privatelink.database.windows.net). 3. Private DNS zone returns A record with private IP.

Click to flip back

Question

What private DNS zone name is used for Azure Blob Storage?

Click or press Enter to reveal answer

Answer

privatelink.blob.core.windows.net β€” Each Azure service has its own recommended zone name following the pattern privatelink.{service-domain}.

Click to flip back

Question

How do on-premises servers resolve private endpoint FQDNs?

Click or press Enter to reveal answer

Answer

Option 1 (recommended): On-prem DNS forwards to DNS Private Resolver's inbound endpoint in Azure. Option 2 (legacy): On-prem DNS forwards to forwarder VMs in Azure that query 168.63.129.16.

Click to flip back


Knowledge Check

Ravi creates a private endpoint for Azure SQL but his application still connects via the public IP. What's the most likely cause?

Knowledge Check

Aisha's on-premises servers need to resolve Azure private endpoint FQDNs. What's the recommended approach?


Next up: Service Endpoints: When and How β€” The simpler alternative to private endpoints and when each is appropriate.