sslgoogle-cloud-platformdnsgoogle-cloud-dnsgoogle-cloud-load-balancer

Why are we given 4 name servers when max is 3?


I read that the maximum number of domain name servers is 3.

  1. Why are we given 4 from AWS and GCP respectively?
  2. Is the priority automatically assigned?
  3. Does it go in a round robin manner or it will go with the 2nd one only if the first one broke?

Lets say I want to reduce load balancer and SSL provisioning downtime. My current domain's nameservers are from AWS.

Example:

ns-2048.awsdns-64.com

ns-2049.awsdns-65.net

ns-2050.awsdns-66.org

ns-2051.awsdns-67.co.uk

I want to migrate to Google Cloud. The main issue is Load balancer and SSL provisioning time.

If I were to add Google Cloud's Name servers like the example below:

ns-2048.awsdns-64.com   
ns-2049.awsdns-65.net  
ns-cloud-a1.googledomains.com
ns-cloud-a2.googledomains.com

Will this allow Google Cloud to provision SSL without downtime to the live website?


Solution

  • I read that the maximum number of domain name servers is 3.

    Which is false. There is no real definite maximum or more importantly the maximum depends on the names themselves and if the names are compressed or not.

    Root has managed to go to 13 after renaming all nameservers, and with the constraint of fitting an UDP 512 bytes packet.

    2 is standard and often the minimum or the only allowed value, 4 is often found for more reliability, as well as higher values, look at TLDs.

    Is the priority automatically assigned?

    There is no "priority" as DNS records are set, not lists, so there is no inherent order. The DNS by default does not work in a fail over fashion but in a load balancing fashion, with on average equal partition.

    Does it go in a round robin manner or it will go with the 2nd one only if the first one broke?

    Round robin. With fail over when one fails and if the client is prepared to retry queries (which recursive nameservers should do, but it is less clear for any generic application consuming DNS records).