Exercício – ativar a ativação pós-falha automática através do encaminhamento prioritário
Vamos supor que seu aplicativo de streaming de música tenha uma distribuição igual de usuários no oeste dos Estados Unidos e na Europa Ocidental. Gostaria de ter uma versão de ativação pós-falha da aplicação numa região.
O aplicativo de exemplo que usamos para este exercício exibe a região na qual ele está sendo executado. Uma das duas instâncias tem prioridade mais alta e é o ponto final primário. A outra instância tem baixa prioridade e é o ponto final de ativação pós-falha. Colocar o ponto final primário offline encaminha automaticamente todo o tráfego para o ponto final de ativação pós-falha.
Neste exercício, você configurará o Gerenciador de Tráfego para usar o ponto de extremidade dos Estados Unidos como o principal, fazendo failover para o ponto de extremidade europeu se ocorrerem erros.
Criar um novo perfil do Gestor de Tráfego
Execute o seguinte comando no Cloud Shell para criar um novo perfil do Traffic Manager:
az network traffic-manager profile create \ --resource-group "<rgn>[Sandbox resource group]</rgn>" \ --name TM-MusicStream-Priority \ --routing-method Priority \ --unique-dns-name TM-MusicStream-Priority-$RANDOM
Você está usando estes parâmetros no comando:
- --routing-method Priority: Cria o perfil do Gerenciador de Tráfego usando o método de roteamento de prioridade.
- --unique-dns-name: Cria o nome
<unique-dns-name>.trafficmanager.net
de domínio globalmente exclusivo . Utilizamos a função Bash$RANDOM
para devolver um número inteiro aleatório para garantir que o nome é exclusivo.
Implementar as aplicações Web
Execute o seguinte comando para implantar um modelo do Gerenciador de Recursos. O modelo cria dois servidores, um na região Europa Ocidental e outro na região Oeste dos EUA 2. Seja paciente, porque a implantação pode levar alguns minutos.
az deployment group create \ --resource-group "<rgn>[Sandbox resource group]</rgn>" \ --template-uri https://raw.githubusercontent.com/MicrosoftDocs/mslearn-distribute-load-with-traffic-manager/master/azuredeploy.json \ --parameters password="$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32)"
Adicionar os pontos finais ao Gestor de Tráfego
As aplicações Web estão agora a ser executadas em máquinas virtuais. Execute os seguintes comandos para adicionar os recursos de endereço IP público das máquinas virtuais como pontos de extremidade ao perfil do Gerenciador de Tráfego:
WestId=$(az network public-ip show \ --resource-group "<rgn>[Sandbox resource group]</rgn>" \ --name westus2-vm-nic-pip \ --query id \ --output tsv) az network traffic-manager endpoint create \ --resource-group "<rgn>[Sandbox resource group]</rgn>" \ --profile-name TM-MusicStream-Priority \ --name "Primary-WestUS" \ --type azureEndpoints \ --priority 1 \ --target-resource-id $WestId
WestId=$(az network public-ip show \ --resource-group "<rgn>[Sandbox resource group]</rgn>" \ --name westeurope-vm-nic-pip \ --query id \ --output tsv) az network traffic-manager endpoint create \ --resource-group "<rgn>[Sandbox resource group]</rgn>" \ --profile-name TM-MusicStream-Priority \ --name "Failover-WestEurope" \ --type azureEndpoints \ --priority 2 \ --target-resource-id $WestId
O código obtém os IDs dos recursos de ambas as máquinas virtuais. Em seguida, o código utiliza os IDs para os adicionar como pontos finais ao perfil do Gestor de Tráfego. O código utiliza o sinalizador
--priority
para definir a aplicação dos E.U.A. Oeste para a prioridade mais alta.Vamos dar uma olhada rápida nos pontos finais que configurámos. Execute o seguinte comando:
az network traffic-manager endpoint list \ --resource-group "<rgn>[Sandbox resource group]</rgn>" \ --profile-name TM-MusicStream-Priority \ --output table
Testar a aplicação
Vamos ver o DNS que aparece para as aplicações Web e para o nosso perfil do Gestor de Tráfego. Execute os seguintes comandos para exibir os endereços IP de cada um dos recursos que criamos.
Recupere o endereço do aplicativo Web West US 2:
nslookup $(az network public-ip show \ --resource-group "<rgn>[Sandbox resource group]</rgn>" \ --name westus2-vm-nic-pip \ --query dnsSettings.fqdn \ --output tsv)
Recupere o endereço da aplicação Web da Europa Ocidental:
nslookup $(az network public-ip show \ --resource-group "<rgn>[Sandbox resource group]</rgn>" \ --name westeurope-vm-nic-pip \ --query dnsSettings.fqdn \ --output tsv)
Recupere o endereço do perfil do Gerenciador de Tráfego:
# Retrieve the address for the Traffic Manager profile nslookup $(az network traffic-manager profile show \ --resource-group "<rgn>[Sandbox resource group]</rgn>" \ --name TM-MusicStream-Priority \ --query dnsConfig.fqdn \ --output tsv)
O endereço do perfil do Gestor de Tráfego deve corresponder ao endereço IP público westus2-vm-nic-pip atribuído à máquina virtual westus2-vm.
Execute o seguinte comando para ir para o FQDN (nome de domínio totalmente qualificado) do perfil do Gerenciador de Tráfego. O pedido é encaminhado para o ponto final que responde com a prioridade mais alta.
echo http://$(az network traffic-manager profile show \ --resource-group "<rgn>[Sandbox resource group]</rgn>" \ --name TM-MusicStream-Priority \ --query dnsConfig.fqdn \ --output tsv)
O código imprime o FQDN no Cloud Shell. Selecione o FQDN para abrir uma nova janela ou guia do navegador.
Verifique se o aplicativo está funcionando e o local mostrado na parte inferior da página é West US 2:
Execute o seguinte comando para desativar o ponto de extremidade primário:
az network traffic-manager endpoint update \ --resource-group "<rgn>[Sandbox resource group]</rgn>" \ --name "Primary-WestUS" \ --profile-name TM-MusicStream-Priority \ --type azureEndpoints \ --endpoint-status Disabled
Vejamos novamente qual o DNS que aparece para as aplicações Web e para o nosso perfil do Gestor de Tráfego.
Recupere o endereço do aplicativo Web West US 2:
nslookup $(az network public-ip show \ --resource-group "<rgn>[Sandbox resource group]</rgn>" \ --name westus2-vm-nic-pip \ --query dnsSettings.fqdn \ --output tsv)
Recupere o endereço do aplicativo Web da Europa Ocidental.:
nslookup $(az network public-ip show \ --resource-group "<rgn>[Sandbox resource group]</rgn>" \ --name westeurope-vm-nic-pip \ --query dnsSettings.fqdn \ --output tsv)
Recupere o endereço do perfil do Gerenciador de Tráfego:
nslookup $(az network traffic-manager profile show \ --resource-group "<rgn>[Sandbox resource group]</rgn>" \ --name TM-MusicStream-Priority \ --query dnsConfig.fqdn \ --output tsv)
O endereço do perfil do Gestor de Tráfego deve agora corresponder à aplicação Web da Europa Ocidental.
Teste a aplicação novamente a partir do browser ao atualizar a página Web. O Gestor de Tráfego deve redirecionar automaticamente o tráfego para o ponto final da Europa Ocidental. Dependendo do seu browser, o endereço guardado na cache local poderá demorar alguns minutos a expirar. Abrir o site numa janela privada deve ignorar a cache, para que possa ver a alteração imediatamente.