Isto é um complemento à pergunta feita aqui: migração do GCP para a AWS Hosted Zone
Exportei os registros DNS do GCP e os importei para a AWS. Também mantive as entradas no GCP para garantir que quaisquer solicitações que cheguem ao GCP Clod DNS ainda sejam resolvidas. Atualizei meu registrador DNS para apontar os registros NS para a AWS. No entanto, após essa alteração, alguns de nossos usuários não conseguem acessar nossos servidores. Muitos de nossos usuários conseguem acessar os servidores, mas falha para alguns deles. Qual pode ser o motivo?
a) Devo dar algum intervalo de tempo após importar os registros na AWS antes de alterar as entradas no registrador?
b) Existe uma maneira segura de verificar se a propagação do DNS está completa? Eu verifiquei usando https://www.whatsmydns.net/ e pude ver que todos os servidores de nomes do mundo conseguiram resolver meu domínio. Mas como alguns de nossos usuários reclamaram, tive que reverter as alterações feitas no meu registrador.
Qualquer dica seria bem-vinda.
Talvez alguns minutos para que os sistemas AWS atualizem, pois é uma plataforma grande com bastante replicação de dados "eventualmente consistente" pelo mundo e por seus componentes. Eu ficaria surpreso se demorasse horas, no entanto.
É mais importante dar um tempo depois de trocar os servidores de nomes, antes de se apressar para remover os dados do provedor antigo (GCP), pois os resolvedores dos usuários ainda podem ter os registros do servidor de nomes antigo armazenados em cache por algum tempo e, como você corretamente adivinhou, eles podem estar tentando consultar o GCP até que a entrada do cache expire.
Essa propagação não existe fora dos servidores autoritativos de um dado domínio. Quando você edita registros DNS na AWS, as alterações só precisam "se propagar" pelos sistemas AWS – o que geralmente é entre 'instantâneo' e 'uma hora no pior dos casos' para a maioria dos provedores de hospedagem DNS.
Tradicionalmente, você poderia verificar isso consultando cada servidor de nomes (por exemplo,
dig +nssearch
), mas isso se tornou difícil com provedores de hospedagem de DNS usando anycast (onde o mesmo endereço IP leva a instâncias diferentes), então usar um desses sites de "verificação de propagação" pode ser a maneira mais fácil.E similarmente, quando você pede ao seu registrador para atualizar os servidores de nomes para seu domínio, o registrador faz uma chamada de API (geralmente imediata), o registro do TLD publica os novos registros NS, e eles só precisam se propagar pelos servidores de nomes oficiais do TLD. Ouvi dizer que os dois últimos passos podiam levar horas no passado.
Isso também pode ser parcialmente verificado consultando os servidores de nomes TLD; eu gosto de usar a
dnstracer
ferramenta para isso. Claro que se o TLD usar hospedagem anycast, ele só verificará suas instâncias mais próximas de cada servidor, mas ainda é um bom começo.Além disso, seus dados DNS não se propagam ativamente para nenhum outro lugar. Em vez disso, eles são puxados sob demanda e armazenados em cache, de acordo com o TTL que você (ou seu registro TLD) definiu em cada registro. Os únicos dados conhecidos por resolvedores e usuários são os que eles consultaram recentemente.
Esses caches sendo individuais (cada resolvedor público, cada resolvedor de ISP, cada roteador doméstico, até mesmo cada PC Windows tendo o seu próprio), não há como verificar ou purgar todos eles. Você pode pedir, por exemplo, ao 8.8.8.8 do Google para purgar uma entrada específica do seu worldwide, mas além disso, você tem que esperar os dados antigos expirarem. Isso inclui respostas "negativas" que são armazenadas em cache de acordo com o SOA MINTTL da zona.
(Os dados antigos são principalmente as delegações de servidores de nomes que ainda podem direcionar os resolvedores para consultar o GCP em vez da AWS... No entanto, enquanto os servidores de nomes antigos e novos estiverem ativos e respondendo com os mesmos registros A, não tenho certeza se isso faz diferença.)
Percebi meu erro. Quando exportei os registros DNS do GCP, todos os registros A que foram configurados para usar a política de round robin ponderada não foram exportados! Então, esses registros A nunca foram importados para o AWS Route53. Agora adicionei manualmente todos esses registros A e alterei as entradas do servidor de nomes no GoDaddy. Espero que funcione bem agora.