Is it possible to delegate a root domain to another DNS service?

Our company registered the domain example.com with Amazon's Route53 registrar. This also created a hosted DNS zone named example.com in Amazon Route53 DNS service. Before applying any modification, the DNS records looked like this:

example.com.        3600    IN  NS  ns-187.awsdns-23.com.
example.com.        3600    IN  NS  ns-1817.awsdns-35.co.uk.
example.com.        3600    IN  NS  ns-982.awsdns-58.net.
example.com.        3600    IN  NS  ns-1201.awsdns-22.org.
example.com.        3600    IN  SOA ns-187.awsdns-23.com. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400

We would like to delegate the whole example.com zone to one of our partners, which uses another DNS service (OVH), while remaining the owners of the zone. I instructed our partner to create the zone in their DNS service and give me their name servers (which are dns15.ovh.net and ns15.ovh.net). Then I replaced the NS records for example.com in Amazon Route53 with their name servers, but it doesn't seem to work as expected. This is what shows up when querying ANY with dig using the default resolver:

example.com.        3600    IN  NS  dns15.ovh.net.
example.com.        3600    IN  NS  ns15.ovh.net.
example.com.        3600    IN  SOA ns-187.awsdns-23.com. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400

I can see that the new NS records have been propagated correctly to all resolvers, but records set on our partner's side are completely ignored, except when using their name servers explicitly to resolve DNS queries. This is what shows up when querying with their resolvers (which I was expecting to see with all other resolvers as well):

example.com.        3600    IN  NS  dns15.ovh.net.
example.com.        3600    IN  NS  ns15.ovh.net.
example.com.        3600    IN  SOA dns15.ovh.net. tech.ovh.net. 2021052803 86400 3600 3600000 60
example.com.        3600    IN  MX  1 mx4.mail.ovh.net.
example.com.        3600    IN  MX  10 mx3.mail.ovh.net.
example.com.        3600    IN  A   213.186.33.5
example.com.        3600    IN  TXT "1|www.example.com"

This is the first time we try to delegate a whole 2nd level domain, but we have been delegating sub-domains in the past without any issue. Is it possible at all to delegate a root domain to another DNS service?


Solution 1:

Credits to vidarlo and Esa Jokinen comments for the answer:

com can delegate example.com, and example.com can delegate sub.example.com, but example.com can't delegate example.com. You must change the name servers at the registrar, not in your current DNS zone.

Amazon Route53's relevant documentation can be found here. The original hosted zone should be kept in case you want to roll back the modification, and should be used in addition to the new zone for ~ 2 days, because DNS resolvers typically cache the names of name servers for two days.