Kurz: Přidání a přizpůsobení pravidel doručení pro Azure Front Door Standard/Premium (Preview) pomocí Azure CLI

Azure Front Door Standard/Premium (Preview) je rychlá a zabezpečená moderní cloudová síť CDN. Azure Front Door používá globální hraniční síť Microsoftu a integruje se s inteligentní ochranou před hrozbami. Azure Front Door Standard se zaměřuje na doručování obsahu. Azure Front Door Premium přidává rozsáhlé možnosti zabezpečení a přizpůsobení. Tento kurz se zaměřuje na vytvoření profilu služby Azure Front Door a následné přidání pravidel doručení pro podrobnější kontrolu nad chováním webové aplikace.

Poznámka:

Tato dokumentace je určená pro Azure Front Door Standard/Premium (Preview). Hledáte informace o službě Azure Front Door? Zobrazení dokumentace ke službě Azure Front Door

V tomto kurzu se naučíte:

  • Vytvořte profil služby Azure Front Door.
  • Vytvořte dvě instance webové aplikace.
  • Vytvořte novou zásadu zabezpečení.
  • Ověřte připojení k webovým aplikacím.
  • Vytvořte sadu pravidel.
  • Vytvořte pravidlo a přidejte ho do sady pravidel.
  • Přidejte do pravidel akce nebo podmínky.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

Předpoklady

Vytvoření služby Azure Front Door

Vytvoření skupiny zdrojů

Pro účely tohoto rychlého startu budete potřebovat dvě skupiny prostředků. Jeden v OBLASTI USA – střed a druhý v oblasti USAvýchod.

Spuštěním příkazu az group create vytvořte skupiny prostředků.

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

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

Vytvoření profilu služby Azure Front Door

Spuštěním příkazu az afd profile create vytvořte profil služby Azure Front Door.

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

Vytvoření dvou instancí webové aplikace

Pro účely tohoto kurzu potřebujete dvě instance webové aplikace, které běží v různých oblastech Azure. Obě instance webové aplikace běží v režimu Aktivní/Aktivní, takže provoz může obsluhovat každý z nich.

Pokud ještě webovou aplikaci nemáte, nastavte pomocí následujícího skriptu dvě ukázkové webové aplikace.

Vytvoření plánů služby App Service

Než budete moct vytvořit webové aplikace, budete potřebovat dva plány služby App Service, jeden v oblasti USA – střed a druhý v oblasti USAvýchod.

Spuštěním příkazu az appservice plan create vytvořte plány služby App Service.

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

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

Vytváření webových aplikací

Spuštěním příkazu az webapp create vytvořte webovou aplikaci v každém z plánů služby App Service v předchozím kroku. Názvy webových aplikací musí být globálně jedinečné.

Spuštěním příkazu az webapp list-runtimes zobrazte seznam předdefinovaných zásobníků pro webové aplikace.

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"

Poznamenejte si výchozí název hostitele každé webové aplikace, abyste mohli definovat back-endové adresy při nasazení služby Front Door v dalším kroku.

Přidání koncového bodu

Spuštěním příkazu az afd endpoint create vytvořte koncový bod ve vašem profilu. Po dokončení vytváření prostředí pro vytváření můžete ve svém profilu vytvořit více koncových bodů.

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

Vytvoření skupiny původu

Spuštěním příkazu az afd origin-group create vytvořte skupinu původu, která obsahuje vaše dvě webové aplikace.

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

Přidání zdrojů do skupiny

Spuštěním příkazu az afd origin create přidejte zdroj do skupiny původu.

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

Opakujte tento krok a přidejte druhý zdroj.

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

Přidat trasu

Spuštěním příkazu az afd route create namapujte koncový bod front-endu na skupinu původu. Tato trasa předává požadavky z koncového bodu na 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

Vytvoření nové zásady zabezpečení

Vytvoření zásad WAF

Spuštěním příkazu az network front-door waf-policy create vytvořte zásadu WAF pro jednu z vašich skupin prostředků.

Vytvořte novou zásadu WAF pro službu Front Door. Tento příklad vytvoří zásadu, která je povolená a v režimu prevence.

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

Poznámka:

Pokud vyberete Detection režim, waf neblokuje žádné požadavky.

Vytvoření zásad zabezpečení

Spuštěním příkazu az afd security-policy create použijte zásadu WAF na výchozí doménu koncového bodu.

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

Ověření služby Azure Front Door

Při vytváření profilu Azure Front Door Standard/Premium trvá několik minut, než se konfigurace nasadí globálně. Po dokončení můžete přistupovat k hostiteli front-endu, který jste vytvořili. V prohlížeči přejděte na contoso-frontend.z01.azurefd.net. Vaše žádost se automaticky přesměruje na nejbližší server ze zadaných serverů ve skupině původu.

K otestování okamžitého globálního převzetí služeb při selhání použijeme následující kroky:

  1. Otevřete prohlížeč, jak je popsáno výše, a přejděte na front-endovou adresu: contoso-frontend.azurefd.net.

  2. Na webu Azure Portal vyhledejte a vyberte App Services. Posuňte se dolů a v tomto příkladu vyhledejte některou z vašich webových aplikací WebAppContoso-1 .

  3. Vyberte webovou aplikaci a pak vyberte Zastavit a Ano , abyste ji ověřili.

  4. Aktualizujte si stránku v prohlížeči. Měla by se zobrazit stejná informační stránka.

    Tip

    U těchto akcí je trochu zpoždění. Možná budete muset provést aktualizaci znovu.

  5. Najděte druhou webovou aplikaci a zastavte ji také.

  6. Aktualizujte si stránku v prohlížeči. Tentokrát by se měla zobrazit chybová zpráva.

    Both instances of the web app stopped

Vytvoření sady pravidel

Vytvořte sadu pravidel pro přizpůsobení způsobu zpracování požadavků HTTP na hraničních zařízeních. Pravidla doručení přidaná do sady pravidel poskytují větší kontrolu nad chováním vaší webové aplikace. Spuštěním příkazu az afd rule-set create vytvořte sadu pravidel v profilu služby Azure Front Door.

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

Vytvoření pravidla doručení a jeho přidání do sady pravidel

Vytvořte nové pravidlo doručování v rámci sady pravidel. Spuštěním příkazu az afd rule create vytvořte ve vaší sadě pravidel pravidlo doručení. V tomto příkladu vytvoříme pravidlo pro přesměrování http na https.

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

Přidání akce nebo podmínky do pravidla doručení

Možná zjistíte, že budete muset nové pravidlo doručení dále přizpůsobit. Po vytvoření můžete přidat akce nebo podmínky podle potřeby. Spuštěním příkazu az afd rule action add nebo az afd rule condition add aktualizujte pravidlo.

Přidání akce

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

Přidání podmínky

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"

Vyčištění prostředků

Pokud prostředky pro službu Front Door nepotřebujete, odstraňte obě skupiny prostředků. Odstraněním skupin prostředků odstraníte také Front Door a všechny související prostředky.

Spusťte příkaz az group delete:

az group delete \
    --name myRGFDCentral

az group delete \
    --name myRGFDEast