Exercício – ativar a ativação pós-falha automática através do encaminhamento prioritário

Concluído

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

  1. 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.netde 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

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

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

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

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

  2. 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)
    
  3. 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)
    
  4. 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.

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

  6. Verifique se o aplicativo está funcionando e o local mostrado na parte inferior da página é West US 2:

    Screenshot of the running West US web app.

  7. 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
    
  8. Vejamos novamente qual o DNS que aparece para as aplicações Web e para o nosso perfil do Gestor de Tráfego.

  9. 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)
    
  10. 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)
    
  11. 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.

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

    Screenshot of the running West Europe web app.