none
Site responder por 2 IP's RRS feed

  • Pergunta

  • Srs.(as),

    Tenho 1 site dentro de minha infraestrutura publicado externamente pelo TMG onde tenho uma empresa terceira que é responsavel por resolver este endereço (DNS).

    Basicamente quando alguem consuta meu dominio (www) resolve para meu primeiro IP, gostaria de saber quais as formas de caso o primeiro IP apresente problemas, ele automaticamente direcione para meu segundo IP (link de contingência).
    Grato!

    quinta-feira, 3 de maio de 2012 16:44

Respostas

  • É complicado mesmo.

    Se for um Balanceamento via Serviço do Windows, vejo somente os cursos de licenciamento do Windows.
    Porem sempre evito ao máximo serviços críticos via software.

    Monta um laboratório e monta um NLB do windows, porem a demanta é muito alta e vai perder muita performance.
    Fora o tempo e custo de manutenção do Ambiente.

    Mas é sempre bom trocar experiências.
    Acredito que com muitos serviços na Nuvem, estes detalhes, porem muito importantes venham a ser supridos por nosso provedores de serviços e com um custo satisfatório.

    Grande Abraço,
    Wagner S. Vasconcellos


    quinta-feira, 3 de maio de 2012 20:46
    Moderador
  • Boa Tarde Renato,

    Chegou a conversar com o parceiro externo que resolver o seu DNS, para que o mesmo possa criar um apontamento de DNS para um IP secundário de sua preferência?

    Ou como comentou o seu Site está na sua Rede interna, configure seu DNS interno para que aponte para os dois IPS.

    Abs,
    Wagner S. Vasconcellos
    quinta-feira, 3 de maio de 2012 17:10
    Moderador
  • você pode apontar dois endereços IP para o mesmo site, porém definindo prioridades. Acho que isto é comum em servidores de e-mail e também webservers.

    quinta-feira, 3 de maio de 2012 19:56
  • Na rede interna o Load Balance seria o Ideal.

    E porque?
    R: O DNS apesar de ter dois apontamentos, ele só resolve nomes, ele não é capaz de verificar se o serviço em determinado Servidor está ativo, já o Load Balance faz isto, está sempre verificando o status do serviço.

    Veja com o seu provedor de DNS a disponibilidade deste serviço.

    Abs,
    Wagner S. Vasconcellos

    quinta-feira, 3 de maio de 2012 20:08
    Moderador
  • Oi Renato,

    Algumas duvidas:

    1. Este seu IP secundario fica ativo e pode receber requisicoes normalmente? Ou ele só funcionará quando o IP principal cair?

    2. Os IPs possuem endereços de rede diferentes ou fazem parte da mesma subnet?

    3. Os servidores possuem mais de 1 provedor de link?

    Um alternativa seria vc pedir um balanceamento entre os 2 IPs estilo round-robin para ser parceiro externo caso o seu IP secundario tambem possa receber carga. Outra possibilidade seria vc fazer o balanceamento internamente atraves de NLB ou um appliance interno (evita vc solicitar um appliance externo ao ser parceiro, o que mantem os custos com ele inalterado).

    Abracos, Daniel.


    -- Se minha sugestão ajudou, por favor marque-a como útil; Se resolveu a questão, por favor marque-a como resposta. Contribua para melhorar o fórum! | daniel@dimamura.com.br

    quinta-feira, 3 de maio de 2012 20:13
  • Renato,

    A função principal do NLB é fazer o balanceamento de carga, porem caso um dos servidores caia, o outro vai continiar operando normalmente.
    O NLB trabalha em cima de um IP principal(Host Virtual) que corresponde aos dois serviços.

    E este IP que será o IP para chegar ao NLB.

    Pretende fazer um balanceamento de carga via hardware ou software?

    Abs,
    Wagner S. Vasconcellos
    quinta-feira, 3 de maio de 2012 20:32
    Moderador
  • Oi Renato,

    O link é apenas 1 dos diversos pontos de falha (entre eles, interfaces de rede, switches, firewalls, elétrica, storage, CPU, memória, banco de dados, sistemas legados que interfaceam com o site e por ai vai). Se o link é um single point of failure, vc realmente precisaria de, no minimo, 2 fornecedores distintos (de preferencia, com infra de rede distinta).

    Pensando um pouco neste problema, existem 2 pontos que so agora que me toquei:

    1. Nao sei qual o SLA de disponibilidade desejado mas os requests de DNS possuem um TTL (time to live) em que a informacao do IP pode ficar cacheada antes de ser efetivamente atualizada. Por isso, mesmo que seu parceiro fizesse o monitoramento dos servidores e a troca de IPs, quem já tiver resolvido o nome cairá no IP antigo enquanto durar o TTL do request.

    2. O NLB trata da indisponibilidade do IP e não do servico HTTP. Ou seja, o servidor pode estar no ar mas o servico Web estar fora. Isso nao causaria o fail-over, algo que para vc deveria acontecer. Neste caso, cluster Web/HTTP load balancer seria o ideal.

    Uma sugestao seria vc criar um cluster Web interno que responde pelo IP externo que o seu parceiro resolve. O cluster deve ter pelo menos 2 links de entrada de fornecedores diferentes. Assim, se 1 link cair vc ainda tem outro(s) que permite(m) o acesso ao servico Web. Caso vc possa hospedar o aplicativo na nuvem (como no Azure), a solução do Wagner é a ideal (só se atente pelo SLA de disponibilidade que gira em torno de 99,9%).

    Se nenhuma das opcoes te agradar, tenho uma sugestao nao muito bonita, caso os servidores possam utilizar o mesmo IP. Mantenha os servidores com os IPs individuais e 1 servidor com o IP externo que o DNS resolve (neste caso, apenas 1 servidor serve as requisicoes). Coloque um sistema de monitoracao interna monitorando este servidor. Caso o sistema detecte a indisponibilidade do servico, ele dispara um script no primeiro servidor para remover o IP externo e um script no segundo servidor que adiciona o IP externo nele.

    É preciso tomar alguns cuidados como decidir quando vc realiza esse fail-over (tipicamente, vc precisa falhar por 3 tentativas seguidas de acesso ao servico HTTP) e para evitar que o IP que o DNS resolve fique nas duas maquinas (por exemplo, esse IP so ficar disponivel no primeiro servidor apos verificar que ninguem responde por ele). Enfim, não é bonito mas vc esta implementando "na mao" o que o NLB faria.

    Abracos, Daniel.

     

     


    -- Se minha sugestão ajudou, por favor marque-a como útil; Se resolveu a questão, por favor marque-a como resposta. Contribua para melhorar o fórum! | daniel@dimamura.com.br

    sexta-feira, 4 de maio de 2012 01:46

