Självstudie: Lägga till och anpassa leveransregler för Azure Front Door Standard/Premium (förhandsversion) med Azure CLI
Azure Front Door Standard/Premium (förhandsversion) är ett snabbt och säkert modernt moln-CDN. Azure Front Door använder Microsofts globala gränsnätverk och integreras med intelligent skydd mot hot. Azure Front Door Standard fokuserar på innehållsleverans. Azure Front Door Premium lägger till omfattande säkerhetsfunktioner och anpassning. Den här självstudien fokuserar på att skapa en Azure Front Door-profil och sedan lägga till leveransregler för mer detaljerad kontroll över webbappens beteenden.
Kommentar
Den här dokumentationen gäller Azure Front Door Standard/Premium (förhandsversion). Letar du efter information om Azure Front Door? Visa Azure Front Door Docs.
I den här självstudien får du lära dig att:
- Skapa en Azure Front Door-profil.
- Skapa två instanser av en webbapp.
- Skapa en ny säkerhetsprincip.
- Verifiera anslutningen till dina webbappar.
- Skapa en regeluppsättning.
- Skapa en regel och lägg till den i regeluppsättningen.
- Lägg till åtgärder eller villkor i dina regler.
Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
Skapa en Azure Front Door
Skapa en resursgrupp
För den här snabbstarten behöver du två resursgrupper. En i USA , centrala och den andra i USA, östra.
Kör az group create för att skapa resursgrupper.
az group create \
--name myRGFDCentral \
--location centralus
az group create \
--name myRGFDEast \
--location eastus
Skapa en Azure Front Door-profil
Kör az afd profile create för att skapa en Azure Front Door-profil.
az afd profile create \
--profile-name contosoafd \
--resource-group myRGFDCentral \
--sku Premium_AzureFrontDoor \
--subscription mysubscription
Skapa två instanser av en webbapp
Du behöver två instanser av ett webbprogram som körs i olika Azure-regioner för den här självstudien. Båda webbprograminstanserna körs i aktivt/aktivt läge, så att någon av dem kan betjäna trafik.
Om du inte redan har en webbapp använder du följande skript för att konfigurera två exempelwebbappar.
Skapa apptjänstplaner
Innan du kan skapa webbapparna behöver du två App Service-planer, en i USA , centrala och den andra i USA, östra.
Kör az appservice plan create för att skapa dina App Service-planer.
az appservice plan create \
--name myAppServicePlanCentralUS \
--resource-group myRGFDCentral
az appservice plan create \
--name myAppServicePlanEastUS \
--resource-group myRGFDEast
Skapa webbappar
Kör az webapp create för att skapa en webbapp i var och en av apptjänstplanerna i föregående steg. Webbappnamn måste vara globalt unika.
Kör az webapp list-runtimes för att se en lista över inbyggda staplar för webbappar.
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"
Anteckna standardvärdnamnet för varje webbapp så att du kan definiera serverdelsadresserna när du distribuerar Front Door i nästa steg.
Lägg till en slutpunkt
Kör az afd endpoint create för att skapa en slutpunkt i din profil. Du kan skapa flera slutpunkter i din profil när du har slutfört skapandeupplevelsen.
az afd endpoint create \
--resource-group myRGFDCentral \
--endpoint-name contoso-frontend \
--profile-name contosoafd \
--origin-response-timeout-seconds 60 \
--enabled-state Enabled
Skapa en ursprungsgrupp
Kör az afd origin-group create för att skapa en ursprungsgrupp som innehåller dina två webbappar.
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
Lägga till ursprung i gruppen
Kör az afd origin create för att lägga till ett ursprung i ursprungsgruppen.
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
Upprepa det här steget och lägg till ditt andra ursprung.
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
Lägg till en väg
Kör az afd route create för att mappa klientdelsslutpunkten till ursprungsgruppen. Den här vägen vidarebefordrar begäranden från slutpunkten till 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
Skapa en ny säkerhetsprincip
Skapa en WAF-princip
Kör az network front-door waf-policy create för att skapa en WAF-princip för en av dina resursgrupper.
Skapa en ny WAF-princip för din Front Door. Det här exemplet skapar en princip som är aktiverad och i förebyggande läge.
az network front-door waf-policy create
--name contosoWAF /
--resource-group myRGFDCentral /
--sku Premium_AzureFrontDoor
--disabled false /
--mode Prevention
Kommentar
Om du väljer Detection
läge blockerar inte WAF några begäranden.
Skapa säkerhetsprincipen
Kör az afd security-policy create för att tillämpa din WAF-princip på slutpunktens standarddomän.
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
Verifiera Azure Front Door
När du skapar Azure Front Door Standard/Premium-profilen tar det några minuter innan konfigurationen distribueras globalt. När du är klar kan du komma åt klientdelsvärden som du skapade. I en webbläsare går du till contoso-frontend.z01.azurefd.net
. Din begäran dirigeras automatiskt till närmaste server från de angivna servrarna i ursprungsgruppen.
För att testa omedelbar global redundans använder vi följande steg:
Öppna en webbläsare enligt beskrivningen ovan och gå till klientdelsadressen:
contoso-frontend.azurefd.net
.I Azure Portal söker du efter och väljer Apptjänster. Rulla nedåt för att hitta en av dina webbappar, WebAppContoso-1 i det här exemplet.
Välj din webbapp och välj sedan Stoppa och Ja för att verifiera.
Uppdatera webbläsaren. Du bör se samma informationssida.
Dricks
Det finns lite fördröjning för dessa åtgärder. Du kan behöva uppdatera igen.
Hitta den andra webbappen och stoppa den också.
Uppdatera webbläsaren. Den här gången bör du se ett felmeddelande.
Skapa en regeluppsättning
Skapa en regeluppsättning för att anpassa hur HTTP-begäranden hanteras vid gränsen. Leveransregler som har lagts till i regeluppsättningen ger mer kontroll över webbappens beteenden. Kör az afd rule-set create för att skapa en regeluppsättning i din Azure Front Door-profil.
az afd rule-set create \
--profile-name contosoafd \
--resource-group myRGFDCentral \
--rule-set-name contosorules
Skapa en leveransregel och lägg till den i regeluppsättningen
Skapa en ny leveransregel i regeluppsättningen. Kör az afd rule create för att skapa en leveransregel i regeluppsättningen. I det här exemplet skapar vi en regel för en http till https-omdirigering.
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
Lägga till en åtgärd eller ett villkor i leveransregeln
Du kanske upptäcker att du behöver anpassa din nya leveransregel ytterligare. Du kan lägga till åtgärder eller villkor efter behov när du har skapat. Kör az afd rule action add or az afd rule condition add to update your rule.
Lägga till en åtgärd
az afd rule action add \
--resource-group myRGFDCentral \
--rule-set-name contosorules \
--profile-name contosoafd \
--rule-name redirect \
--action-name "CacheExpiration" \
--cache-behavior BypassCache
Lägga till ett villkor
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"
Rensa resurser
När du inte behöver resurserna för Front Door tar du bort båda resursgrupperna. Om du tar bort resursgrupperna tas även Front Door och alla dess relaterade resurser bort.
Kör az group delete:
az group delete \
--name myRGFDCentral
az group delete \
--name myRGFDEast