Ćwiczenie — włączanie automatycznego trybu failover przy użyciu routingu priorytetowego

Ukończone

Załóżmy, że aplikacja do przesyłania strumieniowego muzyki ma równy rozkład użytkowników w zachodnich Stanach Zjednoczonych i Europie Zachodniej. Chciałbyś mieć wersję zapasową aplikacji w jednym regionie.

Przykładowa aplikacja używana w tym ćwiczeniu wyświetla region, w którym jest uruchomiona. Jedno z dwóch wystąpień ma wyższy priorytet i jest podstawowym punktem końcowym. Drugie wystąpienie ma niższy priorytet i jest punktem końcowym trybu failover. Przełączenie podstawowego punktu końcowego w tryb offline automatycznie kieruje cały ruch do punktu końcowego w trybie awaryjnym.

W tym ćwiczeniu skonfigurujesz usługę Traffic Manager tak, aby korzystała z punktu końcowego Stanów Zjednoczonych jako podstawowego, a w przypadku wystąpienia błędów nastąpi przełączenie w tryb failover do europejskiego punktu końcowego.

Tworzenie nowego profilu usługi Traffic Manager

  1. Uruchom następujące polecenie w usłudze Cloud Shell, aby utworzyć nowy profil usługi 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
    

    Używasz tych parametrów w poleceniu:

    • --routing-method Priority: Tworzy profil usługi Traffic Manager przy użyciu metody routingu priorytetowego.
    • --unique-dns-name: Tworzy globalnie unikatową nazwę domeny <unique-dns-name>.trafficmanager.net. Użyjemy funkcji $RANDOM Bash, aby zwrócić losową liczbę całkowitą, aby upewnić się, że nazwa jest unikatowa.

Wdrażanie aplikacji internetowych

  1. Uruchom następujące polecenie, aby wdrożyć szablon usługi Resource Manager. Szablon tworzy dwa serwery, jeden w regionie Europa Zachodnia i jeden w regionie Zachodnie stany USA 2. Bądź cierpliwy, ponieważ wdrożenie może potrwać kilka 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)"
    

Dodawanie punktów końcowych do usługi Traffic Manager

  1. Aplikacje internetowe są teraz uruchomione na maszynach wirtualnych. Uruchom następujące polecenia, aby dodać zasoby publicznego adresu IP maszyn wirtualnych jako punkty końcowe do profilu usługi Traffic Manager:

    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
    

    Kod pobiera identyfikatory zasobów z obu maszyn wirtualnych. Następnie kod używa identyfikatorów, aby dodać je jako punkty końcowe do profilu usługi Traffic Manager. Kod używa flagi --priority, aby ustawić aplikację Zachodnie USA na najwyższy priorytet.

  2. Przyjrzyjmy się skonfigurowanym punktom końcowym. Uruchom następujące polecenie:

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

Testowanie aplikacji

  1. Przyjrzyjmy się informacjom wyświetlanym w systemie DNS dla aplikacji internetowych i profilu usługi Traffic Manager. Uruchom następujące polecenia, aby wyświetlić adresy IP dla każdego utworzonego zasobu.

  2. Pobierz adres aplikacji internetowej Zachodnie stany USA 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. Pobierz adres aplikacji internetowej Europa Zachodnia:

    nslookup $(az network public-ip show \
            --resource-group "<rgn>[Sandbox resource group]</rgn>" \
            --name westeurope-vm-nic-pip \
            --query dnsSettings.fqdn \
            --output tsv)
    
  4. Pobierz adres profilu usługi Traffic Manager:

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

    Adres profilu usługi Traffic Manager powinien być zgodny z adresem IP dla publicznego adresu IP westus2-vm-nic-pip przypisanego do maszyny wirtualnej westus2-vm.

  5. Uruchom następujące polecenie, aby przejść do w pełni kwalifikowanej nazwy domeny (FQDN) profilu usługi Traffic Manager. Żądanie jest kierowane do punktu końcowego, który odpowiada z najwyższym priorytetem.

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

    Kod wypisuje pełną nazwę domeny (FQDN) w Cloud Shell. Wybierz FQDN (pełna nazwa domeny), aby otworzyć nowe okno lub kartę przeglądarki.

  6. Sprawdź, czy aplikacja działa, a lokalizacja wyświetlana w dolnej części strony to Zachodnie stany USA 2:

    Zrzut ekranu przedstawiający uruchomioną aplikację internetową w regionie Zachodnie Stany Zjednoczone.

  7. Aby wyłączyć podstawowy punkt końcowy, uruchom następujące polecenie:

    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. Przyjrzyjmy się ponownie tym, co system DNS pokazuje dla aplikacji internetowych i profilu usługi Traffic Manager.

  9. Pobierz adres aplikacji internetowej Zachodnie stany USA 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. Pobierz adres aplikacji internetowej Europa Zachodnia.:

    nslookup $(az network public-ip show \
                --resource-group "<rgn>[Sandbox resource group]</rgn>" \
                --name westeurope-vm-nic-pip \
                --query dnsSettings.fqdn \
                --output tsv)
    
  11. Pobierz adres profilu usługi Traffic Manager:

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

    Adres profilu usługi Traffic Manager powinien być teraz zgodny z aplikacją internetową Europa Zachodnia.

  12. Przetestuj ponownie aplikację z przeglądarki, odświeżając stronę internetową. Usługa Traffic Manager powinna automatycznie przekierowywać ruch do punktu końcowego Europa Zachodnia. W zależności od przeglądarki wygaśnięcie lokalnego adresu buforowanego może potrwać kilka minut. Otwarcie witryny w oknie prywatnym powinno pominąć pamięć podręczną, aby można było natychmiast zobaczyć zmianę.

    zrzut ekranu przedstawiający uruchomioną aplikację internetową Europa Zachodnia.