How can I reduce my Route 53 costs?

Last updated: 2021-05-27

The charges for Amazon Route 53 usage on my AWS bill are higher than I expected. What can I do to reduce my Route 53 costs?

Short description

Route 53 charges are based on actual usage of the service for:

  • Hosted zones
  • Queries
  • Health checks
  • Domain names

With Route 53, you pay only for what you use. There are no minimum fees or minimum usage commitments, and there are no overage charges. For more details, see the Route 53 pricing page.

To reduce higher than expected Route 53 costs:

  • Delete unused hosted zones
  • Create alias records where possible
  • Increase the TTL for the records
  • Review your traffic policy records
  • Review your Resolver endpoints
  • Review your health checks

Resolution

Delete unused hosted zones

Important: Be sure to delete only the hosted zones that you don't need. Route 53 can't restore records that you delete in your hosted zone, or the hosted zone itself.

There's a monthly charge for each hosted zone created in Route 53. When you create a hosted zone for your domain, Route 53 assigns a set of four name servers to the hosted zone. For public DNS resolution, only the hosted zone that has the name servers added at the domain registrar are used to resolve queries. To minimize costs related to the hosted zone, delete any unused hosted zones.

Create alias records where possible

There's a charge for most DNS queries answered by Route 53. The exception to this policy is queries to alias records mapped to resources provided at no cost, including:

  • Elastic Load Balancing instances
  • Amazon CloudFront distributions
  • AWS Elastic Beanstalk environments
  • Amazon API Gateways
  • Virtual private cloud (VPC) endpoints
  • Amazon Simple Cloud Storage (Amazon S3) website buckets

For a complete list of AWS resource types that are supported by alias records, see Value/route traffic to.

If your resource is supported by alias records, then edit the record to specify the record type as Alias.

Increase the TTL

There's a charge for most DNS queries answered by Route 53. The exception to this policy is queries to alias records mapped to resources provided at no cost, including:

  • Elastic Load Balancing instances
  • CloudFront distributions
  • AWS Elastic Beanstalk environments
  • API Gateways
  • VPC endpoints
  • Amazon S3 website buckets

If you configure a higher TTL for your records, the intermediate resolvers cache the records for longer time. As a result, there are fewer queries received by the name servers. This configuration reduces the charges corresponding to the DNS queries answered. However, higher TTL slows the propagation of record changes because the previous values are cached for longer periods. Lower TTL results in faster propagation. However, lower TTL means that more queries arrive at the name servers because the cached values expire sooner.

Review your traffic policy records

You create a policy record when you associate a Route 53 traffic flow policy with a specific DNS name (such as www.example.com). The traffic policy manages traffic for that specific DNS name. Traffic polices are generally a best practice for the combination of the routing policies and for the geoproximity routing policy. There's no charge for traffic policies that aren't associated with a DNS name through a policy record.

To associate multiple domains with the same traffic policy, create an alias record in the same hosted zone as the traffic policy record. For example, you can create a traffic policy record for example.com and an alias record for www.example.com that references the traffic policy record.

To further reduce costs, review your traffic policy records. Determine if the traffic policy records can be replaced with simple records or other routing policies.

Review your Resolver endpoints

A Route 53 Resolver endpoint requires two or more IP addresses. Each IP address corresponds with one elastic network interface. Elastic network interfaces are charged at a rate of $0.125 per hour, per interface.

A single outbound endpoint can be shared among multiple VPCs that were created by multiple accounts within the same Region. If you configured multiple outbound endpoints with different VPCs in the same Region, you will incur additional charges. To reduce costs, consolidate your endpoints using the shared mechanism rather than using individual endpoints.

Delete unnecessary health checks

When you associate health checks with an endpoint, health check requests are sent to the endpoint's IP address. These health check requests are sent to validate that the requests are operating as intended. Health check charges are incurred based on their associated endpoints. To avoid health check charges, delete any health checks that aren't used with an RRset record and are no longer required.

Be sure to configure Evaluate Target Health (ETH) wherever possible as an alternative to health checks. This strategy helps avoid health check costs. For more information, see:


Did this article help?


Do you need billing or technical support?