Connect Custom Domain to AWS S3 Website using Route 53

Published

Short answer. Route 53 replaces the long default S3 website endpoint with your own domain. You create a hosted zone for the domain, point your registrar at its nameservers, and add a record that resolves the domain to the bucket’s website endpoint.

Part 2 of 4 — static hosting on AWS, end to end:

  1. Host it on S3
  2. Add your own domain with Route 53 (you are here)
  3. Automate deploys with GitHub Actions
  4. Lock it down with CloudFront and a private bucket

Introduction

Hosting your static website on AWS S3 is simple, but by default you get a long AWS URL like:

http://myapp.com.s3-website-us-east-1.amazonaws.com

To make your site look professional, you need a custom domain (like myapp.com). In this guide, you’ll learn how to:

  • Buy/register a domain (Route 53 or third-party like GoDaddy/BigRock)
  • Create a hosted zone in Route 53
  • Configure S3 for website hosting
  • Point your domain to S3 using Route 53 records

By the end, you’ll have your app live on http://myapp.com


Step 1: Buy / Register a Domain

  • You can buy from Route 53 or another registrar like GoDaddy or BigRock.

  • In this example, we’ll use a domain from BigRock:

    myapp.com

Step 2: Create a Hosted Zone in Route 53

  • Go to AWS Console → Route 53 → Hosted Zones → Create Hosted Zone.

  • Enter your domain name:

    myapp.com
  • Choose Public Hosted Zone → Click Create Hosted Zone.

  • Route 53 will give you 4 NS (Name Server) records.

  • Copy these NS records → Go to your domain registrar (BigRock, GoDaddy, etc.) → Update your domain’s Nameserver settings with these 4 values.


Step 3: Configure S3 for Website Hosting

  • Create an S3 bucket with the exact name of your domain:

    myapp.com
  • (If you want a subdomain, bucket name must be: www.myapp.com)

  • Enable Static Website Hosting in bucket properties.

  • Disable Block All Public Access.

  • Add a read-only bucket policy (same as in previous blog).

  • After saving, you’ll get a website endpoint like:

http://myapp.com.s3-website-us-east-1.amazonaws.com

Step 4: Create a Record in Route 53

  • Go to your Hosted Zone in Route 53.
  • Click Create Record.
  • Name: myapp.com (or www.myapp.com for subdomain).
  • Record Type: A – Route traffic to IPv4 & AWS resources.
  • Alias: Yes.
  • Route traffic to: S3 website endpoint.
  • Select the correct region.
  • Save the record.

Done! Now your domain points to your S3 bucket. Visiting http://myapp.com will show your hosted website


Conclusion

You’ve successfully connected your custom domain to an AWS S3 hosted site using Route 53.

This setup gives you:

  • A professional domain name
  • Easy DNS management inside AWS
  • A scalable static website hosting solution

Next Steps

Be interview-ready in the era of AI & Cloud — start your DevOps journey today! YouTube won’t get you a job. Real projects + real internship certificate will. AI is reshaping jobs. Don’t watch it happen, be part of it with DevOps & Cloud skills. ₹2000/month today = Dream job tomorrow. Secure your spot now. ⏳ Every month you wait, Cloud + AI jobs are being filled. Don’t miss out! DevOps + AWS + AI = The skillset every recruiter is hunting for in 2025.

Register now at TechEazy Consulting