Key concepts
- Zone name uniqueness: A zone name must be unique within a resource group.
- Cross-resource-group zones: The same zone name can exist in different resource groups; each instance uses its own set of Azure name servers.
- Authoritative service: Azure DNS serves as the authoritative name servers for zones you deploy to it once you delegate the domain at your registrar.
Delegation (registrar -> Azure)
When you purchase a domain from a registrar (for example, Cloudflare or GoDaddy), the registrar typically assigns its own name servers. To have Azure DNS answer queries for your domain, update the domain’s name server (NS) records at the registrar to the Azure-provided name servers for your zone. Once delegated, queries for your domain are answered by Azure’s global authoritative name servers based on the record sets you define in the Azure DNS zone.If you purchase a domain through Azure (for example with App Service Domains), the domain can be integrated directly with Azure DNS — eliminating the need to manually change name servers at an external registrar.
Record sets
- Azure groups records that share the same name and type into a record set.
- A single record set can contain up to 20 unique records (for example, multiple A records to implement simple DNS-based load balancing).
Record-set members must be unique. Keep the 20-record-per-record-set limit in mind when designing DNS records (for example, when distributing traffic across many A records).
Common DNS record types in Azure DNS
How Azure DNS works (flow)
Consider a DNS zone namedkodekloud.org hosted in Azure:
- Azure assigns authoritative name servers (NS records) to the zone.
- Inside the zone you create record sets (for example, an
Arecord forazure.kodekloud.orgor aCNAMEforgoogle.kodekloud.org). - If the domain is delegated at the registrar to Azure’s name servers, DNS queries from the public internet will reach Azure name servers and be answered using your configured record sets.
- For on-premises setups, you can either delegate subdomains from your internal DNS to Azure name servers or configure forwarding so internal clients resolve names from Azure DNS.
Example resolution using dig
This example queries an Azure DNS name server directly for theA record of azure.kodekloud.org:
Create a DNS zone in the Azure portal
In the Azure portal, search for “DNS zones” and create a new zone. When creating a zone you choose a resource group and a zone name.
kodekloud.org in the resource group demo-rg. A DNS zone is a global resource for authoritative data (it does not have a region for the DNS data itself), though the resource object metadata is associated with the resource group’s region.
After creating the zone, Azure automatically provides:
- An SOA record (Start of Authority)
- NS records listing the Azure name servers assigned to your zone
A, AAAA, CNAME, CAA, MX, and TXT. For example, add an A record www.kodekloud.org pointing to 1.1.1.1.

azure.kodekloud.org if you need separate administrative control or different name servers for that subdomain.
Testing resolution from a client
Usenslookup in PowerShell or Command Prompt on Windows to query Azure name servers and confirm records. The example below switches the server to an Azure DNS name server (ns1-35.azure-dns.com) and queries the A record for www.kodekloud.org and the CNAME for google.kodekloud.org.

Private DNS zones
Use Azure Private DNS Zones for internal name resolution that should not be published to the internet. Private zones let you manage DNS names for virtual machines and other resources within your virtual networks and provide name resolution across linked virtual networks. Linking private zones to virtual networks and configuring resolution is covered separately.Links and references
- Azure DNS documentation (Microsoft)
- Kubernetes DNS basics — background on DNS concepts
- Cloudflare
- GoDaddy