Condividi tramite


Avvio rapido: Creare una frontdoor di Azure con l'interfaccia della riga di comando di Azure

Questo argomento di avvio rapido illustra come creare un'istanza di Frontdoor di Azure usando l'interfaccia della riga di comando di Azure. Si configura un profilo con due App Web di Azure come origini e si aggiungono criteri di sicurezza WAF. Infine, verificare la connettività al App Web usando il nome host dell'endpoint di Frontdoor di Azure.

Diagramma dell'ambiente di distribuzione frontdoor di Azure con l'interfaccia della riga di comando 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 contro gli attacchi DDoS a livello di rete. Per altre informazioni, vedere la 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 le risorse correlate vengono allocate a un gruppo di risorse. È possibile usare un gruppo di risorse esistente o crearne uno nuovo.

Eseguire az group create per creare un gruppo di risorse.

az group create --name myRGFD --location centralus

Creare una risorsa Frontdoor di Azure

Creare quindi il profilo frontdoor di Azure usato dai due servizio app come origini.

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. Le regole gestite con criteri WAF non sono disponibili con lo SKU Standard. Per un confronto dettagliato, vedere 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 in esecuzione in aree di Azure diverse. Entrambe le istanze operano in modalità Attiva/Attiva, ovvero possono gestire il traffico. Questa configurazione è diversa da una configurazione Attiva/Stand-By, in cui un'istanza funge da failover.

Creare piani di servizio app

Creare prima di tutto due piani di servizio app: uno negli Stati Uniti centrali e un altro negli Stati Uniti orientali.

Eseguire i comandi seguenti 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

Creare quindi un'app Web in ognuno dei piani di servizio app creati nel passaggio precedente. I nomi delle app Web devono essere univoci a livello globale.

Eseguire i comandi seguenti per creare le app Web:

az webapp create \
    --name WebAppContoso-01 \
    --resource-group myRGFD \
    --plan myAppServicePlanCentralUS
az webapp create \
    --name WebAppContoso-02 \
    --resource-group myRGFD \
    --plan myAppServicePlanEastUS

Prendere nota dei nomi host predefiniti per ogni app Web, perché saranno necessari per definire gli indirizzi back-end durante la distribuzione di Frontdoor di Azure nel passaggio successivo.

Creare un servizio Frontdoor di Azure

Creare una risorsa Frontdoor di Azure

Eseguire az afd profile create per creare un profilo frontdoor di Azure.

Nota

Per distribuire un'istanza di Frontdoor di Azure Standard anziché Premium, impostare il sku parametro su Standard_AzureFrontDoor. Le regole gestite con criteri WAF non sono disponibili con lo SKU Standard. Per un confronto dettagliato, vedere Confronto tra i livelli di Frontdoor di Azure.

az afd profile create \
    --profile-name contosoafd \
    --resource-group myRGFD \
    --sku Premium_AzureFrontDoor

Aggiungere un endpoint

Creare un endpoint nel profilo frontdoor di Azure. 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 di Azure ed è possibile associare gli endpoint ai domini personalizzati usando le route. I profili frontdoor di Azure possono 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 di Azure, 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à.

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 origini al gruppo di origine

Aggiungere entrambe le istanze dell'app create in precedenza come origini al nuovo gruppo di origine. Le origini in Frontdoor di Azure fanno riferimento alle applicazioni che Frontdoor di Azure recupera il contenuto da quando la memorizzazione nella cache non è abilitata o quando si verifica un mancato riscontro nella cache.

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 per aggiungere la seconda istanza 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 di Azure offre una protezione centralizzata per le applicazioni Web, difendendole da exploit e vulnerabilità comuni.

In questa esercitazione viene creato un criterio WAF che include 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 di Azure. In questo esempio viene creato un criterio abilitato e in modalità di prevenzione.

Nota

Le regole gestite sono disponibili solo con il livello Frontdoor di Azure Premium. È possibile usare regole personalizzate con il livello Standard.

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 bloccherà alcuna richiesta.

Per altre informazioni sulle impostazioni dei criteri WAF per Frontdoor di Azure, 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 di Azure, vedere Regole e gruppi di regole drS di Web Application Firewall.

Applicare i criteri di sicurezza

Applicare ora i criteri WAF alla frontdoor di Azure creando criteri 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 frontdoor di Azure

Dopo aver creato il profilo frontdoor di Azure, 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 di Azure.

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 instradata all'app Web meno latente nel gruppo di origine.

Screenshot del messaggio: L'app Web è in esecuzione e in attesa del contenuto

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

Potrebbe verificarsi un lieve ritardo per queste azioni. Potrebbe essere necessario eseguire di nuovo l'aggiornamento.

  1. Arrestare anche l'altra app Web:

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

    Screenshot del messaggio: Entrambe le istanze dell'app Web sono state arrestate

  3. Riavviare una delle App Web eseguendo az webapp start. Aggiornare il browser e la pagina dovrebbe tornare normale.

    az webapp start --name WebAppContoso-01 --resource-group myRGFD
    

Pulire le risorse

Quando non sono più necessarie le risorse create per Frontdoor di Azure, è possibile eliminare il gruppo di risorse. Questa azione rimuove frontdoor di Azure e tutte le risorse associate.

Eseguire il comando seguente per eliminare il gruppo di risorse:

az group delete --name myRGFD

Passaggi successivi

Passare all'articolo successivo per informazioni su come aggiungere un dominio personalizzato alla frontdoor di Azure.