Freigeben über


Tutorial: Hinzufügen und Anpassen von Bereitstellungsregeln für Azure Front Door Standard/Premium (Vorschauversion) mit Azure CLI

Azure Front Door Standard/Premium (Vorschauversion) ist ein schnelles und sicheres CDN in der modernen Cloud. Azure Front Door verwendet das globale Edgenetzwerk von Microsoft und lässt sich in intelligenten Bedrohungsschutz integrieren. Azure Front Door Standard wird für die Bereitstellung von Inhalten verwendet. Azure Front Door Premium bietet darüber hinaus umfassende Sicherheitsfunktionen und Anpassungsmöglichkeiten. In diesem Tutorial wird zunächst ein Azure Front Door-Profil erstellt. Anschließend werden Bereitstellungsregeln für eine präzisere Steuerung des Verhaltens einer Web-App hinzugefügt.

Hinweis

Diese Dokumentation ist für Azure Front Door Standard/Premium (Vorschau) gedacht. Suchen Sie nach Informationen zu Azure Front Door? Lesen Sie die Azure Front Door-Dokumente.

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen eines Azure Front Door-Profils
  • Erstellen von zwei Instanzen einer Web-App
  • Erstellen einer neuen Sicherheitsrichtlinie
  • Überprüfen der Konnektivität mit Web-Apps
  • Erstellen eines Regelsatzes
  • Erstellen einer Regel und Hinzufügen der Regel zum Regelsatz
  • Hinzufügen von Aktionen oder Bedingungen zu Regeln

Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein kostenloses Azure-Konto, bevor Sie beginnen.

Voraussetzungen

  • Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.

  • Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.

    • Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.

    • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.

    • Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.

Erstellen einer Azure Front Door-Instanz

Erstellen einer Ressourcengruppe

Für diesen Schnellstart benötigen Sie zwei Ressourcengruppen. Eine muss sich in USA, Mitte und die andere in USA, Osten befinden.

Führen Sie zum Erstellen einer Ressourcengruppe az group create aus.

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

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

Erstellen eines Azure Front Door-Profils

Führen Sie az afd profile create aus, um ein Azure Front Door-Profil zu erstellen.

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

Erstellen von zwei Instanzen einer Web-App

Für dieses Tutorial benötigen Sie zwei Instanzen einer Webanwendung, die in verschiedenen Azure-Regionen ausgeführt werden. Beide Webanwendungsinstanzen werden im Aktiv/Aktiv-Modus ausgeführt, sodass jede von ihnen Datenverkehr verarbeiten kann.

Wenn Sie noch nicht über eine Web-App verfügen, verwenden Sie das folgende Skript, um zwei Beispiel-Web-Apps einzurichten.

Erstellen von App Service-Plänen

Bevor Sie die Web-Apps erstellen können, benötigen Sie zwei App Service-Pläne: einen in USA, Mitte und den zweiten in USA, Osten.

Führen Sie zum Erstellen Ihrer App Service-Pläne az appservice plan create aus.

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

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

Erstellen von Web-Apps

Führen Sie az webapp create aus, um eine Web-App in jedem der im vorherigen Schritt erstellten App Service-Pläne zu erstellen. Web-App-Namen müssen global eindeutig sein.

Führen Sie az webapp list-runtimes aus, um eine Liste der integrierten Stapel für Web-Apps anzuzeigen.

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"

Notieren Sie sich den Standardhostnamen jeder Web-App, damit Sie die Back-End-Adressen definieren können, wenn Sie Front Door-Instanz im nächsten Schritt bereitstellen.

Hinzufügen eines Endpunkts

Führen Sie zum Erstellen eines Endpunkts in Ihrem Profil az afd endpoint create aus. Sie können mehrere Endpunkte in Ihrem Profil erstellen, nachdem Sie die Erstellung abgeschlossen haben.

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

Erstellen einer Ursprungsgruppe

Führen Sie az afd origin-group create aus, um eine Ursprungsgruppe zu erstellen, die Ihre beiden Web-Apps enthält.

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

Hinzufügen von Ursprüngen zur Gruppe

Führen Sie az afd origin create aus, um Ihrer Ursprungsgruppe einen Ursprung hinzuzufügen.

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

Wiederholen Sie diesen Schritt, und fügen Sie Ihren zweiten Ursprung hinzu.

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

Hinzufügen einer Route

