Compartilhar via


Usar a política de DNS para respostas de DNS inteligente com base na hora do dia

Aplica-se a: Windows Server 2022, Windows Server 2019 e Windows Server 2016

Você pode usar este tópico para saber como distribuir o tráfego de aplicativos em diferentes instâncias distribuídas geograficamente de um aplicativo usando políticas DNS baseadas na hora do dia.

Este cenário é útil para as situações em que você quer direcionar o tráfego em um fuso horário para servidores de aplicativos alternativos, como os servidores Web, que estão localizados em outro fuso horário. Isso permite a você balancear a carga do tráfego nas instâncias do aplicativo durante os períodos de pico, quando os servidores principais estão sobrecarregados com o tráfego.

Exemplos de respostas de DNS inteligentes com base na hora do dia

A seguir, um exemplo de como usar a política DNS para equilibrar o tráfego de aplicativos baseada na hora do dia.

Este exemplo usa uma empresa fictícia, a Contoso Gift Services, que fornece soluções de presentes online em todo o mundo por meio do site, contosogiftservices.com.

O site contosogiftservices.com está hospedado em dois datacenters, um em Seattle (América do Norte) e outro em Dublin (Europa). Os servidores DNS são configurados para enviar respostas com reconhecimento de localização geográfica usando a política DNS. Com um aumento recente nos negócios, a contosogiftservices.com tem um número maior de visitantes todos os dias e alguns dos clientes relataram problemas de disponibilidade de serviço.

O Contoso Gift Services realiza uma análise do site e descobre que todas as noites, entre 18h e 21h, horário local, há um aumento no tráfego para servidores Web. Os servidores Web não podem ser dimensionados para lidar com o aumento do tráfego nesses horários de pico, resultando em negação de serviço para clientes. A mesma sobrecarga de tráfego de horário de pico ocorre nos datacenters europeus e americanos. Em outras horas do dia, os servidores lidam com volumes de tráfego bem abaixo de sua capacidade máxima.

Para garantir que os clientes do contosogiftservices.com terão uma experiência dinâmica do site, a Contoso Gift Services deseja redirecionar algum tráfego de Dublin para os servidores de aplicativos de Seattle entre 18h e 21h em Dublin; e querem redirecionar um pouco de tráfego de Seattle para os servidores de aplicativos de Dublin entre 18h e 21h em Seattle.

A ilustração a seguir descreve esse cenário.

Time of Day DNS Policy example

Como funcionam as respostas DNS inteligentes com base na hora do dia

Quando o servidor DNS é configurado com a política DNS de hora do dia, entre 18h e 21h em cada localização geográfica, o servidor DNS faz o seguinte:

  • Responde às quatro primeiras consultas recebidas com o endereço IP do servidor Web no datacenter local.
  • Responde à quinta consulta recebida com o endereço IP do servidor Web no datacenter remoto.

Esse comportamento baseado em política descarrega 20% da carga de tráfego do servidor Web local no servidor Web remoto, aliviando a pressão sobre o servidor de aplicativos local e melhorando o desempenho do site para os clientes.

Durante o horário de pico, os servidores DNS executam o gerenciamento normal de tráfego baseado em localizações geográficas. Além disso, no caso de clientes DNS que enviam consultas de locais diferentes de América do Norte ou Europa, a carga do servidor DNS equilibra o tráfego entre os datacenters de Seattle e Dublin.

Quando várias políticas DNS são configuradas no DNS, elas são um conjunto ordenado de regras e são processadas pelo DNS da prioridade mais alta para a prioridade mais baixa. O DNS usa a primeira política que corresponde às circunstâncias, incluindo a hora do dia. Por esse motivo, políticas mais específicas devem ter prioridade mais alta. Se você criar políticas de hora do dia e fornecer a elas alta prioridade na lista de políticas, o DNS processará e usará essas políticas primeiro se corresponderem aos parâmetros da consulta de cliente DNS e aos critérios definidos na política. Se não corresponderem, o DNS percorrerá a lista de políticas para processar as políticas padrão até encontrar uma correspondência.

Para obter mais informações sobre tipos de política e critérios, confira Visão geral das políticas DNS.

Como configurar a política DNS para respostas DNS inteligentes com base na hora do dia

Para configurar a política de DNS para respostas de consulta com base no balanceamento de carga do aplicativo de hora do dia, é necessário executar as etapas a seguir.

Observação

É necessário executar essas etapas no servidor DNS com autoridade para a zona que você quer configurar. A associação ao DnsAdmins, ou equivalente, é necessária para executar os procedimentos a seguir.

As seções a seguir fornecem instruções de configuração detalhadas.

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

A primeira etapa é identificar as sub-redes ou o espaço de endereço IP das regiões para as quais queira redirecionar o tráfego. Por exemplo, caso queira redirecionar o tráfego para os EUA e a Europa, precisará identificar as sub-redes ou espaços de endereço IP dessas regiões.

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 forem configuradas, particione a zona cujo tráfego queira redirecionar para dois escopos de zona diferentes, um escopo para cada uma das Sub-redes do Cliente DNS configuradas.

