Samouczek: dodawanie i dostosowywanie reguł dostarczania dla usługi Azure Front Door Standard/Premium (wersja zapoznawcza) przy użyciu interfejsu wiersza polecenia platformy Azure

Usługa Azure Front Door Standard/Premium (wersja zapoznawcza) to szybka i bezpieczna nowoczesna usługa CDN w chmurze. Usługa Azure Front Door korzysta z globalnej sieci brzegowej firmy Microsoft i integruje się z inteligentną ochroną przed zagrożeniami. Usługa Azure Front Door Standard koncentruje się na dostarczau zawartości. Usługa Azure Front Door Premium dodaje rozbudowane funkcje zabezpieczeń i dostosowywanie. Ten samouczek koncentruje się na tworzeniu profilu usługi Azure Front Door, a następnie dodawaniu reguł dostarczania w celu uzyskania bardziej szczegółowej kontroli nad zachowaniami aplikacji internetowej.

Uwaga

Ta dokumentacja dotyczy usługi Azure Front Door Standard/Premium (wersja zapoznawcza). Szukasz informacji na temat usługi Azure Front Door? Wyświetl dokumenty usługi Azure Front Door.

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Utwórz profil usługi Azure Front Door.
  • Utwórz dwa wystąpienia aplikacji internetowej.
  • Utwórz nowe zasady zabezpieczeń.
  • Weryfikowanie łączności z aplikacjami internetowymi.
  • Utwórz zestaw reguł.
  • Utwórz regułę i dodaj ją do zestawu reguł.
  • Dodaj akcje lub warunki do reguł.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

Wymagania wstępne

Tworzenie usługi Azure Front Door

Tworzenie grupy zasobów

W tym przewodniku Szybki start potrzebne są dwie grupy zasobów. Jeden w regionie Środkowe stany USA i drugi w regionie Wschodnie stany USA.

Uruchom polecenie az group create , aby utworzyć grupy zasobów.

az group create \
    --name myRGFDCentral \
    --location centralus

az group create \
    --name myRGFDEast \
    --location eastus

Tworzenie profilu usługi Azure Front Door

Uruchom polecenie az afd profile create , aby utworzyć profil usługi Azure Front Door.

az afd profile create \
    --profile-name contosoafd \
    --resource-group myRGFDCentral \
    --sku Premium_AzureFrontDoor \
    --subscription mysubscription

Tworzenie dwóch wystąpień aplikacji internetowej

Na potrzeby tego samouczka potrzebne są dwa wystąpienia aplikacji internetowej, które działają w różnych regionach świadczenia usługi Azure. Oba wystąpienia aplikacji internetowej działają w trybie aktywny/aktywny, więc każdy z nich może obsługiwać ruch.

Jeśli nie masz jeszcze aplikacji internetowej, użyj następującego skryptu, aby skonfigurować dwie przykładowe aplikacje internetowe.

Tworzenie planów usługi App Service

Przed utworzeniem aplikacji internetowych potrzebne będą dwa plany usługi App Service: jeden w regionie Środkowe stany USA i drugi w regionie Wschodnie stany USA.

Uruchom polecenie az appservice plan create , aby utworzyć plany usługi App Service.

az appservice plan create \
    --name myAppServicePlanCentralUS \
    --resource-group myRGFDCentral

az appservice plan create \
    --name myAppServicePlanEastUS \
    --resource-group myRGFDEast

Tworzenie aplikacji internetowych

Uruchom polecenie az webapp create , aby utworzyć aplikację internetową w każdym z planów usługi App Service w poprzednim kroku. Nazwy aplikacji internetowych muszą być globalnie unikatowe.

Uruchom polecenie az webapp list-runtimes , aby wyświetlić listę wbudowanych stosów dla aplikacji internetowych.

az webapp create \
    --name WebAppContoso-001 \
    --resource-group myRGFDCentral \
    --plan myAppServicePlanCentralUS \
    --runtime "DOTNETCORE|2.1"

az webapp create \
    --name WebAppContoso-002 \
    --resource-group myRGFDEast \
    --plan myAppServicePlanEastUS \
    --runtime "DOTNETCORE|2.1"