Führen Sie az afd route create aus, um der Ursprungsgruppe Ihren Front-End-Endpunkt zuzuordnen. Diese Route gibt Anforderungen vom Endpunkt an og1 weiter.

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

Erstellen einer neuen Sicherheitsrichtlinie

Erstellen einer WAF-Richtlinie

Führen Sie az network front-door waf-policy create aus, um eine WAF-Richtlinie für eine Ihrer Ressourcengruppen zu erstellen.

Erstellen Sie eine neue WAF-Richtlinie für Ihre Front Door-Instanz. In diesem Beispiel wird eine Richtlinie erstellt, die aktiviert ist und sich im Schutzmodus befindet.

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

Hinweis

Wenn Sie den Detection-Modus auswählen, blockiert Ihre WAF keine Anforderungen.

Erstellen der Sicherheitsrichtlinie

Führen Sie az afd security-policy create aus, um Ihre WAF-Richtlinie auf die Standarddomäne des Endpunkts anzuwenden.

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

Überprüfen von Azure Front Door

Nachdem Sie ein Azure Front Door Standard/Premium-Profil erstellt haben, dauert es einige Minuten, bis die Konfiguration global bereitgestellt ist. Nach Abschluss des Vorgangs können Sie auf den von Ihnen erstellten Front-End-Host zugreifen. Navigieren Sie in einem Browser zu contoso-frontend.z01.azurefd.net. Ihre Anforderung wird automatisch an den nächstgelegenen Server aus den angegebenen Servern in der Ursprungsgruppe weitergeleitet.

Führen Sie die folgenden Schritte aus, um das sofortige globale Failover zu testen:

  1. Öffnen Sie wie oben beschrieben einen Browser, und navigieren Sie zur Front-End-Adresse: contoso-frontend.azurefd.net.

  2. Suchen Sie im Azure-Portal nach App Services, und wählen Sie den Eintrag aus. Scrollen Sie nach unten zu einer Ihrer Web-Apps. In diesem Beispiel wird WebAppContoso-1 verwendet.

  3. Wählen Sie Ihre Web-App und anschließend Beenden und zum Bestätigen Ja aus.

  4. Aktualisieren Sie Ihren Browser. Die gleiche Seite mit Informationen sollte angezeigt werden.

    Tipp

    Bei diesen Aktionen tritt eine kleine Verzögerung auf. Möglicherweise müssen Sie den Browser erneut aktualisieren.

  5. Navigieren Sie zur anderen Web-App, und beenden Sie sie ebenfalls.

  6. Aktualisieren Sie Ihren Browser. Dieses Mal sollte eine Fehlermeldung angezeigt werden.

    Beide Instanzen der Web-App beendet

Erstellen eines Regelsatzes

Erstellen Sie einen Regelsatz, um die Verarbeitung von HTTP-Anforderungen am Edge anzupassen. Bereitstellungsregeln, die dem Regelsatz hinzugefügt werden, ermöglichen eine bessere Kontrolle des Verhaltens einer Webanwendung. Führen Sie az afd rule-set create aus, um im Azure Front Door-Profil einen Regelsatz zu erstellen.

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

Erstellen einer Bereitstellungsregel und Hinzufügen zum Regelsatz

Erstellen Sie im Regelsatz eine neue Bereitstellungsregel. Führen Sie az afd rule create aus, um im Regelsatz eine Bereitstellungsregel zu erstellen. In diesem Beispiel wird eine Regel für eine Umleitung von HTTP zu HTTPS erstellt.

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

Hinzufügen einer Aktion oder Bedingung zu einer Bereitstellungsregel

Möglicherweise müssen Sie Ihre neue Bereitstellungsregel weiter anpassen. Nach dem Erstellen können Sie bei Bedarf Aktionen oder Bedingungen hinzufügen. Führen Sie az afd rule action add oder az afd rule condition add aus, um eine Regel zu aktualisieren.

Hinzufügen einer Aktion

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

Bedingung hinzufügen

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"

Bereinigen von Ressourcen

Wenn Sie die Ressourcen für die Front Door-Instanz nicht benötigen, löschen Sie beide Ressourcengruppen. Beim Löschen der Ressourcengruppen werden auch die Front Door-Instanz und alle zugehörigen Ressourcen gelöscht.

Führen Sie az group delete aus:

az group delete \
    --name myRGFDCentral

az group delete \
    --name myRGFDEast