On this basis, I've concluded that the NS records within the zone file are irrelevant to the migration, and that only the name servers records at the TLD level are important.
Esta é uma hipótese incorreta, mas um erro fácil de ser cometido. Você pode ler um pouco mais sobre o tema dos registros NS do apex aqui . A versão curta é que ambos importam, e o que está sendo usado será diferente dependendo se um servidor DNS em cache já consultou seu domínio ou não.
Tenha em mente que a maioria dos servidores DNS recursivos impõe um TTL mínimo, portanto, quaisquer conclusões tiradas de experimentos com um TTL de zero são quase certamente imprecisas. O único caso em que isso não acontece é quando você controla a política TTL mínima usada pelo servidor que está sendo consultado.
I am currently migrating a DNS zone from one DNS server provider to another. I am trying to estimate how long it will take for the change to propagate, and to understand what the delay might be if I chose to rollback mid-stream.
Vou me concentrar neste tópico, já que você tem alguns falsos inícios no restante da sua pergunta. Primeiro, é importante lembrar que os TTLs são armazenados em cache em servidores DNS recursivos. Como todos na internet estão usando servidores DNS recursivos diferentes, a suposição somente que você pode fazer é que levará até n segundos, com n sendo o valor dos TTLs.
Isso nos leva a quais TTLs são relevantes aqui:
- TTLs para registros individuais que estão em cache. Mesmo se os registros
NS
expirarem, as solicitações de registros individuais que estão no cache não expirarão automaticamente. Exemplo: Setest.example.com IN A
expirar daqui a dez minutos, masexample.com IN NS
expirar daqui a cinco minutos,test.example.com
permanecerá no cache mesmo depois que os registrosNS
forem alterados. Qualquer problema relacionado ao valor desse registro nos novos servidores não ficará evidente até que o registro tenha expirado e tenha sido atualizado. - TTLs para os registros
NS
glue servidos pelos servidores DNS do TLD. Eles são usados por servidores recursivos que precisam obter informações sobre seu domínio quando são solicitados pela primeira vez. Esses TTLs influenciam quanto tempo demora até que os servidores DNS listados em seu arquivo de zona sejam usados para a próxima atualização. (consulte o Q & A I, acima, para esclarecimentos sobre isso) - TTLs para os registros
NS
listados na parte superior do seu arquivo de zona. Uma vez que os TTLs de registro de cola tenham expirado, esses TTLs podem ser usados no lugar. As implementações variam neste detalhe. Como você está lidando com todo o valor de implementações diferentes da Internet, a única suposição segura é que alguns servidores o estão usando.
Você não pode presumir que todos os TTLs de registros NS
armazenados em cache na Internet são de uma fonte ou outra. Isso obriga você a planejar o mais alto dos dois, a menos que você realmente não esteja preocupado com servidores DNS recursivos que você não opera.
Colocando tudo isso junto, chegamos às seguintes conclusões:
- O tempo máximo necessário para qualquer registro DNS específico ser atualizado em relação a um novo servidor de nomes é o TTL mais alto entre esse registro, os registros
NS
no adesivo e os registrosNS
na zona. - Supondo que os TTLs no novo servidor DNS são idênticos aos do servidor antigo, o tempo máximo necessário para a reversão é o valor mais alto dos três TTLs, mais uma vez . Todas as consultas que ocorreram no novo servidor entre o momento em que você inicialmente alterou os servidores DNS e reverteram a alteração dependerão dos valores obtidos do novo servidor.
- É muito importante manter todos os servidores DNS envolvidos na alteração em execução e sincronizados até que todos os TTLs tenham expirado após a alteração final do registro
NS
. Não apenas você precisa de todos os servidores disponíveis para os clientes que não selecionaram as alterações mais recentes, mas qualquer inconsistência nos dados dos registros entre os dois pode servir para tornar as coisas ainda mais confusas.