Como posso configurar uma única entrada de DNS para ir para vários pontos de extremidade?

3

Eu tenho uma situação em que temos um servidor em um local remoto. Sua conexão com a internet (digamos no ip 1.1.1.1) pode ser escamosa, então nós temos uma conexão de backup em um provedor diferente (digamos, via ip 2.2.2.2). O primeiro provedor é muito mais econômico, mas quando ele desce, gostaríamos de nos conectar a esse servidor através do segundo provedor, que cobrará pelo uso da largura de banda. O segundo provedor é muito mais confiável, mas muito mais caro.

Eu preciso ter uma entrada de DNS para o servidor remoto que normalmente aponta para 1.1.1.1, mas pode mudar para 2.2.2.2 como uma alternativa quando a conexão não é boa ou alguma outra maneira de direcionar clientes na cidade para aquele remoto servidor que passa por uma conexão confiável e invisível para o cliente.

Como posso abordar isso?

Parece que pode ser solucionável no nível do DNS, mas não com qualquer tecnologia que conheço. O que mais pode funcionar?

    
por Octopus 12.12.2013 / 22:06

4 respostas

3

I need to have a DNS entry to the remote server that typically points to 1.1.1.1 but can change to 2.2.2.2 as an alternative when the connection is no good.

Não, o que você precisa é um meio de unir as duas conexões. No entanto, esse é um sistema de agregação de link de entrada que é tratado por rotas BGP em cada ISP individual. Eu não estou ciente de um meio de ponderar um sobre o outro, no entanto eu não sou um especialista inigualável neste esquema exato. Não seria surpreendente para mim se você obtivesse um pouco de correria com o ISP esquisito sobre as rotas BGP de publicidade que permitem que você tenha um endereço IP que, em essência, flutue entre as duas conexões.

Este não é um problema que o DNS possa resolver (fácil ou confiável *). Deixe o DNS ser DNS, que é um sistema simples de armazenamento e recuperação de informações de par de valores-chave. E antes que você pergunte, round robin também não irá ajudá-lo. =)

* Ok, ok, sim, você pode fazer algumas coisas que lembram vagamente o balanceamento de links de entrada usando o DNS. É mal e envolve atrasos de propagação como parte do seu SLA e também depende dos administradores de DNS para não mexer com os valores de TTL dos seus registros, o que não é uma aposta segura. Eu nem vou explicar o failover de DNS aqui (ou como eu me refiro a ele "DNS fauxover") porque eu não acho que é particularmente confiável / profissional, mas vou linkar para ele e se o link morre para pessoas em o futuro, não há nenhum mal causado porque ... é mal. NÃO DIGEM EU NÃO O AVISO.

    
por 12.12.2013 / 22:08
1

Crie um nome de host para este serviço. Tenha um registro A para aquele nome de host apontando para 1.1.1.1. Crie um registro SOA que designe tempos TTL, de atualização e de expiração muito curtos, para que as alterações no registro A sejam obtidas rapidamente.

Monitore o link principal e, se ele for desativado, publique um novo registro A apontando para 2.2.2.2.

Como uma versão mais avançada dessa solução, use uma ferramenta de monitoramento para observar os dois links e trocar automaticamente o registro DNS apropriado com base na estabilidade do servidor.

Como isso funciona depende da pilha de tecnologia usada em seu servidor DNS, mas se você estiver executando seu DNS em um servidor Unix ou Linux, você pode usar uma ferramenta de monitoramento como o Nagios para trocar arquivos de zona com base nos resultados de um servidor. script de monitoramento.

    
por 12.12.2013 / 22:32
0

Minha sugestão seria o failover de DNS automático. Dessa forma, você pode enviar o tráfego para o qual o datacenter para o qual deseja enviá-lo e, se por algum motivo (problema de rede ou falha de HW), fizer failover automaticamente para o outro datacenter. Você pode ver o link como um exemplo.

    
por 12.12.2013 / 22:25
0

Você sempre pode fazer failover de DNS, mas realmente o que você deve fazer é algum tipo de balanceamento de carga downstream. O failover é arriscado e não é exatamente para o que o DNS foi projetado. Haverá uma certa quantidade de tempo de inatividade conforme o novo endereço é propagado. E você terá que ter um servidor que está ocioso.

Se você tiver implementado algum tipo de balanceamento de carga, os dois servidores poderão veicular o tráfego e, no caso de um deles cair, o tráfego irá automaticamente para o outro.

    
por 12.12.2013 / 22:26