Usar a Política de DNS para balanceamento de aplicativo com reconhecimento de localização geográfica
Use este tópico para saber como configurar a política do DNS para balancear a carga de um aplicativo com reconhecimento de localização geográfica.
O tópico anterior neste guia, Usar Política DNS para Balanceamento de Carga de Aplicativo, usa um exemplo de uma empresa fictícia – Contoso Gift Services – que fornece serviços de presentes online e que tem um site chamado contosogiftservices.com. A carga da Contoso Gift Services equilibra seu aplicativo Web online entre servidores em datacenters norte-americanos localizados em Seattle, WA, Chicago, IL e Dallas, TX.
Observação
É recomendável que você se familiarize com o tópico Usar a Política DNS para Balanceamento de Carga de Aplicativo antes de executar as instruções neste cenário.
Este tópico usa a mesma infraestrutura de rede e empresa fictícia como base para uma nova implantação de exemplo que inclui reconhecimento de localização geográfica.
Neste exemplo, a Contoso Gift Services está expandindo com êxito sua presença em todo o mundo.
Semelhante a América do Norte, a empresa agora tem servidores Web hospedados em datacenters europeus.
Os administradores de DNS dos Serviços de Presente da Contoso desejam configurar o balanceamento de carga de aplicativos para datacenters europeus de maneira semelhante à implementação da política de DNS nos Estados Unidos, com o tráfego de aplicativos distribuído entre servidores Web localizados em Dublin, Irlanda, Amsterdã, Holanda e outros locais.
Os administradores de DNS também desejam que todas as consultas de outros locais no mundo sejam distribuídas igualmente entre todos os seus datacenters.
Nas próximas seções, aprenda a atingir metas semelhantes às dos Administradores de DNS da Contoso em sua própria rede.
Como configurar o balanceamento de aplicativo com reconhecimento de localização geográfica
As seções a seguir mostram como configurar a política do DNS para o balanceamento de carga do aplicativo com reconhecimento de localização geográfica.
Importante
As seções a seguir incluem os comandos do Windows PowerShell de exemplo que contêm os valores de exemplo para muitos parâmetros. Substitua os valores de exemplo nesses comandos por valores adequados a sua implantação antes de executar esses comandos.
Criar as sub-redes do cliente DNS
Primeiro, identifique as sub-redes ou o espaço de endereço IP das regiões do América do Norte e da Europa.
Obtenha essas informações de mapas de IP geográfico. Com base nessas distribuições de IP geográfico, crie as sub-redes do cliente DNS.
Uma sub-rede do cliente DNS é um agrupamento lógico de sub-redes IPv4 ou IPv6 das quais as consultas são enviadas para um servidor do DNS.
Use os comandos do PowerShell do Windows a seguir para criar sub-redes de cliente DNS.
Add-DnsServerClientSubnet -Name "AmericaSubnet" -IPv4Subnet 192.0.0.0/24,182.0.0.0/24
Add-DnsServerClientSubnet -Name "EuropeSubnet" -IPv4Subnet 141.1.0.0/24,151.1.0.0/24
Para obter mais informações, confira Add-DnsServerClientSubnet.
Criar os escopos de zona
Depois que as sub-redes do cliente estiverem em vigor, você deverá particionar a zona contosogiftservices.com em escopos de zona diferentes, cada uma para um datacenter.
Um escopo de zona é uma instância exclusiva da zona. Uma zona DNS pode ter vários escopos de zona, com cada escopo de zona contendo o próprio conjunto de registros do DNS. O mesmo registro poderá estar presente em vários escopos, com diferentes endereços IP ou os mesmos endereços IP.
Observação
Por padrão, há um escopo de zona nas zonas DNS. Esse escopo de zona tem o mesmo nome que a zona e as operações do DNS herdadas funcionam nesse escopo.
O cenário anterior no balanceamento de carga do aplicativo demonstra como configurar três escopos de zona para datacenters no América do Norte.
Com os comandos abaixo, crie mais dois escopos de zona, um para os datacenters de Dublin e Amsterdã.
Adicione esses escopos de zona sem nenhuma alteração nos três escopos de zona de América do Norte existentes na mesma zona. Além disso, depois de criar esses escopos de zona, você não precisa reiniciar o servidor do DNS.
Use os comandos do PowerShell do Windows a seguir para criar escopos de zona.
Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "DublinZoneScope"
Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "AmsterdamZoneScope"
Para obter mais informações, confira Add-DnsServerZoneScope
Adicionar registros aos escopos de zona
Agora você deve adicionar os registros que representam o host do servidor Web aos escopos da zona.
Os registros dos datacenters da América foram adicionados no cenário anterior. Use os comandos do PowerShell do Windows a seguir para adicionar registros aos escopos de zona para datacenters europeus.
Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "151.1.0.1" -ZoneScope "DublinZoneScope”
Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "141.1.0.1" -ZoneScope "AmsterdamZoneScope"
Para obter mais informações, confira Add-DnsServerResourceRecord.
Criar as políticas do DNS
Depois de criar as partições (escopos de zona) e adicionar registros, crie as políticas do DNS que distribuam as consultas de entrada entre esses escopos.
Para este exemplo, a distribuição de consultas entre servidores de aplicativos em datacenters diferentes atende aos critérios a seguir.
- Quando a consulta DNS é recebida de uma fonte em uma sub-rede cliente norte-americana, 50% das respostas do DNS apontam para o datacenter de Seattle, 25% das respostas apontam para o datacenter de Chicago e os 25% restantes das respostas apontam para o datacenter de Dallas.
- Quando a consulta DNS é recebida de uma fonte em uma sub-rede cliente europeia, 50% das respostas do DNS apontam para o datacenter de Dublin e 50% das respostas DNS apontam para o datacenter de Amsterdã.
- Quando a consulta vem de qualquer outro lugar do mundo, as respostas do DNS são distribuídas entre todos os cinco datacenters.
Use os comandos do PowerShell do Windows a seguir para implementar essas políticas do DNS.
Add-DnsServerQueryResolutionPolicy -Name "AmericaLBPolicy" -Action ALLOW -ClientSubnet "eq,AmericaSubnet" -ZoneScope "SeattleZoneScope,2;ChicagoZoneScope,1; TexasZoneScope,1" -ZoneName "contosogiftservices.com" –ProcessingOrder 1
Add-DnsServerQueryResolutionPolicy -Name "EuropeLBPolicy" -Action ALLOW -ClientSubnet "eq,EuropeSubnet" -ZoneScope "DublinZoneScope,1;AmsterdamZoneScope,1" -ZoneName "contosogiftservices.com" -ProcessingOrder 2
Add-DnsServerQueryResolutionPolicy -Name "WorldWidePolicy" -Action ALLOW -FQDN "eq,*.contoso.com" -ZoneScope "SeattleZoneScope,1;ChicagoZoneScope,1; TexasZoneScope,1;DublinZoneScope,1;AmsterdamZoneScope,1" -ZoneName "contosogiftservices.com" -ProcessingOrder 3
Para obter mais informações, confira Add-DnsServerQueryResolutionPolicy.
Agora você criou com êxito uma política do DNS que fornece balanceamento de carga de aplicativos entre servidores Web localizados em cinco datacenters diferentes em vários continentes.
É possível criar milhares de políticas do DNS de acordo com seus requisitos de gerenciamento de tráfego e todas as novas políticas são aplicadas dinamicamente, sem reiniciar o servidor do DNS, em consultas de entrada.