Prerequisites
Part 1 — HTTP Setup (S3 + Route 53)
This section covers the basic setup for serving your site over HTTP. For HTTPS (recommended), continue to Part 2.
- Name the bucket to match your domain (e.g.,
yourdomain.com) — this simplifies Route 53 configuration. - Select your preferred AWS region.
- Under Block all public access, uncheck all boxes — required for static hosting.
- Click Create bucket.
- Select Enable.
- Set the Index document to
index.html. - Optionally set an Error document (e.g.,
404.html). - Click Save changes.
BUCKET-NAME with your actual bucket name:
- Choose Simple routing.
- Leave record name blank for root domain, or enter
wwwfor a subdomain. - Choose Alias to S3 website endpoint.
- Select your region and bucket — the endpoint auto-populates.
- Click Create records.
Part 2 — HTTPS Setup (CloudFront + ACM)
To serve your site securely over HTTPS, you need two additional services: AWS Certificate Manager (ACM) for the SSL certificate, and CloudFront as the CDN and HTTPS endpoint.
- Enter your domain (e.g.,
yourdomain.comandwww.yourdomain.com). - Choose DNS validation — ACM will give you a CNAME record to add to Route 53.
- Add the CNAME records in Route 53 to validate ownership.
- Wait for the certificate status to show Issued (usually a few minutes).
- Set Origin domain to your S3 website endpoint (not the bucket ARN).
- Under Viewer protocol policy, choose Redirect HTTP to HTTPS.
- Under Alternate domain names (CNAMEs), add your domain.
- Under Custom SSL certificate, select the ACM certificate you just created.
- Set Default root object to
index.html. - Click Create distribution.
- Change the alias target from S3 to CloudFront distribution.
- Select your CloudFront distribution from the dropdown.
- Save changes.
/*) so the CDN clears its cache and serves the new version.You now have a fully production-grade static website — globally distributed via CloudFront, secured with HTTPS, served from S3, and reachable on your custom domain via Route 53.
This is exactly the architecture powering TechySnacks. The monthly cost for a low-traffic site is effectively zero under AWS free tier limits. Happy Hosting!