logo
StartupX
...

April 6, 2025

...

7 min Read

Adding CNAME Record on Root Domain (zone apex) in Route 53

Written by

Introduction

The following blog address the limitation of Route 53 to add CNAME record on the root domain (zone apex) with which the Hosted Zone is been created.

For legitimate reasons CNAME records are illegal for domains that are not sub-domain.

There are mainly 2 reasons:

  1. SOA and NS records are mandatory to be present at the root domain
  2. CNAME records can only exist as single records and cannot be combined with any other resource record (DNSSEC SIG, NXT, and KEY RR records excepted)

In today’s landscape there are many web-hosting sites that provides us with subdomains instead on A records on hosting a site on their platform’s server. This may cause trouble when you are managing the domain (that you want to point to the platform’s server) on Route 53. It is a common practice to host the landing page of a website (which is generally the root domain) on a web designing PAAS solution provider.

To get around this problem we will be using the concept of:

  • ALIAS record in Route 53
  • Application Load balancer

What is an ALIAS record in Route 53?

It is a virtual record types that provide CNAME like behavior, with none of the downsides. Alias records let you route traffic to selected AWS resources, such as Load balancer, CloudFront.

Unlike a CNAME record, you can create an alias record at the top node of a DNS namespace, also known as the zone apex. For example, if you register the DNS name example.com, the zone apex is example.com. You can’t create a CNAME record for example.com, but you can create an alias record for example.com that routes traffic to www.example.com.

Note: – ALIAS records can only be applied to AWS resources.

What is Application Load Balancer in AWS?

An Application Load Balancer (ALB) functions at the application layer, the seventh layer of the Open Systems Interconnection (OSI) model. After the load balancer receives a request, it evaluates the listener rules in priority order to determine the path in which traffic will be routed.

  • ALB supports path-based routing.
  • Support for redirecting requests from one URL to another. This is the feature we will be using to route the root domain to the other subdomain given to us by the website provider.

Now, let’s start with the setup:

Assumption: –

  • We will assume our root domain is example.com
  • That a Hosted zone is already created for example.com on route 53.
  • We will assume an URL (subdomain) has been provided to us by the PAAS Solution (web hosting provider).
  • SSL certificate of the root domain from AWS ACM created and verified.

 

Creating an Application Load Balancer

Creating a Target group:
Funnily, this target group will be unnecessary after the setup is complete and we can delete it, but AWS doesn’t support creating ALB without target groups.

Steps:
a) Go to EC2 console -> Target group
b) Create a Target group with default settings given. Do not attach any                      targets to the target group
c) Note the VPC where the target group you are creating. This is where ALB will also be created.
Note: – IT is advisable to select a VPC where there is multiple public subnets in different availability zones.
d) Give a name for the target group.

 

 

Creating Application Load Balancer:

  Steps:
a)     Go to EC2 console -> Load balancer
b)     Select Create Load balancer -> Application Load balancer
c)     Select the scheme as Internet-facing.
d)     Select the same VPC where the Target group was created.
e)     Choose 1 public subnets from each availability zone.
f)      Create/select a security group.
I)   Inbound Rule: Port 80 & 443 should be open to 0.0.0.0/0 (all)
II)   Outbound Rule: All ports should be open to 0.0.0.0/0 (all)

g)    Select the Listener protocol & port as HTTPS & 443. Select the Target group            created above as ’Forward default action’.
h)    Select the SSL certificate you created from ACM.
i)    Create the Load balancer with a unique name.

  • Updating Listener rules in ALB:

Steps:
a) Select the listener HTTPS:443.
b) Edit the default action from the details page

i) Remove the default action from listener details. Create a new action with Action type: ‘Return fixed response’.
ii) Enter response code as 404. Optionally you can add response body.

* The reason is, if anyone tries to open the URL of the load balancer directly, the response will be 404 Not found. The ALB can only forward traffic when it is redirected from the root domain URL through the ALIAS record.

c)   In the same listener under Rules, select manage rules
i)  Select add rules (shown by + sign on top)
ii) Add IF condition as ‘Host Header’. The value is the name of the root domain from which you want to redirect.
iii) Under Add action select: ‘Redirect to’.
iv) Select the redirect protocol as HTTPS with ‘Custom host, path,     query’.
v) For Host, enter www.{root_domain}. For example, if your root                          domain is example.com, the Host will be ‘www.example.com’.

