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:
Öffnen Sie wie oben beschrieben einen Browser, und navigieren Sie zur Front-End-Adresse:
contoso-frontend.azurefd.net
.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.
Wählen Sie Ihre Web-App und anschließend Beenden und zum Bestätigen Ja aus.
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.
Navigieren Sie zur anderen Web-App, und beenden Sie sie ebenfalls.
Aktualisieren Sie Ihren Browser. Dieses Mal sollte eine Fehlermeldung angezeigt werden.
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