skip to content

You created a public hosted zone for example.com in Route 53 and added an A record for www, but the name still does not resolve anywhere on the internet. What step is most likely missing, and where is it performed?

level: juniorimportance: should knowfreq 56%

answer

  1. a zone is not a delegation
  2. who tells the internet to ask Route 53
  3. four name servers per zone
  4. the parent publishes NS, not you
  5. recreating a zone reassigns them

basics

~20 s

Delegation. A new Route 53 public hosted zone is assigned four name servers, and nothing on the internet consults them until the domain's registrar publishes those four as the domain's NS records. Records exist but are unreachable until then.

solid answer

~50 s

Creating a hosted zone does not make Route 53 authoritative for the domain — it only prepares a zone and assigns it a delegation set of four Route 53 name servers. Until the parent zone points at them, resolvers walking down from the TLD never arrive at Route 53, so your records are invisible no matter how correct they are. The missing step lives at the **registrar**: set the domain's name servers to the four listed in the hosted zone's delegation set (`aws route53 get-hosted-zone` shows them, as does the console). If the domain is registered in Route 53 Domains, that is done under Registered domains, which is a separate surface from the hosted zone. Verify with `dig NS example.com` against a public resolver and confirm the answer matches the delegation set, then allow for the TLD's own NS TTL before expecting a global change.

code

bash · 4 lines
bash
aws route53 get-hosted-zone --id Z0123456789ABCDEFGHIJ \
  --query 'DelegationSet.NameServers' --output text

dig +short NS example.com @1.1.1.1

go deeper

for a junior

Say clearly that the domain's registrar must list the four name servers shown in the hosted zone, and that until it does, the records exist but nobody is asked for them.

for a middle

Describe the delegation chain from the TLD down, and know that recreating a zone assigns a new delegation set while the registrar keeps pointing at the old one.

for a senior

Run the cutover safely: verify the zone against the old provider, lower TTLs before repointing, and explain why the parent's NS TTL makes the change take hours to settle globally.

for a principal

Decide the org's registrar and DNS ownership model — who may repoint delegation, whether reusable delegation sets are standard, and how domain loss or accidental zone deletion is prevented and detected.

## Two separate things that both say "example.com" DNS resolution is a walk down a delegation chain: a resolver asks the root which servers serve `com`, asks those which servers serve `example.com`, and only then asks *those* servers for `www.example.com`. Each step is a set of NS records published by the **parent**. A Route 53 hosted zone is the last link in that chain — the servers that finally answer. Creating one is a purely local act: AWS allocates a zone, gives it an SOA record and a set of NS records at the apex, and assigns four name servers (the *delegation set*), typically one in each of four different top-level domains (`.com`, `.net`, `.org`, `.co.uk`) for resilience. None of that touches the `com` zone. Until the registrar tells the registry to publish those four names as the delegation for `example.com`, no resolver on earth has any reason to ask Route 53 anything. That is why the symptom is total: not a stale answer, not the wrong address — nothing at all. ## Where the fix is applied At the domain's **registrar**, in whatever it calls the name-server field. Two AWS-specific wrinkles catch people: 1. **Route 53 Domains is not Route 53 hosting.** If you registered the domain with AWS, the registrar side lives under *Registered domains*, and the hosted zone lives under *Hosted zones*. Registering a domain does create a hosted zone and wire the two together automatically — but if you later delete that zone and create a new one, the automatic link is not re-established. 2. **Recreating a zone changes the name servers.** Delete a public hosted zone and create it again with the same name and you get a *different* delegation set. Everything in the zone looks the same, and the domain stops resolving because the registrar still points at the old four. If you need stable name servers across zones, `CreateReusableDelegationSet` gives you a delegation set you can reuse for many zones. ## The NS record inside the zone The hosted zone also contains an NS record at its own apex, listing the same four servers. This is not what delegates the domain — it is the authoritative copy of the delegation, which should agree with what the parent publishes. Editing it does not change the parent, and deleting it breaks the zone. When you compare, you are checking that two independently-maintained lists agree. ## Verifying ```bash # what Route 53 says the zone's name servers are aws route53 get-hosted-zone --id Z0123456789ABCDEFGHIJ \ --query 'DelegationSet.NameServers' # what the internet is actually delegated to dig +short NS example.com @1.1.1.1 ``` If the second output is empty, the domain is not delegated at all — the registrar step never happened, or the domain is not registered. If it lists a different provider's servers, the domain is delegated somewhere else and your Route 53 zone is an unused draft. If it matches, delegation is fine and the problem is inside the zone. After you fix the registrar, expect a delay: the parent's NS records have their own TTL (commonly a day or two at the TLD), and resolvers that already cached the previous delegation will keep using it until it expires. This is the part to say out loud in an interview — it is the reason "I changed it and it still doesn't work" is usually not a second bug. ## The cutover version of the same question Moving an existing, live domain to Route 53 is this problem with stakes. The safe order is: build the zone completely in Route 53 first and compare it record by record against the current provider; lower TTLs at the *old* provider ahead of time so clients re-check quickly; then repoint the registrar; and leave the old zone serving identical answers until the delegation has fully aged out everywhere. Repointing the registrar before the records exist creates exactly the outage described in this question, only on a domain that people are using.

  • You delete a Route 53 public hosted zone and immediately recreate it with the same domain name. What breaks?
    Delegation. The new zone gets a different set of four name servers, while the registrar still publishes the old ones, so the domain goes dark until you update it. If you need name servers that survive this, create a reusable delegation set with `CreateReusableDelegationSet` and create zones against it.
  • How would you move a live domain onto Route 53 without an outage?
    Build the zone in Route 53 and verify every record against the current provider first. Lower TTLs at the old provider ahead of the cutover, then repoint the registrar, and keep the old zone serving identical answers until the parent's NS TTL has aged out everywhere. Never repoint before the records exist.
  • Does editing the NS record at the zone apex change where the domain is delegated?
    No. That record is the zone's own authoritative copy of its delegation; the delegation that resolvers follow is published by the parent zone on the registrar's instruction. Editing the apex NS record only makes the two disagree, and deleting it breaks the zone.

saying these in an interview costs you the question

  • Thinks creating a hosted zone makes Route 53 authoritative
  • Confuses the apex NS record with registrar delegation
  • Expects a name-server change to take effect instantly
  • Assumes registering a domain in AWS wires up any zone you create later
  • Debugs the A record when nothing is delegated at all

context