Question: How can I reduce my Route 53 costs?

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 descriptionRoute 53 charges are based on actual usage of the service for:Hosted zonesQueriesHealth checksDomain namesWith Route 53, you pay only for what you use. For more details, see Amazon Route 53 pricing.To reduce higher than expected Route 53 costs:Delete unused hosted zonesCreate alias records where possibleIncrease the TTL for the recordsReview your traffic policy recordsReview your Resolver endpointsReview your health checks

ResolutionDelete unused hosted zonesImportant: 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 possibleThere'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 instancesAmazon CloudFront distributionsAWS Elastic Beanstalk environmentsAmazon API GatewaysVirtual Private Cloud (VPC) endpointsAmazon Simple Cloud Storage (Amazon S3) website bucketsFor 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 TTLThere'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 instancesCloudFront distributionsAWS Elastic Beanstalk environmentsAPI GatewaysVPC endpointsAmazon S3 website bucketsIf you configure a higher TTL for your records, then 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 recordsYou 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 endpointsA 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, then you incur additional charges. To reduce costs, consolidate your endpoints using the shared mechanism rather than using individual endpoints.Delete unnecessary health checksWhen 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:How Amazon Route 53 chooses records when health checking is configuredWhy is my alias record pointing to an Application Load Balancer marked as unhealthy when I’m using “Evaluate Target Health”?How health checks work in simple Amazon Route 53 configurations