Share via


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.

Diagram of Front Door deployment environment using the Azure CLI.

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

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.

Screenshot of the message: Your web app is running and waiting for your content

Per testare il failover globale istantaneo, seguire questa procedura:

  1. Aprire un browser e passare al nome host dell'endpoint: contosofrontend-<hash>.z01.azurefd.net.

  2. Arrestare una delle App Web eseguendo az webapp stop

    az webapp stop --name WebAppContoso-01 --resource-group myRGFD
    
  3. 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.

  1. Trovare l'altra app Web e arrestarla.

    az webapp stop --name WebAppContoso-02 --resource-group myRGFD
    
  2. Aggiorna il browser. Questa volta dovrebbe essere visualizzato un messaggio di errore.

    Screenshot of the message: Both instances of the web app stopped

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