Übung: Aktivieren des automatischen Failovers mithilfe des prioritätsbasierten Routings

Abgeschlossen

Angenommen, die Benutzer Ihrer Musikstreaminganwendung verteilen sich gleichmäßig auf den Westen der USA und auf Westeuropa. In einer Region soll eine Failoverversion der App verfügbar sein.

Die in dieser Übung verwendete Beispielanwendung zeigt die Region an, in der sie ausgeführt wird. Eine der beiden Instanzen hat eine höhere Priorität und ist der primäre Endpunkt. Die andere Instanz hat eine niedrigere Priorität und ist der Failoverendpunkt. Wenn der primäre Endpunkt offline geschaltet wird, wird sämtlicher Datenverkehr automatisch an den Failoverendpunkt weitergeleitet.

In dieser Übung richten Sie Traffic Manager so ein, dass der Endpunkt „USA“ als primärer Endpunkt verwendet wird. Wenn Fehler auftreten, wird ein Failover auf den Endpunkt in Europa ausgeführt.

Erstellen eines neuen Traffic Manager-Profils

  1. Führen Sie in Cloud Shell den folgenden Befehl aus, um ein neues Traffic Manager-Profil zu erstellen:

    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
    

    In dem Befehl verwenden Sie diese Parameter:

    • --routing-method Priority: Erstellt das Traffic Manager-Profil mithilfe der prioritätsbasierten Routingmethode.
    • --unique-dns-name: Erstellt den global eindeutigen Domänennamen <unique-dns-name>.trafficmanager.net. Mit der Bash-Funktion $RANDOM, die eine zufällige ganze Zahl zurückgibt, stellen Sie sicher, dass der Name eindeutig ist.

Bereitstellen der Webanwendungen

  1. Führen Sie den folgenden Befehl aus, um eine Resource Manager-Vorlage bereitzustellen. Die Vorlage erstellt zwei Server, einen in der Region „Europa, Westen“ und einen in der Region „USA, Westen 2“. Haben Sie Geduld, die Bereitstellung kann ein paar Minuten dauern.

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

Hinzufügen der Endpunkte zu Traffic Manager

  1. Die Webanwendungen werden nun auf virtuellen Computern ausgeführt. Führen Sie die folgenden Befehle aus, um die öffentlichen IP-Adressressourcen der virtuellen Computer als Endpunkte dem Traffic Manager-Profil hinzuzufügen:

    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
    

    Der Code ruft die Ressourcen-IDs von beiden virtuellen Computern ab. Anschließend verwendet der Code die IDs, um sie dem Traffic Manager-Profil als Endpunkte hinzuzufügen. Mit dem --priority-Flag ordnet er der App für die Region „USA, Westen“ die höchste Priorität zu.

  2. Sehen Sie sich nun die konfigurierten Endpunkte an. Führen Sie den folgenden Befehl aus:

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

Testen der App

  1. Werfen Sie nun einen Blick auf die DNS-Informationen für die Web-Apps und für das Traffic Manager-Profil. Führen Sie die folgenden Befehle aus, um die IP-Adressen für jede Ressource anzuzeigen, die Sie erstellt haben.

  2. Rufen Sie die Adresse für die Web-App „USA, Westen 2“ ab:

    nslookup $(az network public-ip show \
                --resource-group "<rgn>[Sandbox resource group]</rgn>" \
                --name westus2-vm-nic-pip \
                --query dnsSettings.fqdn \
                --output tsv)
    
  3. Rufen Sie die Adresse für die Web-App „Europa, Westen“ ab:

    nslookup $(az network public-ip show \
            --resource-group "<rgn>[Sandbox resource group]</rgn>" \
            --name westeurope-vm-nic-pip \
            --query dnsSettings.fqdn \
            --output tsv)
    
  4. Rufen Sie die Adresse für das Traffic Manager-Profil ab:

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

    Die Adresse für das Traffic Manager-Profil muss mit der IP-Adresse für die öffentliche IP-Adresse westus2-vm-nic-pip identisch sein, die dem virtuellen Computer westus2-vm zugewiesen ist.

  5. Führen Sie den folgenden Befehl aus, um zum vollqualifizierten Domänennamen (FQDN) für das Traffic Manager-Profil zu wechseln. Ihre Anforderung wird an den Endpunkt weitergeleitet, der mit der höchsten Priorität reagiert.

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

    Der Code gibt den FQDN in Cloud Shell aus. Wählen Sie den FQDN aus, um ein neues Browserfenster oder eine neue Registerkarte zu öffnen.

  6. Vergewissern Sie sich, dass die Anwendung funktioniert und unten auf der Seite als Standort „USA, Westen 2“ angezeigt wird:

    Screenshot of the running West US web app.

  7. Führen Sie den folgenden Befehl aus, um den primären Endpunkt zu deaktivieren:

    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. Werfen Sie nun noch einmal einen Blick auf die DNS-Informationen für die Web-Apps und für das Traffic Manager-Profil.

  9. Rufen Sie die Adresse für die Web-App „USA, Westen 2“ ab:

    nslookup $(az network public-ip show \
                --resource-group "<rgn>[Sandbox resource group]</rgn>" \
                --name westus2-vm-nic-pip \
                --query dnsSettings.fqdn \
                --output tsv)
    
  10. Rufen Sie die Adresse für die Web-App „Europa, Westen“ ab.

    nslookup $(az network public-ip show \
                --resource-group "<rgn>[Sandbox resource group]</rgn>" \
                --name westeurope-vm-nic-pip \
                --query dnsSettings.fqdn \
                --output tsv)
    
  11. Rufen Sie die Adresse für das Traffic Manager-Profil ab:

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

    Die Adresse des Traffic Manager-Profils sollte jetzt mit derjenigen der Web-App für die Region „Europa, Westen“ übereinstimmen.

  12. Testen Sie die Anwendung erneut in Ihrem Browser, indem Sie die Webseite aktualisieren. Traffic Manager sollte den Datenverkehr automatisch an den Endpunkt in der Region „Europa, Westen“ umleiten. Je nach Browser läuft die lokal zwischengespeicherte Adresse möglicherweise erst nach einigen Minuten ab. Wenn Sie die Website in einem privaten Fenster öffnen, sollte der Cache ignoriert werden, sodass die Änderung sofort sichtbar wird.

    Screenshot of the running West Europe web app.