Zanotuj domyślną nazwę hosta każdej aplikacji internetowej, aby można było zdefiniować adresy zaplecza podczas wdrażania usługi Front Door w następnym kroku.

Dodawanie punktu końcowego

Uruchom polecenie az afd endpoint create , aby utworzyć punkt końcowy w profilu. Po zakończeniu tworzenia możesz utworzyć wiele punktów końcowych w swoim profilu.

az afd endpoint create \
    --resource-group myRGFDCentral \
    --endpoint-name contoso-frontend \
    --profile-name contosoafd \
    --origin-response-timeout-seconds 60 \
    --enabled-state Enabled

Tworzenie grupy pochodzenia

Uruchom polecenie az afd origin-group create , aby utworzyć grupę pochodzenia zawierającą dwie aplikacje internetowe.

az afd origin-group create \
    --resource-group myRGFDCentral \
    --origin-group-name og1 \
    --profile-name contosoafd \
    --probe-request-type GET \
    --probe-protocol Http \
    --probe-interval-in-seconds 120 \
    --probe-path /test1/azure.txt \
    --sample-size 4 \
    --successful-samples-required 3 \
    --additional-latency-in-milliseconds 50

Dodawanie źródeł do grupy

Uruchom polecenie az afd origin create , aby dodać źródło do grupy pochodzenia.

az afd origin create \
    --resource-group myRGFDCentral \
    --host-name webappcontoso-1.azurewebsites.net
    --profile-name contosoafd \
    --origin-group-name og1 \
    --origin-name contoso1 \
    --origin-host-header webappcontoso-1.azurewebsites.net \
    --priority 1 \
    --weight 1000 \
    --enabled-state Enabled \
    --http-port 80 \
    --https-port 443

Powtórz ten krok i dodaj drugie źródło.

az afd origin create \
    --resource-group myRGFDCentral \
    --host-name webappcontoso-2.azurewebsites.net
    --profile-name contosoafd \
    --origin-group-name og1 \
    --origin-name contoso2 \
    --origin-host-header webappcontoso-2.azurewebsites.net \
    --priority 1 \
    --weight 1000 \
    --enabled-state Enabled \
    --http-port 80 \
    --https-port 443

Dodawanie trasy

Uruchom polecenie az afd route create , aby zamapować punkt końcowy frontonu na grupę pochodzenia. Ta trasa przekazuje żądania z punktu końcowego do og1.

az afd route create \
    --resource-group myRGFDCentral \
    --endpoint-name contoso-frontend \
    --profile-name contosoafd \
    --route-name route1 \
    --https-redirect Enabled \
    --origin-group og1 \
    --supported-protocols Https \
    --link-to-default-domain Enabled \
    --forwarding-protocol MatchRequest

Tworzenie nowych zasad zabezpieczeń

Tworzenie zasad zapory aplikacji internetowej

Uruchom polecenie az network front-door waf-policy create , aby utworzyć zasady zapory aplikacji internetowej dla jednej z grup zasobów.

Utwórz nowe zasady zapory aplikacji internetowej dla usługi Front Door. W tym przykładzie są tworzone zasady, które są włączone i w trybie zapobiegania.

az network front-door waf-policy create
    --name contosoWAF /
    --resource-group myRGFDCentral /
    --sku Premium_AzureFrontDoor
    --disabled false /
    --mode Prevention

Uwaga

W przypadku wybrania Detection trybu zapora aplikacji internetowej nie blokuje żadnych żądań.

Tworzenie zasad zabezpieczeń

Uruchom polecenie az afd security-policy create , aby zastosować zasady zapory aplikacji internetowej do domyślnej domeny punktu końcowego.

az afd security-policy create \
    --resource-group myRGFDCentral \
    --profile-name contosoafd \
    --security-policy-name contososecurity \
    --domains /subscriptions/mysubscription/resourcegroups/myRGFDCentral/providers/Microsoft.Cdn/profiles/contosoafd/afdEndpoints/contoso-frontend.z01.azurefd.net \
    --waf-policy /subscriptions/mysubscription/resourcegroups/myRGFDCentral/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/contosoWAF

