Condividi tramite


Avvio rapido: Creare una frontdoor di Azure con Azure PowerShell

Questo argomento di avvio rapido illustra come creare un profilo frontdoor di Azure con Azure PowerShell. Si usano due App Web come origine e si verifica la connettività tramite il nome host dell'endpoint di Frontdoor di Azure.

Diagramma dell'ambiente di distribuzione frontdoor di Azure con Azure PowerShell.

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.

Prerequisiti

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Azure Cloud Shell

Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice contenuto in questo articolo senza dover installare strumenti nell'ambiente locale.

Per avviare Azure Cloud Shell:

Opzione Esempio/Collegamento
Selezionare Prova nell'angolo superiore destro di un blocco di codice o di comando. Quando si seleziona Prova, il codice o il comando non viene copiato automaticamente in Cloud Shell. Screenshot che mostra un esempio di Prova per Azure Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. Pulsante per avviare Azure Cloud Shell.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. Screenshot che mostra il pulsante Cloud Shell nel portale di Azure

Per usare Azure Cloud Shell:

  1. Avviare Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice (o in un blocco di comando) per copiare il codice o il comando.

  3. Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux o selezionando CMD+MAIUSC+V in macOS.

  4. Selezionare INVIO per eseguire il codice o il comando.

Creare un gruppo di risorse

Creare un gruppo di risorse con New-AzResourceGroup:

New-AzResourceGroup -Name myRGFD -Location centralus

Creare due istanze di app Web

Creare due istanze di app Web in aree di Azure diverse usando New-AzWebApp:

# Create first web app in Central US region.
$webapp1 = New-AzWebApp `
    -Name "WebAppContoso-01" `
    -Location centralus `
    -ResourceGroupName myRGFD `
    -AppServicePlan myAppServicePlanCentralUS

# Create second web app in East US region.
$webapp2 = New-AzWebApp `
    -Name "WebAppContoso-02" `
    -Location EastUS `
    -ResourceGroupName myRGFD `
    -AppServicePlan myAppServicePlanEastUS

Creare un servizio Frontdoor di Azure

Creare una risorsa Frontdoor di Azure

Eseguire New-AzFrontDoorCdnProfile per creare un profilo frontdoor di Azure:

$fdprofile = New-AzFrontDoorCdnProfile `
    -ResourceGroupName myRGFD `
    -Name contosoAFD `
    -SkuName Premium_AzureFrontDoor `
    -Location Global

Aggiungere un endpoint

Eseguire New-AzFrontDoorCdnEndpoint per creare un endpoint nel profilo:

$FDendpoint = New-AzFrontDoorCdnEndpoint `
    -EndpointName contosofrontend `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -Location Global

Creare un gruppo di origine

Creare le impostazioni del probe di integrità e del bilanciamento del carico, quindi creare un gruppo di origine usando New-AzFrontDoorCdnOriginGroup:

# Create health probe settings
$HealthProbeSetting = New-AzFrontDoorCdnOriginGroupHealthProbeSettingObject `
    -ProbeIntervalInSecond 60 `
    -ProbePath "/" `
    -ProbeRequestType GET `
    -ProbeProtocol Http

# Create load balancing settings
$LoadBalancingSetting = New-AzFrontDoorCdnOriginGroupLoadBalancingSettingObject `
    -AdditionalLatencyInMillisecond 50 `
    -SampleSize 4 `
    -SuccessfulSamplesRequired 3

# Create origin group
$originpool = New-AzFrontDoorCdnOriginGroup `
    -OriginGroupName og `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -HealthProbeSetting $HealthProbeSetting `
    -LoadBalancingSetting $LoadBalancingSetting

Aggiungere origini al gruppo

Aggiungere le origini dell'app Web al gruppo di origine usando New-AzFrontDoorCdnOrigin:

# Add first web app origin to origin group.
$origin1 = New-AzFrontDoorCdnOrigin `
    -OriginGroupName og `
    -OriginName contoso1 `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -HostName webappcontoso-01.azurewebsites.net `
    -OriginHostHeader webappcontoso-01.azurewebsites.net `
    -HttpPort 80 `
    -HttpsPort 443 `
    -Priority 1 `
    -Weight 1000

# Add second web app origin to origin group.
$origin2 = New-AzFrontDoorCdnOrigin `
    -OriginGroupName og `
    -OriginName contoso2 `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -HostName webappcontoso-02.azurewebsites.net `
    -OriginHostHeader webappcontoso-02.azurewebsites.net `
    -HttpPort 80 `
    -HttpsPort 443 `
    -Priority 1 `
    -Weight 1000

Aggiungere una route

Eseguire il mapping dell'endpoint al gruppo di origine usando New-AzFrontDoorCdnRoute:

$Route = New-AzFrontDoorCdnRoute `
    -EndpointName contosofrontend `
    -Name defaultroute `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -ForwardingProtocol MatchRequest `
    -HttpsRedirect Enabled `
    -LinkToDefaultDomain Enabled `
    -OriginGroupId $originpool.Id `
    -SupportedProtocol Http,Https

Testare frontdoor di Azure

Dopo aver creato il profilo frontdoor di Azure, la distribuzione globale della configurazione richiede alcuni minuti. Al termine, accedere all'host front-end creato.

Eseguire Get-AzFrontDoorCdnEndpoint per ottenere il nome host dell'endpoint frontdoor di Azure:

$fd = Get-AzFrontDoorCdnEndpoint `
    -EndpointName contosofrontend `
    -ProfileName contosoafd `
    -ResourceGroupName myRGFD

$fd.hostname

In un browser passare al nome host dell'endpoint: contosofrontend-<hash>.z01.azurefd.net. La richiesta viene instradata all'app Web con la latenza più bassa nel gruppo di origine.

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

Per testare il failover globale istantaneo:

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

  2. Arrestare uno dei App Web eseguendo Stop-AzWebApp:

    Stop-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-01"
    
  3. Aggiorna il browser. Si dovrebbe visualizzare la stessa pagina di informazioni.

  4. Arrestare l'altra app Web:

    Stop-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-02"
    
  5. Aggiorna il browser. Questa volta dovrebbe essere visualizzato un messaggio di errore.

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

  6. Riavviare una delle app Web eseguendo Start-AzWebApp. Aggiornare il browser e tornare alla pagina normale:

    Start-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-01"
    

Pulire le risorse

Quando le risorse create con Frontdoor di Azure non sono più necessarie, eliminare il gruppo di risorse. Questa azione elimina frontdoor di Azure e tutte le relative risorse correlate. Eseguire Remove-AzResourceGroup:

Remove-AzResourceGroup -Name myRGFD

Passaggi successivi

Per informazioni su come aggiungere un dominio personalizzato alla frontdoor di Azure, passare alle esercitazioni di Frontdoor di Azure.