Architecture

Four services, one request path

The site has no web server. Static files live in S3, CloudFront delivers them over HTTPS, ACM supplies the certificate, and Route 53 connects the domain name to CloudFront.

Diagram: the visitor's browser looks up the domain in Route 53, sends an HTTPS request to CloudFront, which uses an ACM certificate and reads files from a private S3 bucket. Direct public access to the bucket is denied.

Numbers show the order of each step when someone opens the site.

Explore each component

Select a service to see what it does here and how it is configured.

Route 53: the domain's address book

The domain is registered at Namecheap, which delegates it to four Route 53 name servers. The hosted zone holds:

  • A and AAAA alias records for the bare domain and www, pointing at the CloudFront distribution for IPv4 and IPv6.
  • CNAME validation records that prove to ACM the project controls the domain.

Why each service is needed

ServiceRole in this siteWhat would break without it
Amazon S3Stores the website files durablyThere would be nothing to serve
Amazon CloudFrontServes files over HTTPS from edge locations and is the only reader of the bucketThe bucket would have to be public, and HTTPS on a custom domain would not be possible
AWS Certificate ManagerProvides the TLS certificate for the domainBrowsers would show a certificate warning
Amazon Route 53Answers DNS queries for the domainThe custom domain would not lead to the site