AzureAzure DNSNetworking

azurerm_dns_zone cost estimation

A public DNS zone hosted on Azure's name servers. Priced per zone per month plus per-million queries, both at low flat rates.

An azurerm_dns_zone hosts a public DNS domain on Azure's global name-server infrastructure. Like most managed DNS, it's cheap and rarely a cost concern, but it has two clean dimensions worth pricing accurately.

The zone bills a flat per-month fee, about $0.50/zone for the first 25 zones (lower above that). Queries bill per million resolved, about $0.40 per million for the first billion a month, dropping after. For a typical application the zone fee is the whole story; for a high-traffic public domain the query fee starts to matter.

c3x prices the per-zone fee from the resource and the query dimension from the monthly volume you supply in c3x-usage.yml. Private DNS uses a separate resource (azurerm_private_dns_zone) with its own record-set and query pricing; this resource is the public zone. Record sets (A, CNAME, etc.) within the zone are free and don't add to the estimate.

Terraform example

A minimal but realistic configuration that C3X can estimate.

resource "azurerm_dns_zone" "public" {
  name                = "example.com"
  resource_group_name = azurerm_resource_group.net.name
}

resource "azurerm_dns_a_record" "www" {
  name                = "www"
  zone_name           = azurerm_dns_zone.public.name
  resource_group_name = azurerm_resource_group.net.name
  ttl                 = 300
  records             = ["203.0.113.10"]
}

Pricing dimensions

What you actually pay for when you provision azurerm_dns_zone.

DimensionUnitWhat's being charged
Hosted zoneper zone-monthFlat per-zone fee, ~$0.50/zone/month for the first 25 zones. c3x prices one zone per resource.
$0.50/zone/month
DNS queriesper million queriesResolved queries against the zone, ~$0.40 per million for the first billion/month. Usage-based; define in c3x-usage.yml.
$0.40 per million queries

Sample C3X output

Example output from c3x estimate with 10M queries/month supplied:

azurerm_dns_zone.public
├─ Hosted zone               1  zone-month     $0.50
└─ DNS queries              10  M-queries      $4.00

OVERALL TOTAL                                  $4.50

Optimization tips

Common ways to reduce azurerm_dns_zone cost without changing the workload.

Keep subdomains as record sets, not separate zones

Per avoided zone

Each zone carries its own monthly fee. Managing subdomains as records within the parent zone avoids creating extra billable zones.

Raise TTLs on stable records

Query volume on hot records

Longer TTLs let resolvers cache and reduce query volume against the zone, trimming per-query cost on high-traffic domains. Lower them only around planned changes.

Don't prioritize DNS in cost reviews

Focus, not dollars

Azure DNS is typically under a dollar or two per month. Direct optimization effort at VMs, databases, and egress first; DNS rounds to noise for nearly all workloads.

FAQ

How does c3x estimate Azure DNS cost?

It prices the flat per-zone-month fee from the resource and the per-query dimension from the monthly query volume you supply in c3x-usage.yml. Without query usage, the estimate is just the per-zone fee.

Are DNS record sets billed?

No. A, AAAA, CNAME, MX, TXT and other record sets within the zone are free. You pay only the per-zone fee and per-query charges.

What's the difference from azurerm_private_dns_zone?

This resource is a public DNS zone resolvable on the internet. Private DNS zones (azurerm_private_dns_zone) resolve only within linked VNets and have their own record-set and query pricing. c3x prices each separately.

Why is the query cost usually tiny?

At $0.40 per million queries, a domain serving tens of millions of queries monthly costs only a few dollars. The flat per-zone fee usually dominates the bill.

How does Azure DNS compare to Route 53 and Cloud DNS?

All three use a per-zone plus per-query model. Azure DNS is ~$0.50/zone, Route 53 $0.50/zone, Cloud DNS $0.20/zone, and all charge roughly $0.40 per million queries. Costs are comparable across providers.

Related resources

Estimate this resource in your own Terraform

Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including azurerm_dns_zone.