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.
Požadavky
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
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 USA – vý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 USA – vý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:
Otevřete prohlížeč, jak je popsáno výše, a přejděte na front-endovou adresu:
contoso-frontend.azurefd.net
.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 .
Vyberte webovou aplikaci a pak vyberte Zastavit a Ano , abyste ji ověřili.
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.
Najděte druhou webovou aplikaci a zastavte ji také.
Aktualizujte si stránku v prohlížeči. Tentokrát by se měla zobrazit chybová zpráva.
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