aws_ route53_ zone cost estimation
A DNS hosted zone. Flat $0.50/month per zone, plus tiered per-query charges.
An aws_
First, $0.50/month per hosted zone. This is prorated by the day for new zones in their first month, and free for zones deleted within 12 hours.
Second, $0.40 per million queries for the first billion queries per month, then tiered down at higher volumes. Standard queries to A, AAAA, CNAME, MX, etc. records all count the same. Latency-based and geolocation routing queries cost more ($0.60-$0.70 per million) because of the routing logic.
Health checks (aws_
Traffic Flow policies (advanced routing) cost $50/month per policy record. Right for sophisticated multi-region failover setups.
DNSSEC signing is $0.05 per query that returns a DNSSEC-signed response, plus a flat $1/month per zone for the KMS key used for signing.
c3x estimates the per-zone flat fee from the resource. Query volume is usage-based via c3x-usage.yml's monthly_
Terraform example
A minimal but realistic configuration that C3X can estimate.
resource "aws_route53_zone" "main" {
name = "example.com"
}
resource "aws_route53_record" "www" {
zone_id = aws_route53_zone.main.zone_id
name = "www.example.com"
type = "A"
alias {
name = aws_cloudfront_distribution.site.domain_name
zone_id = aws_cloudfront_distribution.site.hosted_zone_id
evaluate_target_health = false
}
}Pricing dimensions
What you actually pay for when you provision aws_.
| Dimension | Unit | What's being charged |
|---|---|---|
| Hosted zone | per zone per month | Flat fee for each zone to exist. $0.50/zone/month |
| Standard queries | per 1M queries | Queries against A, AAAA, CNAME, MX, TXT, etc. records. Bulk discounts above 1B/month. $0.40/1M for first 1B; $0.20/1M after |
| Latency-based / geo / weighted queries | per 1M queries | Routing logic adds a premium over standard queries. $0.60-$0.70/1M |
| Health checks | per health check per month | Separate resource (aws_ $0.50/month per basic check |
| DNSSEC | per zone + per query | $1/month per signed zone (for the KMS signing key) plus a small per-query fee for signed responses. |
Optimization tips
Common ways to reduce aws_ cost without changing the workload.
Use Alias records instead of CNAME for AWS targets
Eliminates query fees for AWS targetsAlias records pointing to CloudFront, ALB, S3, etc. don't count as queries against your zone (you don't pay for them). CNAMEs to the same targets do count.
Avoid latency-based or geolocation routing unless needed
50%+ on premium query typesThese cost more per query than standard routing. For most workloads, a single CloudFront distribution with global edge caching handles geographic distribution better and cheaper than DNS-level routing.
Consolidate subdomains into one zone
$0.50 per consolidated zoneEach delegated subdomain (a separate hosted zone for staging.example.com, etc.) is another $0.50/month. Keep records in the parent zone unless you specifically need separate IAM/DNSSEC scope.
Delete zones for deprecated domains
$0.50/zone/monthIt's easy to leave zones lying around for old test domains. Each one is $0.50/month forever. Audit aws_
FAQ
Why is my Route 53 bill higher than expected?
Usually it's health checks. Each one is $0.50-$0.75/month, and they add up across services. Audit aws_
Does c3x estimate query volume?
Only via c3x-usage.yml. Query volumes can be pulled from Route 53 query logs to populate usage_
What about Route 53 Resolver?
Route 53 Resolver is a separate resource type (aws_
Are alias records to S3 free?
Yes. Alias queries to AWS targets (S3, CloudFront, ALB, ELB, API Gateway, VPC interface endpoints) are not charged. This is one of the main reasons to prefer alias over CNAME for AWS services.
Related resources
More AWS resources
Further reading
- AWS Cloud Map cost: per registered resource and per lookup
Cloud Map bills per registered service-discovery resource per month and per API discovery call, plus any health checks. It is inexpensive, but high-frequency discovery lookups from many clients can add up. Here is the model.
- AWS Route 53 cost explained: hosted zones, queries, and health checks
Route 53 bills $0.50 per hosted zone per month plus $0.40 per million standard queries, and alias queries to AWS resources are free. Latency and geo routing cost more per query, and health checks add up. Here is where the money goes.
- Route 53 vs Cloudflare DNS cost: per-query billing vs flat plans
Route 53 bills per hosted zone and per query, so cost scales with traffic. Cloudflare offers DNS on flat plans (including a free tier) with unlimited queries. Here is how the two models compare and when each wins.
- DNS cost compared: Route 53 vs Azure DNS vs Cloud DNS
Managed DNS (Route 53, Azure DNS, Cloud DNS) prices by hosted zones plus queries, all inexpensive, with health checks and traffic policies adding cost. The cheapest is usually the one native to your cloud. This compares them.
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 aws_.