Gyakorlat – Automatikus feladatátvétel engedélyezése prioritásos útválasztással

Befejeződött

Tegyük fel, hogy a zenestreamelési alkalmazás egyenlően oszlik meg a felhasználók között a nyugati Egyesült Államok és Nyugat-Európában. Azt szeretné, hogy az egyik régióban az alkalmazás feladatátvételi verziója fusson.

A gyakorlathoz használt mintaalkalmazás megjeleníti azt a régiót, amelyben fut. A két példány egyikének magasabb a prioritása, és ez az elsődleges végpont. A másik példány prioritása alacsonyabb, és ez a feladatátvételi végpont. Ha az elsődleges végpont offline állapotba kerül, a teljes forgalom automatikusan át lesz irányítva a feladatátvételi végpontra.

Ebben a gyakorlatban úgy állítja be a Traffic Managert, hogy a Egyesült Államok végpontot használja elsődlegesként, és hiba esetén az európai végpontra lépjen át.

Új Traffic Manager-profil létrehozása

  1. Futtassa a következő parancsot a Cloud Shellben egy új Traffic Manager-profil létrehozásához:

    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
    

    Ezeket a paramétereket használja a parancsban:

    • --routing-method Priority: A Traffic Manager-profilt a prioritási útválasztási módszer használatával hozza létre.
    • --unique-dns-name: Létrehozza a globálisan egyedi tartománynevet <unique-dns-name>.trafficmanager.net. Itt a $RANDOM Bash-függvény által visszaadott véletlenszerű egész számmal biztosítjuk a név egyediségét.

A webalkalmazások üzembe helyezése

  1. Futtassa a következő parancsot egy Resource Manager-sablon üzembe helyezéséhez. A sablon két kiszolgálót hoz létre, egyet a nyugat-európai régióban, egyet pedig az USA 2. nyugati régiójában. Legyen türelmes, mert az üzembe helyezés eltarthat néhány percig.

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

Végpontok hozzáadása a Traffic Managerhez

  1. A webalkalmazások most virtuális gépeken futnak. Futtassa az alábbi parancsokat a virtuális gépek nyilvános IP-címerőforrásainak végpontként való hozzáadásához a Traffic Manager-profilhoz:

    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
    

    A kód mindkét virtuális gépről beszerzi az erőforrás-azonosítókat. Ezt követően a kód az azonosítókat végpontokként adja hozzá a Traffic Manager-profilhoz. A kód a --priority jelölővel az USA nyugati régiójában futó alkalmazást állítja be a legmagasabb prioritásúként.

  2. Vizsgáljuk meg röviden a konfigurált végpontokat. Futtassa az alábbi parancsot:

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

Az alkalmazás tesztelése

  1. Vizsgáljuk meg, hogyan jelenik meg a DNS-ben a két webalkalmazás és a Traffic Manager-profil. Futtassa az alábbi parancsokat az egyes létrehozott erőforrások IP-címeinek megjelenítéséhez.

  2. Kérje le az USA 2. nyugati webalkalmazásának címét:

    nslookup $(az network public-ip show \
                --resource-group "<rgn>[Sandbox resource group]</rgn>" \
                --name westus2-vm-nic-pip \
                --query dnsSettings.fqdn \
                --output tsv)
    
  3. A Nyugat-Európa webalkalmazás címének lekérése:

    nslookup $(az network public-ip show \
            --resource-group "<rgn>[Sandbox resource group]</rgn>" \
            --name westeurope-vm-nic-pip \
            --query dnsSettings.fqdn \
            --output tsv)
    
  4. Kérje le a Traffic Manager-profil címét:

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

    A Traffic Manager-profil címének egyeznie kell a westus2-vm virtuális géphez rendelt westus2-vm-nic-pip nyilvános IP-címével.

  5. Futtassa a következő parancsot a Traffic Manager-profil teljes tartománynevére (FQDN) való ugráshoz. A kérelem a legmagasabb prioritással válaszoló végpontra lesz irányítva.

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

    A kód megjeleníti a teljes tartománynevet a Cloud Shellben. A teljes tartománynév kiválasztásával nyisson meg egy új böngészőablakot vagy lapot.

  6. Ellenőrizze, hogy az alkalmazás működik-e, és a lap alján látható hely az USA 2. nyugati régiója:

    Screenshot of the running West US web app.

  7. Futtassa a következő parancsot az elsődleges végpont letiltásához:

    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. Vizsgáljuk meg ismét, hogy a DNS mit jelenít meg a webalkalmazások és a Traffic Manager-profil esetében.

  9. Kérje le az USA 2. nyugati webalkalmazásának címét:

    nslookup $(az network public-ip show \
                --resource-group "<rgn>[Sandbox resource group]</rgn>" \
                --name westus2-vm-nic-pip \
                --query dnsSettings.fqdn \
                --output tsv)
    
  10. A Nyugat-Európa webalkalmazás címének lekérése:

    nslookup $(az network public-ip show \
                --resource-group "<rgn>[Sandbox resource group]</rgn>" \
                --name westeurope-vm-nic-pip \
                --query dnsSettings.fqdn \
                --output tsv)
    
  11. Kérje le a Traffic Manager-profil címét:

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

    A Traffic Manager-profil címének most meg kell egyeznie a Nyugat-Európa webalkalmazással.

  12. Tesztelje ismét az alkalmazást a böngészőben a weboldal frissítésével. A Traffic Managernek automatikusan át kell irányítania a forgalmat a nyugat-európai végpontra. A böngészőtől függően több perc is eltelhet, amíg a helyileg gyorsítótárazott cím lejár. Ha a webhelyet privát ablakban nyitja meg, azzal megkerülhető a gyorsítótár, és így azonnal láthatja a változást.

    Screenshot of the running West Europe web app.