Entendendo o aspecto do servidor de nomes de um sistema de failover baseado em DNS

1

Como parte de um projeto no qual estou envolvido, o sistema é necessário com uma disponibilidade de 99,999% do tempo (o sistema envolve assistência médica). A solução que estou investigando envolve vários sites que, por sua vez, têm seus próprios balanceadores de carga e vários servidores internos e seu próprio banco de dados replicado, que é sincronizado com todos os outros sites. O que fica na frente de tudo isso é um sistema de failover baseado em DNS que redireciona o tráfego se um site ficar inativo (ou é retirado manualmente para manutenção).

O que eu estou lutando, no entanto, é como o aspecto do DNS funciona sem impedir um único ponto de falha. Já vi falar em IPs flutuantes (que apresentam esse ponto de falha), vários serviços gerenciados, como o DNSMadeEasy (que não fornecem a capacidade de testar completamente o processo de failover durante a avaliação gratuita, por isso não posso verificar se direito para o projeto ou não) e muito mais, e foram brincar com soluções simples, como a atribuição de vários registros A para um nome de domínio (que eu entendo fica muito aquém, dadas as discrepâncias entre como os diferentes navegadores irão interagir com essa configuração) .

Para uma abordagem DNS mais robusta, você simplesmente estipula um servidor de nomes para cada local em um domínio, executa um servidor de nomes em cada local e atualiza os registros independentes de cada servidor de nomes regularmente quando uma falha é detectada em outro site em cada servidor de nomes para verificar todos os outros sites)? Em caso afirmativo, ainda não existem os mesmos problemas encontrados com registros A alterados regularmente (navegadores que não estão atualizando para os novos registros ou ignorando TTLs muito baixos)?

Aqui está uma representação visual de como eu entendo que o sistema funcionaria.

Eu tenho lido sobre este assunto por vários dias agora (incluindo muito Q & como aqui), mas sinto que estou perdendo uma peça fundamental do quebra-cabeça.

Obrigado antecipadamente!

    
por Duncan McArdle 20.04.2017 / 17:24

1 resposta

1

Um sistema de failover baseado na atualização de informações no DNS não será bom o suficiente para cinco noves de disponibilidade.

O DNS TTL mais baixo em que geralmente se pode confiar é de 300 segundos. 0,001% de um ano é 315 segundos. Portanto, um sistema baseado em DNS pode ter no máximo um failover por ano antes de quebrar cinco noves. Não importa quão bem você construa sua infra-estrutura de DNS, já que essa é uma limitação baseada no comportamento geral dos clientes DNS, que você não pode alterar.

Eu sugiro que você comece a criar sua resiliência no nível do endereço IP, via anycast ou algo assim (não minha área de especialização, então não posso dar conselhos detalhados lá). Você ainda precisará de uma boa infra-estrutura de DNS, é claro, mas com dados DNS bastante estáticos, apenas a compra de um serviço padrão de um provedor de serviços de DNS respeitável será suficiente.

    
por 22.04.2017 / 09:25