The way it works, the root domain redirects to asubdomain of its, for which CNAME record can be added.Generally, that subdomain is ‘www’. In the later phase wehave to update a CNAME record on Route 53 for thissubdomain (www.example.com, as ex here).

Note the ‘Host value’ you added as we have to create aCNAME record for this value in Route 53. This subdomainrecord will point to the URL provided to us by the web-hosting site.

Creating Listener HTTP: 80:

Steps:
a)  Under the listener tab in the Load balancer main page, select ‘Add Listener’
b)  Select the Protocol as HTTP:80. Under ‘default Action’ select ‘Redirect’.
c)   Under ‘Redirect’ select Protocol HTTPS:443.
d)   For redirection rule, select: ‘Original, host, path, query’. Save the setting.

The reason is, if the URL is requested with HTTP protocol it will auto-redirect to HTTPS..

Creating Records in Route 53: –

We need to add 2 records in route 53:
* Adding the ALB ALIAS record to the root domain.

* Adding CNAME record to the subdomain that redirects to the URL                           provided to us from the web hosting provider

Create record under the Hosted zone: –

The 1st record is for ALIAS:

Steps:
a) Since the record will be on root domain, we keep subdomain value as blank.
b) Select the Record type as A recordTURN ON ALIAS radio icon.
c) Select ‘Route traffic to’ as ‘Alias to Application & classic load balancer’.
d) Select the proper region and the ALB DNS name of the Load balancer you created for this project.

The 2nd record is for CNAME:

Steps:

a) Enter the subdomain value, the Host value you used when creating the ALB HTTPS listener custom rule.

The reason is, the load balancer will redirect to this CNAME record and this CNAME record will finally redirect to the URL that is used on web-hosting.

b)  Select the Record type as CNAME record.
c) Finally, put the URL provided by the web-hosting provider as value.

 

How Everything Works?

  • The root domain redirects to the Application load balancer.
  • The load balancer redirects to the CNAME record of the root domain.
  • The CNAME record redirects to the URL of the web-hosting site.

Redirection Flow through Route 53

In conclusion, through Application Load balancer we can forward the domain root to a CNAME record.

Written by

Vegazone Casino says:
Your comment is awaiting moderation. This is a preview; your comment will be visible after it has been approved.
Just had a cracking arvo session grinding crash casino games and honestly reckon it’s pure adrenaline when you actually know when to cash out. Tried out Vegazone tonight and was stoked. Threw in cash through Mastercard and saw they also support PayPal which suits Aussies well. Watching that multiplier rise is addictive as hell — the trick is to stay calm yet also know when to eject. Compared to Zeppelin, Goal which I’ve played heaps, crash gives you a genuine live decision-making buzz. Ripper platform if you’re in Oz — worth a visit at https://rootskitchen.bar
Vegazone Casino says:
Your comment is awaiting moderation. This is a preview; your comment will be visible after it has been approved.
Wrapped up a deadly arvo session playing crash games and reckon it hits different when you actually know when to cash out. Tried out Vegazone for this session and wasn’t disappointed. Threw in cash through Mastercard and saw they also support Apple Pay which is good to know. Watching that multiplier rise is addictive as hell — the trick is to stay calm but also know when to eject. Unlike Zeppelin, Goal which I’ve played heaps, this format gives you that live split-second thrill. Ripper platform for locals — worth a visit at https://rootskitchen.bar

Leave a Reply

Related Posts

Load All
How to Replit and Neon DB Help in Rapid Product Development? StartupX

How to Replit and Neon DB Help in Rapid Product Development?

Read More...
Poulami Saha

Written by Poulami Saha

April 6, 2026

Architectural Challenges in AI-Generated Low-Code/No-Code Platforms StartupX

Architectural Challenges in AI-Generated Low-Code/No-Code Platforms

Read More...
Manika

Written by Manika

March 17, 2026

The Role of UI UX Design in MVP Development StartupX

The Role of UI UX Design in MVP Development

Read More...
Codelogicx

Written by Codelogicx

November 30, 2025