Weryfikowanie usługi Azure Front Door

Utworzenie profilu usługi Azure Front Door Standard/Premium potrwa kilka minut, aby konfiguracja została wdrożona globalnie. Po zakończeniu możesz uzyskać dostęp do utworzonego hosta frontonu. W przeglądarce przejdź do strony contoso-frontend.z01.azurefd.net. Żądanie zostanie automatycznie przekierowane do najbliższego serwera z określonych serwerów w grupie pochodzenia.

Aby przetestować natychmiastowe globalne przejście w tryb failover, wykonaj następujące kroki:

  1. Otwórz przeglądarkę zgodnie z powyższym opisem i przejdź do adresu frontonu: contoso-frontend.azurefd.net.

  2. W witrynie Azure Portal wyszukaj i wybierz pozycję App Services. Przewiń w dół, aby znaleźć jedną z aplikacji internetowych WebAppContoso-1 w tym przykładzie.

  3. Wybierz aplikację internetową, a następnie wybierz pozycję Zatrzymaj i Tak , aby zweryfikować.

  4. Odśwież przeglądarkę. Powinna zostać wyświetlona ta sama strona informacji.

    Napiwek

    Istnieje trochę opóźnienia dla tych akcji. Może być konieczne ponowne odświeżenie.

  5. Znajdź inną aplikację internetową i zatrzymaj ją również.

  6. Odśwież przeglądarkę. Tym razem powinien zostać wyświetlony komunikat o błędzie.

    Both instances of the web app stopped

Tworzenie zestawu reguł

Utwórz zestaw reguł, aby dostosować sposób obsługi żądań HTTP na urządzeniach brzegowych. Reguły dostarczania dodane do zestawu reguł zapewniają większą kontrolę nad zachowaniami aplikacji internetowej. Uruchom polecenie az afd rule-set create , aby utworzyć zestaw reguł w profilu usługi Azure Front Door.

az afd rule-set create \
    --profile-name contosoafd \
    --resource-group myRGFDCentral \
    --rule-set-name contosorules

Tworzenie reguły dostarczania i dodawanie jej do zestawu reguł

Utwórz nową regułę dostarczania w zestawie reguł. Uruchom polecenie az afd rule create , aby utworzyć regułę dostarczania w zestawie reguł. W tym przykładzie utworzymy regułę dla przekierowania http do https.

az afd rule create \
    --resource-group myRGFDCentral \
    --rule-set-name contosorules \
    --profile-name contosoafd \
    --order 1 \
    --match-variable RequestScheme \
    --operator Equal \
    --match-values HTTP \
    --rule-name "redirect" \
    --action-name "UrlRedirect" \
    --redirect-protocol Https \
    --redirect-type Moved

Dodawanie akcji lub warunku do reguły dostarczania

Może się okazać, że musisz jeszcze bardziej dostosować nową regułę dostarczania. Akcje lub warunki można dodawać zgodnie z potrzebami po utworzeniu. Uruchom polecenie az afd rule action add lub az afd rule condition add , aby zaktualizować regułę.

Dodawanie akcji

az afd rule action add \
    --resource-group myRGFDCentral \
    --rule-set-name contosorules \
    --profile-name contosoafd \
    --rule-name redirect \
    --action-name "CacheExpiration" \
    --cache-behavior BypassCache

Dodawanie warunku

az afd rule condition add \
    --resource-group myRGFDCentral \
    --rule-set-name contosorules \
    --profile-name contosoafd \
    --rule-name redirect \
    --match-variable RemoteAddress \
    --operator GeoMatch \
    --match-values "TH"

Czyszczenie zasobów

Jeśli nie potrzebujesz zasobów usługi Front Door, usuń obie grupy zasobów. Usunięcie grup zasobów powoduje również usunięcie usługi Front Door i wszystkich powiązanych z nią zasobów.

Uruchom polecenie az group delete:

az group delete \
    --name myRGFDCentral

az group delete \
    --name myRGFDEast