Route 53 cost explained: DNS pricing and its hidden lines
Route 53 charges per hosted zone, per million queries, and for health checks, so DNS cost is usually small but can surprise you at high query volume or with many zones and health checks. Here is the full pricing picture.
Quick answer
Route 53 bills three main ways: a monthly charge per hosted zone, a per-query charge (per million DNS queries, with standard queries cheaper than latency, geo, or alias-to-non-AWS lookups), and a per-health-check charge, with checks on non-AWS endpoints costing more. For most applications DNS is a small line, but it grows with very high query volume, many hosted zones (common with many domains or per-tenant zones), and lots of health checks. Route 53 cost is usually minor, but watch hosted-zone sprawl and health-check counts at scale.
Route 53 is rarely the biggest thing on an AWS bill, and that is exactly why its cost goes unexamined. It charges in a few small ways that are trivial for one application and can add up across a large estate with many domains, high query volume, or numerous health checks. Knowing the pricing keeps DNS from quietly growing into a line worth noticing.
How Route 53 bills
| Charge | Basis |
|---|---|
| Hosted zones | Monthly per zone |
| Queries | Per million DNS queries answered |
| Health checks | Per check, more for non-AWS endpoints |
You pay a small monthly fee per hosted zone, a per-million-query fee for the DNS lookups Route 53 answers, and a per-health-check fee for any endpoint monitoring. Standard queries are cheapest, while latency-based, geolocation, and alias queries to non-AWS targets can cost a bit more per million. Alias records pointing to AWS resources like CloudFront or load balancers are typically not charged for the query, which is a useful saving.
Where DNS cost grows
Three things push Route 53 cost up. High query volume: a very popular application answering billions of queries accumulates per-million charges. Hosted-zone sprawl: teams that create a zone per domain or per tenant can end up with hundreds or thousands of zones, each with a monthly fee. And health checks: many checks, especially on non-AWS endpoints, add up. None of these is expensive alone, but together at scale they become visible, one of many small charges that add up.
Keeping Route 53 cost small
Use alias records to AWS resources where possible, since those queries are typically not charged. Consolidate or clean up unused hosted zones so you are not paying monthly for domains you no longer use. Review health checks and remove redundant ones, and prefer checks on AWS endpoints where the cost is lower. Because DNS query traffic can route through other services, it interacts with your broader edge and networking costs, and small DNS lines are exactly the kind of bill driver that hides until you look. Price your DNS and networking against the resource catalog so even the small lines are accounted for.
FAQ
How is Route 53 priced?
Three main ways: a monthly charge per hosted zone, a per-query charge billed per million DNS queries answered (with standard queries cheaper than latency-based, geolocation, or alias-to-non-AWS lookups), and a per-health-check charge that is higher for checks on non-AWS endpoints. Alias records pointing to AWS resources like CloudFront or load balancers are typically not charged for the query.
Why is my Route 53 bill higher than expected?
Usually one of three things: very high query volume from a popular application accumulating per-million-query charges, hosted-zone sprawl where a zone-per-domain or zone-per-tenant pattern creates hundreds or thousands of zones each with a monthly fee, or many health checks especially on non-AWS endpoints. None is expensive alone, but together at scale they make DNS a visible line.
How can I reduce Route 53 cost?
Use alias records to AWS resources where possible, since those queries are typically not charged, consolidate or delete unused hosted zones so you stop paying monthly for domains you no longer use, and review health checks to remove redundant ones and prefer checks on AWS endpoints where the cost is lower. These trim the small lines that add up across a large estate.
Are Route 53 alias queries free?
Alias records that point to AWS resources such as CloudFront distributions, load balancers, or S3 website endpoints are typically not charged for the query, which makes them cheaper than standard records for AWS targets. Alias queries to non-AWS targets and other routing policies like latency-based or geolocation can carry a per-query charge, so preferring alias-to-AWS records where possible reduces query cost.
Do Route 53 health checks cost money?
Yes, each health check carries a per-check monthly charge, and checks that monitor non-AWS endpoints cost more than those on AWS endpoints. Many health checks across many endpoints add up, so review them periodically, remove redundant or unused checks, and prefer monitoring AWS endpoints where the rate is lower. Health checks are a small but real line at scale.
How does C3X help with Route 53 cost?
C3X prices your Route 53 hosted zones, records, and health checks from Terraform before you deploy, so even the small DNS lines are visible in the pull request. That helps catch hosted-zone sprawl or excessive health checks at design time, ensuring the many small charges that accumulate across a large estate are accounted for rather than overlooked.
What to do next
Account for DNS and networking cost before you deploy. C3X reads your Terraform and prices your resources against a live catalog. Start with the quickstart.
Share this post
Try C3X on your own Terraform
Free and open source. No API key required. One command to install, one command to estimate.