Por exemplo, caso queira redirecionar o tráfego para o nome DNS www.contosogiftservices.com, deverá criar dois escopos de zona diferentes na zona contosogiftservices.com, um para os EUA e outro para a Europa.

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 DNS herdadas funcionam nesse escopo.

Use os comandos do PowerShell do Windows a seguir para criar escopos de zona.

Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "SeattleZoneScope"

Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "DublinZoneScope"

Para obter mais informações, confira Add-DnsServerZoneScope.

Adicionar registros aos escopos de zona

Agora adicione os registros que representam o host do servidor Web aos dois escopos da zona.

Por exemplo, em SeattleZoneScope, o registro www.contosogiftservices.com é adicionado com o endereço IP 192.0.0.1, que está localizado em um datacenter de Seattle. Da mesma forma, em DublinZoneScope, o registro www.contosogiftservices.com é adicionado com o endereço IP 141.1.0.3 no datacenter de Dublin

Use os comandos do PowerShell do Windows a seguir para adicionar registros aos escopos de zona.

Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "192.0.0.1" -ZoneScope "SeattleZoneScope"

Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "141.1.0.3" -ZoneScope "DublinZoneScope"

O parâmetro ZoneScope não é incluído ao adicionar um registro no escopo padrão. Isso é o mesmo que adicionar registros a uma zona do DNS padrão.

Para obter mais informações, confira Add-DnsServerResourceRecord.

Criar as políticas DNS

Depois de criar as sub-redes, as partições (escopos de zona) e adicionar registros, crie políticas que conectem as sub-redes e partições, para que, quando uma consulta vier de uma origem em uma das sub-redes do cliente DNS, a resposta da consulta seja retornada do escopo correto da zona. Nenhuma política é necessária para mapear o escopo de zona padrão.

Depois de configurar essas políticas DNS, o comportamento do servidor DNS será o seguinte:

  1. Os clientes DNS europeus recebem o endereço IP do servidor Web no datacenter de Dublin em sua resposta de consulta DNS.
  2. Os clientes DNS americanos recebem o endereço IP do servidor Web no datacenter de Seattle em sua resposta de consulta DNS.
  3. Entre 18h e 21h em Dublin, 20% das consultas de clientes europeus recebem o endereço IP do servidor Web no datacenter de Seattle em sua resposta de consulta DNS.
  4. Entre 18h e 21h em Seattle, 20% das consultas dos clientes americanos recebem o endereço IP do servidor Web no datacenter de Dublin em sua resposta de consulta DNS.
  5. Metade das consultas do resto do mundo recebe o endereço IP do datacenter de Seattle e a outra metade recebe o endereço IP do datacenter de Dublin.

Use os comandos do PowerShell do Windows a seguir para criar uma política do DNS que vincule as sub-redes do cliente DNS e os escopos de zona.

Observação

Neste exemplo, o servidor DNS está no fuso horário GMT, ou seja, os períodos de hora de pico devem ser expressos no horário GMT equivalente.

Add-DnsServerQueryResolutionPolicy -Name "America6To9Policy" -Action ALLOW -ClientSubnet "eq,AmericaSubnet" -ZoneScope "SeattleZoneScope,4;DublinZoneScope,1" -TimeOfDay "EQ,01:00-04:00" -ZoneName "contosogiftservices.com" -ProcessingOrder 1

Add-DnsServerQueryResolutionPolicy -Name "Europe6To9Policy" -Action ALLOW -ClientSubnet "eq,EuropeSubnet" -ZoneScope "SeattleZoneScope,1;DublinZoneScope,4" -TimeOfDay "EQ,17:00-20:00" -ZoneName "contosogiftservices.com" -ProcessingOrder 2

Add-DnsServerQueryResolutionPolicy -Name "AmericaPolicy" -Action ALLOW -ClientSubnet "eq,AmericaSubnet" -ZoneScope "SeattleZoneScope,1" -ZoneName "contosogiftservices.com" -ProcessingOrder 3

Add-DnsServerQueryResolutionPolicy -Name "EuropePolicy" -Action ALLOW -ClientSubnet "eq,EuropeSubnet" -ZoneScope "DublinZoneScope,1" -ZoneName "contosogiftservices.com" -ProcessingOrder 4

Add-DnsServerQueryResolutionPolicy -Name "RestOfWorldPolicy" -Action ALLOW -ZoneScope "DublinZoneScope,1;SeattleZoneScope,1" -ZoneName "contosogiftservices.com" -ProcessingOrder 5

Para obter mais informações, confira Add-DnsServerQueryResolutionPolicy.

Agora, o servidor do DNS está configurado com as políticas do DNS necessárias para redirecionar o tráfego com base na localização geográfica e hora do dia.

Quando o servidor do DNS recebe consultas de resolução de nomes, o servidor do DNS avalia os campos na solicitação de DNS em relação às políticas do DNS configuradas. Se o endereço IP de origem na solicitação de resolução de nomes corresponder a qualquer uma das políticas, o escopo de zona associado será usado para responder à consulta e o usuário será direcionado para o recurso geograficamente mais próximo deles.

É 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.