Como fazer DNS regional como um CDN?

12

Eu acho que essa pergunta poderia ser concedida, como o trabalho da CDN no nível do DNS, mas o problema real que eu tenho é que minha empresa tem datacenters em três continentes e nós temos que ter europe.example.com us.example.com e asia.example.com

Normalmente, as CDNs enviam para o datacenter local, imagino, dependendo do seu endereço IP. Isso deve ser uma coisa do DNS em que você tem o servidor DNS nos EUA para enviá-lo para um datacenter dos EUA para a mesma pesquisa de DNS example.com?

Estou errado? Se eu estiver errado sobre isso, como eu faria isso de forma eficaz e, se possível, sem servidores centrais (não DNS)?

    
por Stewart Robinson 30.11.2009 / 19:22

5 respostas

10

O problema com os CDNs é que eles não direcionam você com base em seu próprio endereço IP - eles o orientam com base no endereço IP do seu servidor DNS ... Isso pode ser completamente errado. E leia o artigo de Paul Vixie sobre a ACM , é muito fácil ganhar dinheiro.

De qualquer forma, se você já tiver o region.example.com configurado e em execução, poderá considerar fazer um redirecionamento HTTP de example.com para o servidor da Web relevante, com base no endereço IP do cliente. / p>

Isso é basicamente o que o Google faz, é como eu acabo em google.co.uk tendo digitado google.com .

Também garanta que você forneça um meio para os clientes acessarem as outras variações. Os clientes não gostam quando são forçados a um site específico, seja por erros nos bancos de dados geográficos ou simplesmente porque precisam ver o site de outra região.

    
por 30.11.2009 / 21:22
4

CDNs mais recentes (Cloudflare, MaxCDN, fast.ly) usam anycast para DNS e servidores de conteúdo reais. Isso é um pouco melhor do que tentar usar o IP de origem de uma consulta DNS e um banco de dados de mapeamento em constante mudança.

Em teoria, usar anycast para o DNS e servidores de conteúdo permite que a própria rede localize os servidores "mais próximos" do cliente. Na prática, isso é verdade principalmente, mas alguns casos estranhos surgem onde as pessoas em Cingapura atingirão servidores de borda na Califórnia, em vez de Hong Kong, devido às relações de peering em constante mudança entre ISPs.

Anycast é difícil de fazer bem. Consulte o link para obter mais informações.

CDN antigos, como o Akamai e o Limelight, geralmente usam anycast para chegar ao servidor DNS mais próximo, mas, em seguida, adotam a abordagem de IP baseada na estimativa. Isso não funciona tão bem na minha experiência, especialmente se um cliente está usando servidores DNS que não estão realmente próximos em termos de topologia de rede. No entanto, um enorme CDN estabelecido como o Akamai tem centenas de locais de servidores de conteúdo, então retornar uma resposta "próxima o suficiente" resulta em uma experiência de usuário decente. Obviamente, ter centenas de sites é muito caro, e é por isso que nenhuma das CDNs all-anycast escolheu essa rota. Consequentemente, eles também não cobram muito pelo serviço equivalente em sua maioria.

    
por 26.08.2015 / 03:28
1

Existem várias maneiras de lidar com isso, mas todas elas se resumem a descobrir onde um endereço IP está e apontá-lo de acordo. Por exemplo, você pode especificar um intervalo de IPs para a América do Norte e outro para a Europa. Se o IP que solicita a informação (do DNS, do seu servidor da Web, do seu servidor de conteúdo, etc.) estiver na faixa européia, seus servidores europeus deverão receber as solicitações.

    
por 30.11.2009 / 19:43
0

Você pode configurar uma página principal padrão em example.com. A primeira vez que alguém visita, seleciona a região para a qual deseja ser direcionado. Essa é a mesma maneira que o www.ups.com funciona.

O usuário pode selecionar uma caixa de seleção para tornar essa opção padrão a partir desse ponto, armazenando a seleção em um cookie.

Isso lhe dá a vantagem de usar o DNS da maneira que foi projetada, de acordo com Paul Vixie, enquanto permite que seu usuário faça a decisão mais precisa sobre a qual centro de dados ele deve ser direcionado.

    
por 30.11.2009 / 21:41
0

Se você tiver um site hospedado em várias regiões, não precisará fazer nada no nível do DNS. Você pode usar uma API como o link para obter o país do visitante e redirecioná-lo para o URL apropriado.

Se não estamos falando de um site ou de qualquer protocolo que lide com redirecionamentos, há algumas opções no nível do DNS. Você pode fazer a mesma pesquisa de país de IP e retornar um registro que corresponda à região (DNS baseado em geolocalização) ou pode ter um mapa da latência entre diferentes redes e retornar um registro que represente a menor latência para o usuário (latência DNS baseado). O serviço DNS Route53 da Amazon oferece ambos.

    
por 21.12.2015 / 21:21