Dela via


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

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:

  1. Öppna en webbläsare enligt beskrivningen ovan och gå till klientdelsadressen: contoso-frontend.azurefd.net.

  2. I Azure-portalen 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.

  3. Välj din webbapp och välj sedan Stoppa och Ja för att verifiera.

  4. 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.

  5. Hitta den andra webbappen och stoppa den också.

  6. Uppdatera webbläsaren. Den här gången bör du se ett felmeddelande.

    Both instances of the web app stopped

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