Google CloudCloud DNSNetworking

google_dns_record_set cost estimation

A DNS record set is essentially free to define. Cloud DNS bills per managed zone per month and per million queries, so cost scales with zones and query volume, not with individual records.

A google_dns_record_set is a single DNS record (A, AAAA, CNAME, MX, TXT, and so on) inside a Cloud DNS managed zone. Cloud DNS does not bill per record. Creating and updating record sets is free; the two things Cloud DNS charges for are managed zones and queries.

Managed zones bill a small flat rate per zone per month for the first batch of zones, dropping per zone above that. Queries bill per million, tiered so the rate falls as volume rises. So the cost tied to your records is really the cost of the zone that holds them and the query traffic they attract. A record for a popular apex domain can drive far more queries, and therefore more cost, than a record for an internal service, even though the record set itself is identical.

Records that point at other GCP resources also carry indirect cost: an A record pointing at a static external IP relies on that address (billable if reserved and unused), and a record fronting a load balancer's IP sends traffic to a paid forwarding rule. c3x prices the managed zone and expected query volume and treats each record set as free, while flagging the priced targets a record points at.

Terraform example

A minimal but realistic configuration that C3X can estimate.

resource "google_dns_record_set" "api" {
  name         = "api.example.com."
  managed_zone = google_dns_managed_zone.example.name
  type         = "A"
  ttl          = 300
  rrdatas      = [google_compute_global_address.app.address]
}

Pricing dimensions

What you actually pay for when you provision google_dns_record_set.

DimensionUnitWhat's being charged
Record setfreeIndividual DNS records are free to create and update. Cloud DNS does not bill per record.
$0
Managed zoneper zone-monthThe zone that holds the records bills a flat monthly rate, tiered down as you add zones.
~$0.20/zone-month (first 25 zones)
DNS queriesper million queriesQueries against the zone bill per million, tiered lower as volume rises.
~$0.40 per million (first 1B/month)

Optimization tips

Common ways to reduce google_dns_record_set cost without changing the workload.

Raise TTLs to cut query volume

Fewer billable queries

Longer TTLs let resolvers cache answers longer, reducing the queries that reach Cloud DNS and the per-million charge. Use short TTLs only where fast failover is needed.

Consolidate records into fewer zones

Cost is per zone, not per record. Keeping many records in one zone avoids paying the per-zone monthly fee for zones that hold only a handful of records.

Release IPs behind retired records

A record pointing at a reserved static IP keeps that address in use. When retiring the record, release the address too so it does not bill as an unused reservation.

FAQ

Does a Cloud DNS record cost money?

Not per record. Cloud DNS bills per managed zone per month and per million queries. Individual record sets are free to create and update; cost scales with zones and query volume.

What drives Cloud DNS cost the most?

Query volume for high-traffic domains and the number of managed zones. A popular apex record can generate millions of queries, so TTL tuning and zone consolidation are the main levers.

How do I estimate Cloud DNS cost?

Count managed zones times the per-zone monthly rate, plus expected queries per million. c3x prices the zone and query volume and treats individual record sets as free.

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_record_set.