Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service.
It
is designed to provide an extremely reliable and cost effective way to route end users
to Internet applications by translating human readable names like
www.example.com into numeric IP addresses like
192.168.0.1 that computers use to connect to each other.

Additionally, Route 53 supports the alias resource record set, which
lets you map your zone apex (e.g. example.com) DNS name to your load balancer DNS
name.
IP addresses associated with Elastic Load Balancing can change at any time due to
scaling
or software updates. Route 53 responds to each request for an alias resource record
set with
one IP address for the load balancer. If a load balancer has more than one IP address,
Elastic Load Balancing selects one of the IP addresses in a round-robin fashion and
returns
it to Route 53; Route 53 then responds to the request with that IP address.

Alias resource record sets are virtual records that work like CNAME records.
But they differ from CNAME records in that they are not visible to resolvers. Resolvers
only see the A record and the resulting IP address of the target record. As such,
unlike CNAME
records, alias resource record sets are available to configure a zone apex (also known
as a root
domain or naked domain) in a dynamic environment.

This section provides a solution for Route 53 zone apex alias support by setting up
an
Amazon CloudFront distribution between Route 53 and an AWS GovCloud (US-West)
Elastic Load Balancing load balancer. The solution demonstrates how to configure
Route 53 with a zone apex alias resource record set that maps to a CloudFront web
distribution DNS name. The CloudFront distribution in turn points to the AWS GovCloud
(US-West)
load balancer DNS name as a custom origin.

An additional benefit of this approach is that CloudFront can help improve the performance
of your website, including both static and dynamic content. For more information about
CloudFront, see the CloudFront
documentation.

The following figure shows the various AWS services used to demonstrate this solution:

Javascript is disabled or is unavailable in your browser.

To use the AWS Documentation, Javascript must be enabled. Please refer to your browser's
Help pages for instructions.