Route 53 Reusable Delegation Sets let you assign a consistent set of Name Server (NS) records to multiple hosted zones.

Let’s see this in action. Imagine you have a new domain, example.com, and you want to host it in Route 53. You create a new public hosted zone for example.com. Route 53 assigns it four NS records, something like:

ns-123.awsdns-45.com.
ns-234.awsdns-02.net.
ns-345.awsdns-11.org.
ns-456.awsdns-55.co.uk.

Now, you create another hosted zone for another-example.org. Route 53 will assign another set of four NS records, different from the first. This is fine, but it means that if you have many domains, you’ll have many different NS records to manage across your domain registrar.

This is where Reusable Delegation Sets come in. You can create a Reusable Delegation Set once. When you create it, Route 53 assigns a specific set of four NS records to that set.

For example, you create a Reusable Delegation Set. Route 53 might assign these NS records to that set:

ns-789.awsdns-67.com.
ns-890.awsdns-22.net.
ns-901.awsdns-33.org.
ns-012.awsdns-44.co.uk.

Now, when you create a new public hosted zone for example.com, instead of letting Route 53 assign a random set of NS records, you associate it with your Reusable Delegation Set. The hosted zone for example.com will then have exactly the four NS records from your Reusable Delegation Set:

ns-789.awsdns-67.com.
ns-890.awsdns-22.net.
ns-901.awsdns-33.org.
ns-012.awsdns-44.co.uk.

If you then create a hosted zone for another-example.org and associate it with the same Reusable Delegation Set, it will also get these exact same four NS records.

The primary problem this solves is simplifying the management of NS records at your domain registrar. Instead of updating four different NS records for each domain you host in Route 53, you update the same four NS records for all domains associated with that Reusable Delegation Set. This is particularly useful for managed DNS providers or organizations that manage a large number of domains.

Internally, a Reusable Delegation Set is essentially a pre-allocated block of four NS records that Route 53 reserves for you. When you associate a hosted zone with a Reusable Delegation Set, Route 53 doesn’t create new NS records for that zone; it simply points the zone to the existing NS records within the delegation set. This also means that if you later change the NS records associated with the delegation set itself (which is not a common operation and has implications), all associated hosted zones would reflect that change.

The key levers you control are:

  1. Creating a Reusable Delegation Set: This is the initial step where you get your fixed set of NS records. You can create one via the AWS CLI:

    aws route53 create-reusable-delegation-set --caller-reference my-unique-delegation-set-id-12345
    

    The caller-reference must be unique for each delegation set you create. The output will show you the DelegationSet.NameServers, which are your consistent NS records.

  2. Associating a Hosted Zone with a Delegation Set: When creating a new hosted zone, you can specify the ID of an existing Reusable Delegation Set. If you have an existing hosted zone that wasn’t created with a delegation set, you can’t associate it later. You’d have to create a new hosted zone, associate it with the delegation set, and then transfer your DNS records. When creating a new zone via CLI:

    aws route53 create-hosted-zone --name example.com --caller-reference my-example-zone-id-67890 --delegation-set-id YOUR_DELEGATION_SET_ID
    

    Replace YOUR_DELEGATION_SET_ID with the ID obtained from create-reusable-delegation-set.

  3. Disassociating Hosted Zones (and Deleting Delegation Sets): A Reusable Delegation Set can only be deleted if it is not associated with any hosted zones. If you need to change the NS records for a set of domains, you would typically create a new Reusable Delegation Set, create new hosted zones associated with that new set, and migrate your records.

The most surprising thing to many users is that you cannot associate an existing public hosted zone with a Reusable Delegation Set after it has been created. The association must happen at the time of the hosted zone’s creation. If you have a hosted zone created without a delegation set and wish to use one, you must create a new hosted zone, specify the delegation set ID during creation, and then migrate your DNS records from the old zone to the new one.

The next concept you’ll likely encounter is how to manage private hosted zones, which do not use delegation sets but rather are associated with VPCs.

Want structured learning?

Take the full Route53 course →