Övning – Aktivera automatisk redundans med hjälp av prioritetsdirigering

Slutförd

Anta att ditt program för musikströmning har en lika stor distribution av användare i västra USA och Västeuropa. Du skulle vilja ha en redundansversion av appen i en region.

Exempelprogrammet som vi använder för den här övningen visar den region där det körs. En av de två instanserna har högre prioritet och är den primära slutpunkten. Den andra instansen har lägre prioritet och är redundansslutpunkten. Om den primära slutpunkten tas offline dirigeras all trafik automatiskt till redundansslutpunkten.

I den här övningen konfigurerar du Traffic Manager för att använda USA-slutpunkten som primär och redväxlar till den europeiska slutpunkten om några fel inträffar.

Skapa en ny Traffic Manager-profil

  1. Kör följande kommando i Cloud Shell för att skapa en ny Traffic Manager-profil:

    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
    

    Du använder dessa parametrar i kommandot:

    • --routing-method Priority: Skapar Traffic Manager-profilen med hjälp av metoden för prioritetsroutning.
    • --unique-dns-name: Skapar det globalt unika domännamnet <unique-dns-name>.trafficmanager.net. Vi använder Bash-funktionen $RANDOM till att returnera ett slumpmässigt heltal för att se till att namnet är unikt.

Distribuera webbapparna

  1. Kör följande kommando för att distribuera en Resource Manager-mall. Mallen skapar två servrar, en i regionen Europa, västra och en i regionen USA, västra 2. Ha tålamod eftersom distributionen kan ta några minuter.

    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)"
    

Lägga till slutpunkterna till Traffic Manager

  1. Webbapparna körs nu på virtuella datorer. Kör följande kommandon för att lägga till de offentliga IP-adressresurserna för de virtuella datorerna som slutpunkter i Traffic Manager-profilen:

    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
    

    Koden hämtar resurs-ID:n från båda virtuella datorerna. Sedan använder koden ID:na för att lägga till dem som slutpunkter i Traffic Manager-profilen. Koden använder flaggan --priority för att ange appen för USA, västra till den högsta prioriteten.

  2. Vi tar en snabb titt på de slutpunkter som vi har konfigurerat. Kör följande kommando:

    az network traffic-manager endpoint list \
        --resource-group "<rgn>[Sandbox resource group]</rgn>" \
        --profile-name TM-MusicStream-Priority \
        --output table
    

Testa appen

  1. Vi undersöker vad DNS visar för webbapparna och för vår Traffic Manager-profil. Kör följande kommandon för att visa IP-adresserna för var och en av de resurser som vi har skapat.

  2. Hämta adressen för webbappen USA, västra 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. Hämta adressen för webbappen Europa, västra:

    nslookup $(az network public-ip show \
            --resource-group "<rgn>[Sandbox resource group]</rgn>" \
            --name westeurope-vm-nic-pip \
            --query dnsSettings.fqdn \
            --output tsv)
    
  4. Hämta adressen för Traffic Manager-profilen:

    # 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)
    

    Adressen för Traffic Manager-profilen ska matcha IP-adressen för det offentliga IP:t westus2-vm-nic-pip som tilldelats till den virtuella datorn westus2-vm.

  5. Kör följande kommando för att gå till Traffic Manager-profilens fullständigt kvalificerade domännamn (FQDN). Din begäran dirigeras till den slutpunkt som svarar med högst prioritet.

    echo http://$(az network traffic-manager profile show \
        --resource-group "<rgn>[Sandbox resource group]</rgn>" \
        --name TM-MusicStream-Priority \
        --query dnsConfig.fqdn \
        --output tsv)
    

    Koden skriver ut FQDN i Cloud Shell. Välj FQDN för att öppna ett nytt webbläsarfönster eller en ny flik.

  6. Kontrollera att programmet fungerar och att platsen som visas längst ned på sidan är USA, västra 2:

    Screenshot of the running West US web app.

  7. Kör följande kommando för att inaktivera den primära slutpunkten:

    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. Återigen undersöker vi vad DNS visar för webbapparna och för vår Traffic Manager-profil.

  9. Hämta adressen för webbappen USA, västra 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. Hämta adressen för webbappen Europa, västra.:

    nslookup $(az network public-ip show \
                --resource-group "<rgn>[Sandbox resource group]</rgn>" \
                --name westeurope-vm-nic-pip \
                --query dnsSettings.fqdn \
                --output tsv)
    
  11. Hämta adressen för Traffic Manager-profilen:

    nslookup $(az network traffic-manager profile show \
                --resource-group "<rgn>[Sandbox resource group]</rgn>" \
                --name TM-MusicStream-Priority \
                --query dnsConfig.fqdn \
                --output tsv)
    

    Adressen för Traffic Manager-profilen ska nu matcha webbappen Europa, västra.

  12. Testa programmet igen från webbläsaren genom att uppdatera webbplatsen. Traffic Manager bör automatiskt omdirigera trafiken till slutpunkten Europa, västra. Beroende på webbläsaren kan det ta några minuter innan den lokalt cachelagrade adressen upphör. Genom att öppna webbplatsen i ett privat fönster bör cachen kringgås så att du kan se ändringen direkt.

    Screenshot of the running West Europe web app.