Todas as Respostas

  • Boa Tarde Renato,

    Chegou a conversar com o parceiro externo que resolver o seu DNS, para que o mesmo possa criar um apontamento de DNS para um IP secundário de sua preferência?

    Ou como comentou o seu Site está na sua Rede interna, configure seu DNS interno para que aponte para os dois IPS.

    Abs,
    Wagner S. Vasconcellos
    quinta-feira, 3 de maio de 2012 17:10
    Moderador
  • Mas caso meu IP numero 1 estaja inoperante apontar internamente não resolveria, ao meu ver a unica forma seria meu parceiro com meu DNS externo ter 1 appliance para fazer esse load balance certo?

    O que envolve alguns custos, gostario de saber se alguem tem uma solução mais simples para isto ou a saida é esta mesma.

    quinta-feira, 3 de maio de 2012 17:45
  • você pode apontar dois endereços IP para o mesmo site, porém definindo prioridades. Acho que isto é comum em servidores de e-mail e também webservers.

    quinta-feira, 3 de maio de 2012 19:56
  • Na rede interna o Load Balance seria o Ideal.

    E porque?
    R: O DNS apesar de ter dois apontamentos, ele só resolve nomes, ele não é capaz de verificar se o serviço em determinado Servidor está ativo, já o Load Balance faz isto, está sempre verificando o status do serviço.

    Veja com o seu provedor de DNS a disponibilidade deste serviço.

    Abs,
    Wagner S. Vasconcellos

    quinta-feira, 3 de maio de 2012 20:08
    Moderador
  • Oi Renato,

    Algumas duvidas:

    1. Este seu IP secundario fica ativo e pode receber requisicoes normalmente? Ou ele só funcionará quando o IP principal cair?

    2. Os IPs possuem endereços de rede diferentes ou fazem parte da mesma subnet?

    3. Os servidores possuem mais de 1 provedor de link?

    Um alternativa seria vc pedir um balanceamento entre os 2 IPs estilo round-robin para ser parceiro externo caso o seu IP secundario tambem possa receber carga. Outra possibilidade seria vc fazer o balanceamento internamente atraves de NLB ou um appliance interno (evita vc solicitar um appliance externo ao ser parceiro, o que mantem os custos com ele inalterado).

    Abracos, Daniel.


    -- Se minha sugestão ajudou, por favor marque-a como útil; Se resolveu a questão, por favor marque-a como resposta. Contribua para melhorar o fórum! | daniel@dimamura.com.br

    quinta-feira, 3 de maio de 2012 20:13
  • Tiago Calado,

    Que eu saiba, prioridade eu consigo definir em Registros MX por exemplo, em registros para encaminhamento http (HOST (A) ) o máximo que posso fazer seria o Rodin Roubin que para mim não adiantaria pelo fato de não verificar a saúde do serviço em si, correto?

    Wagner,

    Realmente o load balance seria a melhor solução mas o custo é elevado, gostaria de alguma solução como a de prioridade dos registros MX.

    quinta-feira, 3 de maio de 2012 20:17
  • dimamura,

    Ambos os IP's podem ser consultados a qualquer momento, ficam ativos são 2 links de operadoras diferentes, a sobrecarga não seria o maior problema e sim o caso de queda de um dos dois, a virada para o outro link não ser manual.

    NLB ou appliance interno só resolveria a questão de carga, visto que se o IP setado no DNS externo estiver inativo os usuários não irão chegar ao NLB.

    quinta-feira, 3 de maio de 2012 20:23
  • Renato,

    A função principal do NLB é fazer o balanceamento de carga, porem caso um dos servidores caia, o outro vai continiar operando normalmente.
    O NLB trabalha em cima de um IP principal(Host Virtual) que corresponde aos dois serviços.

    E este IP que será o IP para chegar ao NLB.

    Pretende fazer um balanceamento de carga via hardware ou software?

    Abs,
    Wagner S. Vasconcellos
    quinta-feira, 3 de maio de 2012 20:32
    Moderador
  • Wagner obrigado pelo retorno!

    Quanto ao NLB, não tenho dúvidas que o mesmo é a solução para meu problema, porém um NLB externo tem alto custo do qual não disponho para este projeto, gostaria de qualquer forma que caso 1 link de dados caia o DNS seja resolvido automaticamente pelo outro não deixando meu serviço indisponivel e o que procuro aqui é alguma forma de fazer isso com menor custo, caso exista!

    Obrigado

    quinta-feira, 3 de maio de 2012 20:37
  • É complicado mesmo.

    Se for um Balanceamento via Serviço do Windows, vejo somente os cursos de licenciamento do Windows.
    Porem sempre evito ao máximo serviços críticos via software.

    Monta um laboratório e monta um NLB do windows, porem a demanta é muito alta e vai perder muita performance.
    Fora o tempo e custo de manutenção do Ambiente.

    Mas é sempre bom trocar experiências.
    Acredito que com muitos serviços na Nuvem, estes detalhes, porem muito importantes venham a ser supridos por nosso provedores de serviços e com um custo satisfatório.

    Grande Abraço,
    Wagner S. Vasconcellos


    quinta-feira, 3 de maio de 2012 20:46
    Moderador
  • Oi Renato,

    O link é apenas 1 dos diversos pontos de falha (entre eles, interfaces de rede, switches, firewalls, elétrica, storage, CPU, memória, banco de dados, sistemas legados que interfaceam com o site e por ai vai). Se o link é um single point of failure, vc realmente precisaria de, no minimo, 2 fornecedores distintos (de preferencia, com infra de rede distinta).

    Pensando um pouco neste problema, existem 2 pontos que so agora que me toquei:

    1. Nao sei qual o SLA de disponibilidade desejado mas os requests de DNS possuem um TTL (time to live) em que a informacao do IP pode ficar cacheada antes de ser efetivamente atualizada. Por isso, mesmo que seu parceiro fizesse o monitoramento dos servidores e a troca de IPs, quem já tiver resolvido o nome cairá no IP antigo enquanto durar o TTL do request.

    2. O NLB trata da indisponibilidade do IP e não do servico HTTP. Ou seja, o servidor pode estar no ar mas o servico Web estar fora. Isso nao causaria o fail-over, algo que para vc deveria acontecer. Neste caso, cluster Web/HTTP load balancer seria o ideal.

    Uma sugestao seria vc criar um cluster Web interno que responde pelo IP externo que o seu parceiro resolve. O cluster deve ter pelo menos 2 links de entrada de fornecedores diferentes. Assim, se 1 link cair vc ainda tem outro(s) que permite(m) o acesso ao servico Web. Caso vc possa hospedar o aplicativo na nuvem (como no Azure), a solução do Wagner é a ideal (só se atente pelo SLA de disponibilidade que gira em torno de 99,9%).

    Se nenhuma das opcoes te agradar, tenho uma sugestao nao muito bonita, caso os servidores possam utilizar o mesmo IP. Mantenha os servidores com os IPs individuais e 1 servidor com o IP externo que o DNS resolve (neste caso, apenas 1 servidor serve as requisicoes). Coloque um sistema de monitoracao interna monitorando este servidor. Caso o sistema detecte a indisponibilidade do servico, ele dispara um script no primeiro servidor para remover o IP externo e um script no segundo servidor que adiciona o IP externo nele.

    É preciso tomar alguns cuidados como decidir quando vc realiza esse fail-over (tipicamente, vc precisa falhar por 3 tentativas seguidas de acesso ao servico HTTP) e para evitar que o IP que o DNS resolve fique nas duas maquinas (por exemplo, esse IP so ficar disponivel no primeiro servidor apos verificar que ninguem responde por ele). Enfim, não é bonito mas vc esta implementando "na mao" o que o NLB faria.

    Abracos, Daniel.

     

     


    -- Se minha sugestão ajudou, por favor marque-a como útil; Se resolveu a questão, por favor marque-a como resposta. Contribua para melhorar o fórum! | daniel@dimamura.com.br

    sexta-feira, 4 de maio de 2012 01:46