Avvio rapido: Creare una frontdoor di Azure Standard/Premium - Interfaccia della riga di comando di Azure
Questo argomento di avvio rapido illustra come creare un profilo Frontdoor di Azure Standard/Premium usando l'interfaccia della riga di comando di Azure. Questo profilo viene creato usando due App Web come origine e si aggiungono criteri di sicurezza WAF. È quindi possibile verificare la connettività al App Web usando il nome host dell'endpoint di Frontdoor di Azure.
Nota
Per i carichi di lavoro Web, è consigliabile usare la protezione DDoS di Azure e un web application firewall per proteggersi dagli attacchi DDoS emergenti. Un'altra opzione consiste nell'usare Frontdoor di Azure insieme a un web application firewall. Frontdoor di Azure offre protezione a livello di piattaforma dagli attacchi DDoS a livello di rete. Per altre informazioni, vedere Baseline di sicurezza per i servizi di Azure.
Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
Prerequisiti
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido per Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere con l'interfaccia della riga di comando di Azure.
Quando richiesto, installare l'estensione dell'interfaccia della riga di comando di Azure al primo uso. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
Creare un gruppo di risorse
In Azure, si allocano le risorse correlate a un gruppo di risorse. È possibile usare un gruppo di risorse esistente o crearne uno nuovo.
Eseguire az group create per creare gruppi di risorse.
az group create --name myRGFD --location centralus
Creare un profilo frontdoor di Azure
In questo passaggio viene creato il profilo frontdoor di Azure usato dai due servizi app come origine.
Eseguire az afd profile create per creare un profilo frontdoor di Azure.
Nota
Se si vuole distribuire Frontdoor di Azure Standard anziché Premium sostituire il valore del parametro sku con Standard_AzureFrontDoor. Non sarà possibile distribuire le regole gestite con i criteri WAF, se si sceglie SKU Standard. Per un confronto dettagliato, visualizzare il confronto tra i livelli di Frontdoor di Azure.
az afd profile create \
--profile-name contosoafd \
--resource-group myRGFD \
--sku Premium_AzureFrontDoor
Creare due istanze di un'app Web
In questo passaggio vengono create due istanze di app Web eseguite in aree di Azure diverse per questa esercitazione. Entrambe le istanze dell'applicazione Web vengono eseguite in modalità attiva/attiva, in modo che entrambe possano gestire il traffico. Questa configurazione è diversa da una configurazione attiva/standby, in cui un'istanza agisce da failover.
Creare piani di servizio app
Prima di poter creare le app Web sono necessari due piani di servizio app, uno negli Stati Uniti centrali e il secondo negli Stati Uniti orientali.
Eseguire az appservice plan create per creare i piani di servizio app.
az appservice plan create \
--name myAppServicePlanCentralUS \
--resource-group myRGFD \
--location centralus
az appservice plan create \
--name myAppServicePlanEastUS \
--resource-group myRGFD \
--location eastus
Creare app Web
Dopo aver creato i piani di servizio app, eseguire az webapp create per creare un'app Web in ognuno dei piani di servizio app nel passaggio precedente. I nomi delle app Web devono essere univoci a livello globale.
az webapp create \
--name WebAppContoso-01 \
--resource-group myRGFD \
--plan myAppServicePlanCentralUS
az webapp create \
--name WebAppContoso-02 \
--resource-group myRGFD \
--plan myAppServicePlanEastUS
Prendere nota del nome host predefinito di ogni app Web, in modo da poter definire gli indirizzi back-end quando si distribuirà l'istanza di Frontdoor nel passaggio successivo.
Creare un servizio Frontdoor di Azure
Creare un profilo Frontdoor
Eseguire az afd profile create per creare un profilo frontdoor di Azure.
Nota
Se si vuole distribuire un'istanza di Frontdoor di Azure Standard anziché Premium sostituire il valore per il parametro sku con Standard_AzureFrontDoor
. Non sarà possibile distribuire le regole gestite con i criteri WAF, se si sceglie SKU Standard. Per un confronto dettagliato, visualizzare il confronto tra i livelli di Frontdoor di Azure.
az afd profile create \
--profile-name contosoafd \
--resource-group myRGFD \
--sku Premium_AzureFrontDoor
Aggiungi un endpoint
In questo passaggio si crea un endpoint nel profilo di Frontdoor. In Frontdoor Standard/Premium, un endpoint è un raggruppamento logico di una o più route associate ai nomi di dominio. A ogni endpoint viene assegnato un nome di dominio da Frontdoor ed è possibile associare gli endpoint ai domini personalizzati usando le route. I profili frontdoor possono anche contenere più endpoint.
Eseguire az afd endpoint create per creare un endpoint nel profilo.
az afd endpoint create \
--resource-group myRGFD \
--endpoint-name contosofrontend \
--profile-name contosoafd \
--enabled-state Enabled
Per altre informazioni sugli endpoint in Frontdoor, vedere Endpoint in Frontdoor di Azure.
Creare un gruppo di origine
Creare un gruppo di origine che definisce il traffico e le risposte previste per le istanze dell'app. I gruppi di origine definiscono anche il modo in cui le origini vengono valutate dai probe di integrità, che è possibile definire in questo passaggio.
Eseguire az afd origin-group create per creare un gruppo di origine contenente le due app Web.
az afd origin-group create \
--resource-group myRGFD \
--origin-group-name og \
--profile-name contosoafd \
--probe-request-type GET \
--probe-protocol Http \
--probe-interval-in-seconds 60 \
--probe-path / \
--sample-size 4 \
--successful-samples-required 3 \
--additional-latency-in-milliseconds 50
Aggiungere un'origine al gruppo
Aggiungere entrambe le istanze dell'app create in precedenza come origini al nuovo gruppo di origine. Le origini in Frontdoor fanno riferimento alle applicazioni che Frontdoor recupera il contenuto da quando la memorizzazione nella cache non è abilitata o quando una cache non viene rilevata.
Eseguire az afd origin create per aggiungere la prima istanza dell'app come origine al gruppo di origine.
az afd origin create \
--resource-group myRGFD \
--host-name webappcontoso-01.azurewebsites.net \
--profile-name contosoafd \
--origin-group-name og \
--origin-name contoso1 \
--origin-host-header webappcontoso-01.azurewebsites.net \
--priority 1 \
--weight 1000 \
--enabled-state Enabled \
--http-port 80 \
--https-port 443
Ripetere questo passaggio e aggiungere le seconde istanze dell'app come origine al gruppo di origine.
az afd origin create \
--resource-group myRGFD \
--host-name webappcontoso-02.azurewebsites.net \
--profile-name contosoafd \
--origin-group-name og \
--origin-name contoso2 \
--origin-host-header webappcontoso-02.azurewebsites.net \
--priority 1 \
--weight 1000 \
--enabled-state Enabled \
--http-port 80 \
--https-port 443
Per altre informazioni su origini, gruppi di origine e probe di integrità, vedere Origini e gruppi di origine in Frontdoor di Azure
Aggiungere una route
Aggiungere una route per eseguire il mapping dell'endpoint creato in precedenza al gruppo di origine. Questa route inoltra le richieste dall'endpoint al gruppo di origine.
Eseguire az afd route create per eseguire il mapping dell'endpoint al gruppo di origine.
az afd route create \
--resource-group myRGFD \
--profile-name contosoafd \
--endpoint-name contosofrontend \
--forwarding-protocol MatchRequest \
--route-name route \
--https-redirect Enabled \
--origin-group og \
--supported-protocols Http Https \
--link-to-default-domain Enabled
Per altre informazioni sulle route in Frontdoor di Azure, vedere Metodi di routing del traffico all'origine.
Creare un nuovo criterio di sicurezza
Web application firewall (WAF) di Azure in Frontdoor offre una protezione centralizzata per le applicazioni Web, difendendole da exploit e vulnerabilità comuni.
In questa esercitazione viene creato un criterio WAF che aggiunge due regole gestite. È anche possibile creare criteri WAF con regole personalizzate
Creare un criterio WAF
Eseguire az network front-door waf-policy create per creare un nuovo criterio WAF per Frontdoor. In questo esempio viene creato un criterio abilitato e in modalità di prevenzione.
Nota
Le regole gestite funzioneranno solo con il livello Premium di Frontdoor. È possibile scegliere il livello Standard per usare regole personalizzate onlu.
az network front-door waf-policy create \
--name contosoWAF \
--resource-group myRGFD \
--sku Premium_AzureFrontDoor \
--disabled false \
--mode Prevention
Nota
Se si seleziona Detection
la modalità, waf non blocca le richieste.
Per altre informazioni sulle impostazioni dei criteri WAF per Frontdoor, vedere Impostazioni dei criteri per Web Application Firewall in Frontdoor di Azure.
Assegnare regole gestite ai criteri WAF
I set di regole gestite da Azure offrono un modo semplice per proteggere l'applicazione da minacce di sicurezza comuni.
Eseguire az network front-door waf-policy managed-rules per aggiungere regole gestite ai criteri WAF. Questo esempio aggiunge Microsoft_DefaultRuleSet_2.1 e Microsoft_BotManagerRuleSet_1.0 ai criteri.
az network front-door waf-policy managed-rules add \
--policy-name contosoWAF \
--resource-group myRGFD \
--type Microsoft_DefaultRuleSet \
--action Block \
--version 2.1
az network front-door waf-policy managed-rules add \
--policy-name contosoWAF \
--resource-group myRGFD \
--type Microsoft_BotManagerRuleSet \
--version 1.0
Per altre informazioni sulle regole gestite in Frontdoor, vedere Regole e gruppi di regole drS di Web Application Firewall.
Creare i criteri di sicurezza
Applicare ora questi due criteri WAF alla frontdoor creando un criterio di sicurezza. Questa impostazione applica le regole gestite da Azure all'endpoint definito in precedenza.
Eseguire az afd security-policy create per applicare i criteri WAF al dominio predefinito dell'endpoint.
Nota
Sostituire "mysubscription" con l'ID sottoscrizione di Azure nei domini e nei parametri waf-policy. Eseguire az account subscription list per ottenere i dettagli dell'ID sottoscrizione.
az afd security-policy create \
--resource-group myRGFD \
--profile-name contosoafd \
--security-policy-name contososecurity \
--domains /subscriptions/mysubscription/resourcegroups/myRGFD/providers/Microsoft.Cdn/profiles/contosoafd/afdEndpoints/contosofrontend \
--waf-policy /subscriptions/mysubscription/resourcegroups/myRGFD/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/contosoWAF
Testare l'istanza di Frontdoor
Quando si crea il profilo Frontdoor di Azure Standard/Premium, la distribuzione globale della configurazione richiede alcuni minuti. Al termine, è possibile accedere all'host front-end creato.
Eseguire az afd endpoint show per ottenere il nome host dell'endpoint frontdoor.
az afd endpoint show --resource-group myRGFD --profile-name contosoafd --endpoint-name contosofrontend
In un browser passare al nome host dell'endpoint: contosofrontend-<hash>.z01.azurefd.net
. La richiesta viene indirizzata automaticamente all'app Web meno latente nel gruppo di origine.
Per testare il failover globale istantaneo, seguire questa procedura:
Aprire un browser e passare al nome host dell'endpoint:
contosofrontend-<hash>.z01.azurefd.net
.Arrestare una delle App Web eseguendo az webapp stop
az webapp stop --name WebAppContoso-01 --resource-group myRGFD
Aggiorna il browser. Si dovrebbe visualizzare la stessa pagina di informazioni.
Suggerimento
Per queste azioni si verifica un leggero ritardo. Può essere necessario eseguire di nuovo l'aggiornamento.
Trovare l'altra app Web e arrestarla.
az webapp stop --name WebAppContoso-02 --resource-group myRGFD
Aggiorna il browser. Questa volta dovrebbe essere visualizzato un messaggio di errore.
Riavviare una delle App Web eseguendo az webapp start. Aggiornare il browser e tornare alla pagina normale.
az webapp start --name WebAppContoso-01 --resource-group myRGFD
Pulire le risorse
Quando non sono necessarie le risorse per Frontdoor, eliminare entrambi i gruppi di risorse. L'eliminazione dei gruppi di risorse comporta anche l'eliminazione di Frontdoor e di tutte le relative risorse correlate.
Eseguire az group delete:
az group delete --name myRGFD
Passaggi successivi
Passare all'articolo successivo per informazioni su come aggiungere un dominio personalizzato alla frontdoor.