My goal is to be able to add/drop subdomains for a multi-tenant app via Route53: tenant.example.com
. Account provisioning should place the new tenant on a hosting node and then add the newly onboarded tenant subdomain to Route53. The parent DNS is currently handled by a 3rd party (dnsmadeeasy). Currently DNS provider has something like this:
example.com -> A -> <someIP>
example.com -> MX -> <mailhost>
mail.example.com -> CNAME -> <mailhost>
www.example.com -> CNAME -> example.com
example.com -> NS -> <several provider name servers>
I'm also pretty sure the DNS parent provider (dnsmadeeasy) has a SOA record too which is implicit (not shown in management UI). So I did the following:
- I added a wildcard hosted zone in Route53:
*.example.com
. This has 5 records right now, 4 NS records with various name servers and a SOA record I added the Route53 NS records to the parent DNS provider (dnsmadeeasy)
*.example.com -> NS -> <Route53 name server for hostzone above>
My thinking was that now I can start adding A records in the Route53 zone for each tenant:
tenant1.example.com -> A -> <tenant1 hosting IP>
tenant2.example.com -> A -> <tenant1 hosting IP>
...
But trying to add A records in Route53 results in tenant1.\052.example.com
which is not what I want. And I'm not even sure it will work.
My question is whether this is a correct way to go ahead or I'm of the wrong path.
In order to do this, you will need an NS record on the zone hosted at DnsMadeEasy for each subdomain. This action is called "delegating a subdomain" to an external DNS server. Here's the DNS Made Easy guide for that.
For instance, you would need an NS record in the parent zone for:
tenant1.example.com
, which points to the four namserver addresses assigned to you when you create atenant1.example.com
hosted zone in Amazon Route 53.Create your hosted subdomains in Amazon Route 53:
Then make sure DNS Made Easy has an entry like this for each subdomain: