Respostas de DNS com base na hora do dia com o Servidor de aplicativos da nuvem do Azure
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 hospedados no Microsoft Azure, 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.
Observação
Para saber como usar a política DNS para respostas de DNS Inteligente sem usar o Azure, consulte Usar política DNS para respostas de DNS Inteligente baseada na hora do dia.
Exemplo de respostas de DNS Inteligente baseadas na hora do dia com o Servidor de Aplicativos de Nuvem do Azure
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 é hospedado apenas em um único datacenter local em Seattle (com IP público 192.68.30.2).
O servidor DNS também está localizado no datacenter local.
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 o servidor da Web de Seattle. O servidor Web não pode ser dimensionado para lidar com o aumento do tráfego nesses horários de pico, resultando em negação de serviço para clientes.
Para garantir que os clientes da contosogiftservices.com tenham uma experiência responsiva no site, a Contoso Gift Services decide que, durante esse horário, alugará uma VM (máquina virtual) no Microsoft Azure para hospedar uma cópia do servidor Web.
A Contoso Gift Services obtém um endereço IP público do Azure para a VM (192.68.31.44) e desenvolve a automação para implantar o servidor Web todos os dias no Azure entre 17:00 e 22:00, permitindo um período de contingência de uma hora.
Observação
Para obter mais informações sobre as VMs do Azure, consulte Documentação de máquinas virtuais
Os servidores DNS são configurados com os escopos de zona e políticas DNS para que, entre 17:00 e 21:00 todos os dias, 30% das consultas sejam enviadas para a instância do servidor Web em execução no Azure.
A ilustração a seguir descreve esse cenário.
Como funcionam as respostas de DNS Inteligente com base na hora do dia com o Servidor de Aplicativos de Nuvem do Azure
Este artigo demonstra como configurar o servidor DNS para responder a consultas DNS com dois endereços IP de servidor de aplicativos diferentes: um servidor Web em Seattle e o outro em um datacenter do Azure.
Após a configuração de uma nova política DNS baseada no horário de pico das 18:00 às 21:00 em Seattle, o servidor DNS enviará 70% das respostas de DNS para clientes que contêm o endereço IP do servidor Web de Seattle e 30% das respostas de DNS para clientes que contêm o endereço IP do servidor Web do Azure, direcionando, assim, o tráfego do cliente para o novo servidor Web do Azure e evitando que o servidor Web de Seattle fique sobrecarregado.
Em todas as outras horas do dia, o processamento de consulta normal ocorrerá e as respostas serão enviadas do escopo de zona padrão que contém um registro para o servidor da Web no datacenter local.
O TTL de 10 minutos no registro do Azure garante que o registro expire do cache LDNS antes que a VM seja removida do Azure. Um dos benefícios dessa colocação em escala é que você poderá manter os dados de DNS no local e continuar escalando horizontalmente para o Azure, conforme a demanda exigir.
Como configurar a política DNS para respostas de DNS Inteligente baseada na hora do dia com o Servidor de Aplicativos do Azure
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 os escopos de zona
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 da zona e as operações DNS herdadas funcionam nesse escopo.
Você poderá usar o comando de exemplo a seguir para criar um escopo de zona para hospedar os registros do Azure.
Add-DnsServerZoneScope -ZoneName "contosogiftservices.com" -Name "AzureZoneScope"
Para obter mais informações, consulte Add-DnsServerZoneScope
Adicionar registros aos escopos de zona
A próxima etapa é adicionar os registros que representam o host do servidor Web nos escopos de zona.
Em AzureZoneScope, o registro www.contosogiftservices.com é adicionado com o endereço IP 192.68.31.44, que está localizado na nuvem pública do Azure.
Da mesma forma, no escopo de zona padrão (contosogiftservices.com), um registro (www.contosogiftservices.com) é adicionado com o endereço IP 192.68.30.2 do servidor Web em execução no datacenter local de Seattle.
No segundo cmdlet abaixo, o parâmetro –ZoneScope não está incluído. Por esse motivo, os registros são adicionados no ZoneScope padrão.
Adicionalmente, o TTL do registro para VMs do Azure é mantido em 600s (10 minutos) para que o LDNS não o armazene em cache por mais tempo, o que interferiria no balanceamento de carga. Além disso, as VMs do Azure estarão disponíveis por 1 hora adicional como uma contingência para garantir que mesmo os clientes com registros em cache possam resolver.
Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "192.68.31.44" -ZoneScope "AzureZoneScope" –TimeToLive 600
Add-DnsServerResourceRecord -ZoneName "contosogiftservices.com" -A -Name "www" -IPv4Address "192.68.30.2"
Para obter mais informações, consulte Add-DnsServerResourceRecord.
Criar as políticas DNS
Após criar os escopos de zona, você poderá criar políticas DNS que distribuam as consultas de entrada entre esses escopos para que ocorra o seguinte.
- Diariamente, das 18:00 às 21:00, 30% dos clientes recebem o endereço IP do servidor Web no datacenter do Azure na resposta DNS, enquanto 70% dos clientes recebem o endereço IP do servidor Web local de Seattle.
- Em todos os outros momentos, todos os clientes recebem o endereço IP do servidor da Web local de Seattle.
A hora do dia deve ser expressa na hora local do servidor DNS.
Você poderá usar o comando de exemplo a seguir para criar a política DNS.
Add-DnsServerQueryResolutionPolicy -Name "Contoso6To9Policy" -Action ALLOW -ZoneScope "contosogiftservices.com,7;AzureZoneScope,3" –TimeOfDay “EQ,18:00-21:00” -ZoneName "contosogiftservices.com" –ProcessingOrder 1
Para obter mais informações, consulte Add-DnsServerQueryResolutionPolicy.
Agora o servidor DNS está configurado com as políticas DNS necessárias para redirecionar o tráfego para o servidor Web do Azure com base na hora do dia.
Observe a expressão:
-ZoneScope "contosogiftservices.com,7;AzureZoneScope,3" –TimeOfDay “EQ,18:00-21:00”
Essa expressão configura o servidor DNS com uma combinação de ZoneScope e peso que instrui o servidor DNS a enviar o endereço IP do servidor Web de Seattle 70% das vezes, enquanto envia o endereço IP do servidor Web do Azure 30% das vezes.
É possível criar milhares de políticas DNS de acordo com os requisitos de gerenciamento de tráfego e todas as novas políticas serão aplicadas dinamicamente, sem reiniciar o servidor DNS, nas consultas de entrada.