Como configurar a solução de alta disponibilidade no nível DNS?

Como configurar a solução de alta disponibilidade no nível DNS?

Comprei domínio no namecheap e configurei no painel do cliente meus servidores NS pessoais:

ns1.exemplo.com

ns2.exemplo.com

1) Caso o servidor ns1 esteja indisponível, todas as solicitações ainda chegam ao ns1 ou todas chegam ao servidor ns2? Como configurar a troca abrupta para todas as solicitações se ns1 ou ns2 ficarem indisponíveis?

2) Após os servidores NS ns1/2 eu tenho Load Balancers caso um dos LB fique indisponível, como configurar o servidor ns para verificar este estado (qual aplicativo usar - bind ou então, pode haver alguma API ou você pode configurar redirecionar todas as solicitações apenas para o LB funcional)?

Responder1

1) Caso o servidor ns1 esteja indisponível, todas as solicitações ainda chegam ao ns1 ou todas chegam ao servidor ns2?

Não, o DNS não funciona assim. Ele fornece balanceamento de carga por padrão, não failover.

O DNS lida com conjuntos de registros de recursos. Não listas, conjuntos. As listas são ordenadas, os conjuntos não.

O conjunto de servidores de nomes para um nome de domínio contém todos os nomes que têm autoridade para este domínio. Dito de outra forma: se example.orgsim ns1.example.com, ns2.example.comambos os servidores receberão estatisticamente 50% de todas as solicitações em todos os momentos. Isso éNÃO100% para ns1e somente quando falha vai 100% para ns2.

Então, 50% das solicitações cada, mas o que acontece se uma parar de responder por qualquer motivo: então o resolvedor mudará para o outro, mas somente depois de consultá-lo, porque não pode saber quando parou de responder e também precisa sondar regularmente aquele não está respondendo para detectar quando ele volta a ficar online. Isso significa que a resolução acontecerá, mas levará mais tempo porque o algoritmo será o primeiro: - perguntar ns1 - esperar algum tempo - perguntar novamente ns1 - esperar algum tempo - e em algum ponto (a quantidade de tempo de espera entre duas consultas e o número de novas tentativas geralmente é configurável e diferente em cada software) para o qual ele mudará ns2e, portanto, finalmente obterá a resposta.

O aplicativo de chamada na origem desta resolução DNS pode ter um tempo limite, portanto, pode ter parado de esperar pela resposta se o acima ocorrer e estiver demorando muito.

Hoje em dia, o "DNS de alta disponibilidade" normalmente é fornecido usando a tecnologia anycast: os servidores de nomes resolvem endereços IP que são transmitidos em anycast em vários locais. Isso fornece melhores desempenhos devido a mais acesso "local" e também failover automatizado (mas por causa de um recurso de IP, não de um recurso de DNS específico), pois outro nó selecionará o tráfego se algum não responder, devido ao modo como o BGP funciona. Conseqüentemente, as coisas não criarão o tempo limite e o loop de nova tentativa descrito acima.

Depois dos servidores NS ns1/2 eu tenho Load Balancers

Não está claro para mim, mas em qualquer caso, não coloque balanceadores de carga nem nada na frente dos servidores de nomes. Na maioria das vezes, eles criarão mais problemas do que soluções (porque muitas vezes implementam um subconjunto muito restrito do protocolo DNS e, portanto, criam problemas de interoperabilidade).

é que pode haver alguma API

Há muitas maneiras de configurar e usar balanceadores de carga e, de fato, configurá-los para levar em consideração o estado dos serviços aos quais estão diante. Mas nesta fase a sua pergunta é muito ampla, você precisará ser mais claro, levando em consideração a primeira parte e o mal-entendido de DNS que você pode ter tido.

Responder2

O tipo de servidor DNS (Domain Name System) que você está usando faz uma grande diferença na abordagem. Por exemplo, uma zona integrada ao Active Directory com replicação adequada entre outros servidores DNS, que normalmente também são controladores de domínio, fornece um nível de tolerância a falhas.

Os clientes normalmente são designados como um provedor DNS primário, secundário e, em alguns casos, terciário e posterior, para usar em sua configuração IP local. Caso um cliente ainda não tenha o registro armazenado em cache (com base em seu Time To Live (TTL)) e não consiga acessar seu provedor DNS primário no momento da solicitação, ele começará a trabalhar através do provedor secundário e assim por diante até atingir seu intervalo de tempo limite . Uma maneira adequada de pensar nessa designação de provedor DNS de cliente primário-secundário é como uma versão relativa de alta disponibilidade ativa-passiva.

As soluções modernas de balanceamento de carga, especialmente os dispositivos físicos de alto nível, normalmente possuem verificações de integridade (comumente denominadas como "sondas") que podem ser usadas para verificar o status de um serviço como você está procurando. Você terá que consultar a documentação do seu fornecedor para implementação. No entanto, tenha em mente que se o seuNS1eNS2estão inativos e os registros de nome do seu balanceador de carga são fornecidos pelos mesmos provedores de DNS para os quais os clientes estão apontando, então confiar nos balanceadores de carga essencialmente neste terceiro estágio de falha não fornecerá nada (exceto algum cache de registro de cliente sortudo).

informação relacionada