google_dns_managed_zone cost estimation
A managed DNS zone. Priced per zone per month plus per-query, both at low flat rates that scale with the number of zones and query volume.
A google_dns_managed_zone hosts a DNS zone on Google's anycast name servers. The pricing is simple and cheap, which is why it rarely shows up as a cost concern, but it has two real dimensions worth knowing for accuracy.
First, each managed zone bills a flat per-zone-per-month fee, around $0.20/zone for the first 25 zones (lower above that). A handful of zones is a few dollars a month. Second, queries bill per million resolved, around $0.40 per million for the first billion queries a month, dropping after. For most applications the zone fee dominates and the query fee is a rounding error; for very high-traffic public domains the query fee becomes the larger line.
c3x prices the per-zone fee directly from the resource and prices the query dimension from the monthly query volume you supply in c3x-usage.yml. Private zones (visibility = private) and public zones bill the same way. DNSSEC signing has no separate charge.
Terraform example
A minimal but realistic configuration that C3X can estimate.
resource "google_dns_managed_zone" "primary" {
name = "example-com"
dns_name = "example.com."
description = "Primary public zone"
dnssec_config {
state = "on"
}
}Pricing dimensions
What you actually pay for when you provision google_dns_managed_zone.
| Dimension | Unit | What's being charged |
|---|---|---|
| Managed zone | per zone-month | Flat per-zone fee, ~$0.20/zone/month for the first 25 zones. c3x prices one zone per resource. $0.20/zone/month |
| DNS queries | per million queries | Resolved 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 5M queries/month supplied:
google_dns_managed_zone.primary
├─ Managed zone 1 zone-month $0.20
└─ DNS queries 5 M-queries $2.00
OVERALL TOTAL $2.20Optimization tips
Common ways to reduce google_dns_managed_zone cost without changing the workload.
Consolidate subdomains into one zone where possible
Per avoided zoneEach zone carries its own monthly fee. Hosting subdomains as records within a parent zone, rather than as separate delegated zones, avoids duplicate per-zone charges.
Cache aggressively with sensible TTLs
Query volume on hot recordsHigher record TTLs mean resolvers cache longer and query Cloud DNS less often, reducing per-query charges for high-traffic domains. Balance against how fast you need DNS changes to propagate.
Don't over-worry the DNS line
Focus, not dollarsFor nearly all applications Cloud DNS is a few dollars a month. Spend optimization effort on compute and data transfer first; revisit DNS only for very high-QPS public domains.
FAQ
How does c3x estimate Cloud 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.
Is DNSSEC an extra charge?
No. Enabling dnssec_config has no separate cost on Cloud DNS. You pay the standard per-zone and per-query rates whether or not DNSSEC is on.
Do private and public zones cost the same?
Yes. The per-zone and per-query model applies to both. A private zone (visibility = private) used for internal resolution bills the same way as a public zone.
Why is the query cost usually negligible?
At $0.40 per million queries, even a busy domain serving tens of millions of queries a month costs only a few dollars. The flat per-zone fee typically dominates a Cloud DNS bill.
How does this compare to AWS Route 53?
Both use a per-zone plus per-query model. Route 53 charges $0.50/hosted zone and $0.40 per million queries; Cloud DNS is $0.20/zone and $0.40 per million. The structures are nearly identical.
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 google_dns_managed_zone.