Quando meu servidor web A é desconectado, como redireciono automaticamente todos os usuários para o meu servidor B em outra cidade e vice-versa?

15

Quando meu servidor da Web A é desconectado, como redireciono automaticamente todos os usuários para o servidor da Web B em outra cidade e vice-versa?

Uma opção de balanceamento de carga faz o que eu quero, exceto que não consigo descobrir como fazer isso funcionar, a menos que os dois servidores da Web estejam no mesmo prédio.

Os sistemas de cluster de alta disponibilidade fazem o que eu quero, exceto que não consigo descobrir como fazer isso funcionar, a menos que os dois servidores da Web estejam no mesmo prédio.

A resposta aceita para " redirecionar para uma página estática em outro servidor web quando o servidor web principal está inativo " parece suportar servidores web em duas cidades diferentes. Mas como a instalação de um software em uma caixa me ajuda depois que a caixa é desconectada?

Como DNS de round-robin e redes de distribuição de conteúdo (CDNs) isso?

Suponho que uma abordagem comece por algo como:

  1. Eu recebo o endereço IP de cada um dos meus servidores da Web físicos.
  2. Eu coloquei o endereço IP de cada um dos meus servidores da Web físicos no registro DNS para o nome de domínio único do "site" (vários registros A ou registros AAAA ou ambos).
  3. ... então o que eu preciso fazer?

Eu suponho que outra abordagem comece algo como

  1. Eu uso algum provedor de DNS dinâmico para o nome de domínio único que espero que os usuários digitem no navegador da Web
  2. Eu configuro uma tarefa cron em cada servidor da Web que informa periodicamente ao provedor DNS seu próprio endereço IP (atualize o registro A ou o registro AAAA) ou seu próprio nome de domínio (atualize o registro CNAME ou o registro DNAME).
  3. ... então o que eu preciso fazer?

(Por enquanto, eu ficaria feliz se meus usuários tivessem uma página estática com minhas informações de contato e uma nota de rodapé que diz que "o principal servidor da web parece estar desativado" sempre que o servidor A for desconectado. Isso já é muito melhor do que o sistema atual que meramente dá um erro de "servidor não encontrado". Idealmente eu gostaria que A e B fossem totalmente sincronizados e aparentemente idênticos - mas isso é algo para outra pergunta: equivalente a CDN, mas para conteúdo dinâmico? ).

    
por David Cary 26.04.2012 / 19:06

5 respostas

6

Parece que você está procurando uma solução GSLB (Global Server Load Balancing). O GSLB geralmente usa DNS "inteligente" para direcionar os usuários para diferentes servidores com base em vários parâmetros (por exemplo, servidor indisponível, alta carga, localização geográfica por ip, etc).

Por exemplo, digamos que você tenha dois servidores da Web, um para o oeste (10.10.10.1/24) e um para o leste (10.20.20.1/24). Digamos que seu nome de host seja www.connect.com.

O GSLB pode ser configurado para ser seu DNS ou como um CNAME. De qualquer forma, um usuário digita em www.connect.com, a consulta dns é direcionada para a solução GSLB e responde com 10.10.10.1 ou 10.20.20.1 dependendo dos parâmetros. O GSLB geralmente define um TTL baixo para que o host / navegador do cliente armazene em cache a resposta pelo menor tempo possível. Existem diferentes maneiras de abordar a persistência, mas isso vai além do escopo deste cenário.

Digamos que o servidor web do leste (10.20.20.1) fique inativo. O GSLB geralmente implementa verificações de integridade para verificar a integridade dos nós de back-end. Os avisos do GSLB de leste estão inativos e todos os registros de DNS subseqüentes para www.connect.com serão resolvidos para 10.10.10.1.

Se você tiver uma solução de balanceamento de carga de servidor local (SLB), poderá configurá-la de forma que www.connect.com seja um VIP / VS (digamos 192.168.1.1/24) com dois nós de back-end (10.10.10.1 / 24 e 10.20.20.1 / 24). Tecnicamente, os nós podem estar em segmentos de rede diferentes, desde que o SLB local possa alcançar o outro servidor. A solução SLB pode ser inteligente o suficiente para redirecionar os usuários para um servidor disponível se um nó de back-end ficar inativo. Se você estiver usando o F5 LTM, poderá criar facilmente uma iRule para esse evento. O Citrix NetScaler e outras soluções SLB também devem ter recursos semelhantes.

O DNS RR não funciona neste caso. O DNS RR não possui inteligência embutida. A única maneira de realizar o caso de uso com o DNS é usar algum tipo de DNS "inteligente" por meio de uma solução GSLB (ou similar).

A CDN geralmente implementa soluções GSLB / SLB para garantir o HA para seus clientes.

    
por 27.04.2012 / 04:05
2

Você deseja analisar os balanceadores de carga globais como o F5 e a Cisco. Basicamente, eles fazem alguns truques com o DNS, se o parceiro estiver inativo e, se o parceiro estiver ativo, eles fornecerão os dados para o outro lado por meio do balanceador de carga.

    
por 26.04.2012 / 23:18
1

Outra solução barata, rápida e confiável para avaliar seria usar o failover do Amazon Route 53 link . Esse recurso foi lançado em 11 de fevereiro de 2013 e fornece alta disponibilidade e / ou balanceamento de carga entre sites primários e secundários.

Asim

    
por 25.02.2013 / 06:57
0

Diga-me se você estiver usando qualquer tipo de proxy reverso em seu ambiente, para que possa redirecioná-lo para o servidor de backup.

se não, então a F5 é uma boa ideia para usar.

também se você registrar o domínio com um registrador de domínio de terceiros u pode obter a configuração do servidor DNS para redirecionar para o novo servidor ou servidor de backup.

    
por 26.04.2012 / 23:57
0

Você pode fazer isso sem usar um appliance de rede usando pelo menos os dois métodos a seguir, mas eles exigirão controle de alterações:

  • Proxy reverso, você precisará remover o servidor que você vai desconectar dos candidatos do proxy

  • DNS, você terá que planejar com antecedência, alterar o DNS e esperar que o TTL passe

Você também pode fazer o balanceamento de carga automático e o failover ativo-ativo, especialmente para um servidor da Web que atende a páginas estáticas usando protocolos de roteamento. Checkout EGP e IGRP. Deve haver material de ajuda on-line (relacionado à Cisco especialmente) que detalha como fazer isso com dois ou mais hosts por meio de um roteador.

    
por 27.04.2012 / 03:04