The charges for Amazon Route 53 usage on my AWS bill are higher than I expected, and I want to reduce my costs.
Short description
Route 53 charges are based on your use of hosted zones, queries, health checks, and domain names.
You pay only for what you use. For more information, see Amazon Route 53 pricing.
To reduce higher than expected Route 53 costs, take the following actions:
- Delete unused hosted zones.
- Create a private hosted zone for internal resources.
- Create alias records where possible.
- Increase the Time to Live (TTL) for the records.
- Associate multiple domains with the same traffic policy.
- Share an outbound endpoint among multiple virtual private clouds (VPCs).
- Delete health checks that you don't use.
Resolution
Delete unused hosted zones
Important: Be sure to delete only the hosted zones that you don't use. Route 53 can't restore records that you delete in your hosted zone or the hosted zone itself.
You're charged monthly for each hosted zone that you create 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 is used to resolve queries. To reduce costs, delete any unused hosted zones.
Create a private hosted zone for internal resources
You don't get charged for the queries that you make to private hosted zones. So, you can use Route 53 to configure a split-view DNS for an internal and external version of the website or application. To reduce the number of queries to name servers in the public hosted zone, create a private hosted zone to resolve DNS queries within the VPCs.
Create alias records where possible
You're charged for most DNS queries except for queries to alias records that are mapped to resources. For a list of AWS resource types that alias records support, see Value/route traffic to.
If an alias record supports your resource, then edit the record to specify the record type as Alias. You can also create wildcard alias records to protect against cost increases during NXDOMAIN attacks.
Increase the TTL
If you configure a higher TTL for your records, then the intermediate resolvers cache the records for a longer time. The name servers receive fewer queries and as a result, you reduce query-related charges.
Note: Higher TTL slows the propagation of record changes because the previous values are cached for longer periods.
Associate multiple domains with the same traffic policy
When you associate a Route 53 traffic policy with a specific DNS name, such as www.example.com, you create a policy record. You're charged for traffic policies that are 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, determine the traffic policy records that you can replace with simple records or other routing policies.
Share an outbound endpoint
A Route 53 Resolver endpoint requires two or more IP addresses. Each IP address corresponds with one elastic network interface.
When you configure multiple outbound endpoints with different VPCs that you created in different AWS accounts in the same AWS Region, you incur additional charges. To reduce costs, share a single outbound endpoint with multiple VPCs in the same Region.
Delete health checks that you don't use
When you associate health checks with an endpoint, health check requests are sent to the endpoint's IP address. You incur health check charges based on the health checks' associated endpoints. To avoid health check charges, delete health checks that aren't used with resource record sets.
You can also use Evaluate Target Health to reduce health check costs. For more information, see the following documentation: