Cvičení – povolení automatického převzetí služeb při selhání pomocí směrování podle priority

Dokončeno

Předpokládejme, že vaše aplikace pro streamování hudby má stejnou distribuci uživatelů v západní USA a západní Evropě. V jedné z oblastí chcete mít verzi aplikace, která převezme služby při selhání.

Ukázková aplikace, kterou používáme pro toto cvičení, zobrazuje oblast, ve které je spuštěná. Jedna z těchto dvou instancí má vyšší prioritu a slouží jako primární koncový bod. Druhá instance má nižší prioritu a slouží jako koncový bod pro převzetí služeb při selhání. Když primární koncový bod přejde do offline režimu, veškerý provoz se automaticky začne směrovat na koncový bod pro převzetí služeb při selhání.

V tomto cvičení nastavíte Traffic Manager tak, aby používal koncový bod USA jako primární koncový bod, který převezme služby při selhání do evropského koncového bodu, pokud dojde k nějakým chybám.

Vytvoření nového profilu Traffic Manageru

  1. Spuštěním následujícího příkazu v Cloud Shellu vytvořte nový profil Traffic Manageru:

    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
    

    V příkazu používáte tyto parametry:

    • --routing-method Priority: Vytvoří profil Traffic Manageru pomocí metody směrování priority.
    • --unique-dns-name: Vytvoří globálně jedinečný název <unique-dns-name>.trafficmanager.netdomény . Abychom zajistili jedinečnost názvu, použijeme funkci Bashe $RANDOM, která vrátí náhodné celé číslo.

Nasazení webových aplikací

  1. Spuštěním následujícího příkazu nasaďte šablonu Resource Manageru. Šablona vytvoří dva servery, jeden v oblasti Západní Evropa a jeden v oblasti USA – západ 2. Buďte trpěliví, protože nasazení může trvat několik minut.

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

Přidání koncových bodů do Traffic Manageru

  1. Webové aplikace teď běží na virtuálních počítačích. Spuštěním následujících příkazů přidejte prostředky veřejné IP adresy virtuálních počítačů jako koncové body do profilu Traffic Manageru:

    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
    

    Tento kód získá ID prostředků z obou virtuálních počítačů. Pak je kód pomocí těchto ID přidá jako koncové body do profilu Traffic Manageru. Pomocí příznaku --priority nastaví kód aplikaci v oblasti USA – západ na nejvyšší prioritu.

  2. V rychlosti se podívejme na koncové body, které jsme nakonfigurovali. Spusťte následující příkaz:

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

Otestování aplikace

  1. Podívejme se na to, co DNS ukazuje pro webové aplikace a pro profil Traffic Manageru. Spuštěním následujících příkazů zobrazte IP adresy jednotlivých prostředků, které jsme vytvořili.

  2. Načtěte adresu webové aplikace USA – západ 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. Načtěte adresu webové aplikace Západní Evropa:

    nslookup $(az network public-ip show \
            --resource-group "<rgn>[Sandbox resource group]</rgn>" \
            --name westeurope-vm-nic-pip \
            --query dnsSettings.fqdn \
            --output tsv)
    
  4. Načtěte adresu profilu Traffic Manageru:

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

    Adresa pro profil Traffic Manageru by se měla shodovat s IP adresou pro veřejnou IP adresu westus2-vm-nic-pip přiřazenou k virtuálnímu počítači westus2-vm.

  5. Spuštěním následujícího příkazu přejděte na plně kvalifikovaný název domény (FQDN) profilu Traffic Manageru. Váš požadavek se nasměruje na koncový bod, který odpovídá s nejvyšší prioritou.

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

    Kód zobrazí plně kvalifikovaný název domény v Cloud Shellu. Výběrem plně kvalifikovaného názvu domény otevřete nové okno nebo kartu prohlížeče.

  6. Ověřte, že aplikace funguje, a umístění zobrazené v dolní části stránky je USA – západ 2:

    Screenshot of the running West US web app.

  7. Spuštěním následujícího příkazu zakažte primární koncový bod:

    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. Znovu se podívejme na to, co DNS ukazuje pro webové aplikace a pro profil Traffic Manageru.

  9. Načtěte adresu webové aplikace USA – západ 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. Načtěte adresu webové aplikace Západní Evropa:

    nslookup $(az network public-ip show \
                --resource-group "<rgn>[Sandbox resource group]</rgn>" \
                --name westeurope-vm-nic-pip \
                --query dnsSettings.fqdn \
                --output tsv)
    
  11. Načtěte adresu profilu Traffic Manageru:

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

    Adresa profilu Traffic Manageru by se teď měla shodovat s webovou aplikací Západní Evropa.

  12. Aktualizací webové stránky aplikaci znovu v prohlížeči otestujte. Traffic Manager by měl automaticky přesměrovat provoz do koncového bodu Západní Evropa. Podle toho, který prohlížeč používáte, může trvat několik minut, než vyprší platnost adresy místně uložené v mezipaměti. Pokud chcete změnu zobrazit okamžitě, můžete mezipaměť obejít tak, že otevřete web v privátním okně.

    Screenshot of the running West Europe web app.