Zelfstudie: Leveringsregels toevoegen en aanpassen voor Azure Front Door Standard/Premium (preview) met Azure CLI
Azure Front Door Standard/Premium (preview) is een snel en veilig modern cloud-CDN. Azure Front Door maakt gebruik van het wereldwijde edge-netwerk van Microsoft en kan worden geïntegreerd met intelligente bedreigingsbeveiliging. Azure Front Door Standard richt zich op het leveren van inhoud. Azure Front Door Premium voegt uitgebreide beveiligingsmogelijkheden en aanpassingen toe. Deze zelfstudie is gericht op het maken van een Azure Front Door-profiel en het toevoegen van leveringsregels voor gedetailleerdere controle over het gedrag van uw web-app.
Notitie
Deze documentatie is bedoeld voor Azure Front Door Standard/Premium (preview). Zoekt u informatie over Azure Front Door? Bekijk Azure Front Door Docs.
In deze zelfstudie leert u het volgende:
- Maak een Azure Front Door-profiel.
- Maak twee exemplaren van een web-app.
- Maak een nieuw beveiligingsbeleid.
- Controleer de verbinding met uw web-apps.
- Maak een regelset.
- Maak een regel en voeg deze toe aan de regelset.
- Voeg acties of voorwaarden toe aan uw regels.
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
Vereisten
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
Een Azure Front Door maken
Een brongroep maken
Voor deze quickstart hebt u twee resourcegroepen nodig. Eén in VS - centraal en de tweede in VS - oost.
Voer az group create uit om resourcegroepen te maken.
az group create \
--name myRGFDCentral \
--location centralus
az group create \
--name myRGFDEast \
--location eastus
Een Azure Front Door-profiel maken
Voer az afd profile create uit om een Azure Front Door-profiel te maken.
az afd profile create \
--profile-name contosoafd \
--resource-group myRGFDCentral \
--sku Premium_AzureFrontDoor \
--subscription mysubscription
Twee instanties van een web-app maken
Voor deze zelfstudie hebt u twee exemplaren nodig van een webtoepassing die in verschillende Azure-regio's wordt uitgevoerd. Beide webtoepassingsinstanties worden in de modus Actief/actief uitgevoerd, dus verkeer kan in beide instanties worden uitgevoerd.
Als u nog geen web-app hebt, voert u het volgende script uit om twee voorbeelden van web-apps in te stellen.
App Service-abonnementen maken
Voordat u de web-apps kunt maken, hebt u twee App Service-abonnementen nodig, één in VS - centraal en de tweede in VS - oost.
Voer az appservice plan create uit om uw App Service-plannen te maken.
az appservice plan create \
--name myAppServicePlanCentralUS \
--resource-group myRGFDCentral
az appservice plan create \
--name myAppServicePlanEastUS \
--resource-group myRGFDEast
Web-apps maken
Voer az webapp create uit om een web-app te maken in elk van de App Service-plannen in de vorige stap. Web-app-namen moeten wereldwijd uniek zijn.
Voer az webapp list-runtimes uit om een lijst met ingebouwde stacks voor web-apps weer te geven.
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"
Noteer de standaardhostnaam van elke web-app, zodat u de backend-adressen kunt definiëren wanneer u de Front Door in de volgende stap implementeert.
Een eindpunt toevoegen
Voer az afd endpoint create uit om een eindpunt in uw profiel te maken. U kunt meerdere eindpunten in uw profiel maken nadat u klaar bent met het maken van de ervaring.
az afd endpoint create \
--resource-group myRGFDCentral \
--endpoint-name contoso-frontend \
--profile-name contosoafd \
--origin-response-timeout-seconds 60 \
--enabled-state Enabled
Een oorspronkelijke groep maken
Voer az afd origin-group create uit om een origin-groep te maken die uw twee web-apps bevat.
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
Origins toevoegen aan de groep
Voer az afd origin create uit om een origin toe te voegen aan uw origin-groep.
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
Herhaal deze stap en voeg uw tweede oorsprong toe.
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
Een route toevoegen
Voer az afd route create uit om uw front-endeindpunt toe te wijzen aan de oorspronkelijke groep. Met deze route worden aanvragen doorgestuurd van het eindpunt naar 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
Een nieuw beveiligingsbeleid maken
Een WAF-beleid maken
Voer az network front-door waf-policy create uit om een WAF-beleid te maken voor een van uw resourcegroepen.
Maak een nieuw WAF-beleid voor uw Front Door. In dit voorbeeld wordt een beleid gemaakt dat is ingeschakeld en in de preventiemodus.
az network front-door waf-policy create
--name contosoWAF /
--resource-group myRGFDCentral /
--sku Premium_AzureFrontDoor
--disabled false /
--mode Prevention
Notitie
Als u de modus selecteert Detection
, blokkeert uw WAF geen aanvragen.
Het beveiligingsbeleid maken
Voer az afd security-policy create uit om uw WAF-beleid toe te passen op het standaarddomein van het eindpunt.
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
Azure Front Door verifiëren
Wanneer u het Azure Front Door Standard-/Premium-profiel maakt, duurt het enkele minuten voordat de configuratie wereldwijd is geïmplementeerd. Zodra dit is voltooid, hebt u toegang tot de front-endhost die u hebt gemaakt. Ga in een browser naar contoso-frontend.z01.azurefd.net
. Uw aanvraag wordt automatisch doorgestuurd naar de dichtstbijzijnde server van de opgegeven servers in de oorspronkelijke groep.
Als u een directe globale failover wilt testen, gebruiken we de volgende stappen:
Open een browser (zoals hierboven beschreven) en ga naar het adres van de front-end:
contoso-frontend.azurefd.net
.Zoek en selecteer App Services in Azure Portal. Blader omlaag om een van uw web-apps, WebAppContoso-1 te zoeken in dit voorbeeld.
Selecteer uw web-app en selecteer vervolgens Stoppen en Ja om het te controleren.
Vernieuw de browser. Als het goed is, ziet u dezelfde informatiepagina.
Tip
Deze acties worden met enige vertraging uitgevoerd. Mogelijk moet u de pagina vernieuwen.
Zoek de andere web-app en stop ook deze app.
Vernieuw de browser. Als het goed is, ziet u nu een foutbericht.
Een regelset maken
Maak een regelset om aan te passen hoe HTTP-aanvragen aan de rand worden verwerkt. Leveringsregels die zijn toegevoegd aan de regelset bieden meer controle over het gedrag van uw webtoepassing. Voer az afd rule-set create uit om een regelset te maken in uw Azure Front Door-profiel.
az afd rule-set create \
--profile-name contosoafd \
--resource-group myRGFDCentral \
--rule-set-name contosorules
Een leveringsregel maken en deze toevoegen aan uw regelset
Maak een nieuwe leveringsregel binnen uw regelset. Voer az afd rule create uit om een leveringsregel te maken in uw regelset. In dit voorbeeld maken we een regel voor een http-naar-https-omleiding.
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
Een actie of voorwaarde toevoegen aan uw leveringsregel
Het kan zijn dat u de nieuwe leveringsregel verder moet aanpassen. U kunt indien nodig acties of voorwaarden toevoegen na het maken. Voer az afd rule action add of az afd rule condition add uit om uw regel bij te werken.
Een actie toevoegen
az afd rule action add \
--resource-group myRGFDCentral \
--rule-set-name contosorules \
--profile-name contosoafd \
--rule-name redirect \
--action-name "CacheExpiration" \
--cache-behavior BypassCache
Een voorwaarde toevoegen
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"
Resources opschonen
Als u de resources voor de Front Door niet nodig hebt, verwijdert u beide resourcegroepen. Als u de resourcegroepen verwijdert, worden ook de Front Door en alle bijbehorende resources verwijderd.
Voer az group delete uit:
az group delete \
--name myRGFDCentral
az group delete \
--name myRGFDEast