Condividi tramite


Proteggere le app web su Azure VMware Solution con Azure Application Gateway

Il gateway applicazione di Azure è un servizio di bilanciamento del carico del traffico Web di livello 7 che consente di gestire il traffico verso le applicazioni Web, offerto sia nella soluzione Azure VMware v1.0 che nella versione 2.0. Entrambe le versioni testate con le app Web in esecuzione nella soluzione Azure VMware.

Le funzionalità sono:

  • Affinità di sessione basata su cookie
  • Routing basato su URL
  • Web application firewall (WAF)

Per un elenco completo delle funzionalità, vedere Funzionalità del gateway applicazione di Azure.

Questo articolo illustra come usare Application Gateway davanti a una web server farm per proteggere un'applicazione web in esecuzione su Azure VMware Solution.

Topologia

Il diagramma mostra come viene usato il gateway applicazione per proteggere le macchine virtuali IaaS di Azure, i set di scalabilità di macchine virtuali di Azure o i server locali. Il gateway applicazione considera le macchine virtuali della soluzione Azure VMware come server locali.

Diagramma che illustra come il gateway applicazione protegge le macchine virtuali IaaS di Azure, i set di scalabilità di macchine virtuali di Azure o i server locali.

Importante

Il servizio Application Gateway di Azure è il metodo preferito per esporre le app Web che vengono eseguite nelle macchine virtuali della soluzione Azure VMware.

Il diagramma mostra lo scenario di test usato per convalidare il gateway applicazione con le applicazioni Web della soluzione Azure VMware.

Diagramma che illustra lo scenario di test usato per convalidare il gateway applicazione con le applicazioni Web della soluzione Azure VMware.

L'istanza del gateway applicazione viene distribuita nell'hub in una subnet dedicata con un indirizzo IP pubblico di Azure. È consigliabile attivare la protezione DDoS di Azure per la rete virtuale. Il server Web è ospitato in un cloud privato della soluzione Azure VMware dietro I gateway NSX T0 e T1. Inoltre, la soluzione Azure VMware usa Copertura globale di ExpressRoute per abilitare la comunicazione con l'hub e i sistemi locali.

Prerequisiti

  • Un account Azure con una sottoscrizione attiva.
  • Un cloud privato della soluzione Azure VMware distribuito e in esecuzione.

Distribuzione e configurazione

  1. Nel portale di Azure cercare Gateway applicativo e selezionare Crea gateway applicativo.

  2. Specificare i dettagli di base come illustrato nella figura seguente; quindi selezionare Avanti: Front-end>.

    Screenshot che mostra la pagina Crea gateway dell'applicazione nel portale di Azure.

  3. Scegliere il tipo di indirizzo IP front-end. Per pubblico, scegliere un indirizzo IP pubblico esistente o crearne uno nuovo. Selezionare Avanti: Back-end>.

    Annotazioni

    Per i front-end privati sono supportati solo gli SKU Standard e Web Application Firewall (WAF).

  4. Aggiungere un pool di backend delle macchine virtuali che vengono eseguite sull'infrastruttura di Azure VMware Solution. Specificare i dettagli dei server Web eseguiti nel cloud privato della soluzione Azure VMware e selezionare Aggiungi. Selezionare quindi Avanti: Configurazione>.

  5. Nella scheda Configurazione selezionare Aggiungi una regola di routing.

  6. Nella scheda Listener specificare i dettagli per il listener. Se è selezionato HTTPS, è necessario fornire un certificato, da un file PFX o da un certificato di Azure Key Vault esistente.

  7. Selezionare la scheda Destinazioni back-end e selezionare il pool back-end creato in precedenza. Per il campo Impostazioni HTTP selezionare Aggiungi nuovo.

  8. Configurare i parametri per le impostazioni HTTP. Seleziona Aggiungi.

  9. Per configurare le regole basate sul percorso, selezionare Aggiungi più destinazioni per creare una regola basata sul percorso.

  10. Aggiungere una regola basata sul percorso e selezionare Aggiungi. Ripetere per aggiungere altre regole basate sul percorso.

  11. Al termine dell'aggiunta di regole basate sul percorso, selezionare di nuovo Aggiungi , quindi selezionare Avanti: Tag>.

  12. Aggiungere tag e quindi selezionare Avanti: Rivedi e crea>.

  13. Un processo di convalida viene eseguito sul tuo Application Gateway. Se l'operazione ha esito positivo, selezionare Crea per la distribuzione.

Esempi di configurazione

Configurare ora l'Application Gateway con le macchine virtuali di Azure VMware Solution come pool di backend per i seguenti casi d'uso:

Hosting di più siti

Questa procedura illustra come definire i pool di indirizzi back-end su un gateway applicazione esistente, utilizzando macchine virtuali eseguite su un cloud privato della Azure VMware Solution.

Annotazioni

Questa procedura presuppone che siano presenti più domini, quindi verranno usati esempi di www.contoso.com e www.contoso2.com.

  1. Nel cloud privato creare due pool diversi di macchine virtuali. Uno rappresenta Contoso e il secondo rappresenta contoso2.

    Screenshot che mostra il riepilogo dei dettagli di un server Web in VMware vSphere Client.

    È stato usato Windows Server 2016 con il ruolo Internet Information Services (IIS) installato. Dopo aver installato le macchine virtuali, eseguire i comandi di PowerShell seguenti per configurare IIS in ognuna delle macchine virtuali.

    Install-WindowsFeature -Name Web-Server
    Add-Content -Path C:\inetpub\wwwroot\Default.htm -Value $($env:computername)
    
  2. In un'istanza esistente del gateway applicazione selezionare Pool back-end dal menu a sinistra, selezionare Aggiungi e immettere i dettagli dei nuovi pool. Selezionare Aggiungi nel riquadro destro.

    Screenshot che mostra l'aggiunta dei pool back-end nella pagina Pool back-end.

  3. Nella sezione Listener creare un nuovo listener per ogni sito Web. Immettere i dettagli per ogni listener e selezionare Aggiungi.

  4. A sinistra selezionare Impostazioni HTTP e selezionare Aggiungi nel riquadro sinistro. Compilare i dettagli per creare una nuova impostazione HTTP e selezionare Salva.

    Screenshot della pagina delle impostazioni HTTP per creare una nuova impostazione HTTP.

  5. Creare le regole nella sezione Regole del menu a sinistra. Associare ogni regola al relativo ascoltatore. Seleziona Aggiungi.

  6. Configurare il pool back-end corrispondente e le impostazioni HTTP. Seleziona Aggiungi.

  7. Testare la connessione. Aprire il browser preferito e passare ai diversi siti Web ospitati nell'ambiente della soluzione Azure VMware.

    Screenshot della pagina del browser che mostra l'esito positivo del test della connessione.

Routing in base all'URL

I passaggi seguenti definiscono i pool di indirizzi back-end usando le macchine virtuali in esecuzione in un cloud privato della soluzione Azure VMware. Il cloud privato si trova in un gateway applicativo esistente. Si creano quindi le regole di routing per garantire che il traffico Web raggiunga i server appropriati nei pool.

  1. Nel cloud privato creare un pool di macchine virtuali per rappresentare la Web farm.

    Screenshot della pagina in VMware vSphere Client che mostra il riepilogo di un'altra macchina virtuale.

    Windows Server 2016 con ruolo IIS installato è stato usato per illustrare questa esercitazione. Dopo aver installato le macchine virtuali, eseguire i comandi di PowerShell seguenti per configurare IIS per ogni esercitazione sulla macchina virtuale.

    La prima macchina virtuale, contoso-web-01, ospita il sito Web principale.

    Install-WindowsFeature -Name Web-Server
    Add-Content -Path C:\inetpub\wwwroot\Default.htm -Value $($env:computername)
    

    La seconda macchina virtuale, contoso-web-02, ospita il sito images.

    Install-WindowsFeature -Name Web-Server
    New-Item -Path "C:\inetpub\wwwroot\" -Name "images" -ItemType "directory"
    Add-Content -Path C:\inetpub\wwwroot\images\test.htm -Value $($env:computername)
    

    La terza macchina virtuale, contoso-web-03, ospita il sito video.

    Install-WindowsFeature -Name Web-Server
    New-Item -Path "C:\inetpub\wwwroot\" -Name "video" -ItemType "directory"
    Add-Content -Path C:\inetpub\wwwroot\video\test.htm -Value $($env:computername)
    
  2. Aggiungere tre nuovi pool back-end in un'istanza del gateway applicazione esistente.

    1. Selezionare Pool back-end dal menu a sinistra.
    2. Selezionare Aggiungi e immettere i dettagli del primo pool , contoso-web.
    3. Aggiungere una macchina virtuale come destinazione.
    4. Seleziona Aggiungi.
    5. Ripetere questo processo per contoso-images e contoso-video, aggiungendo una macchina virtuale univoca come destinazione.

    Screenshot della pagina Pool back-end che mostra l'aggiunta di tre nuovi pool back-end.

  3. Nella sezione Listener creare un nuovo listener di tipo Basic usando la porta 8080.

  4. Nel riquadro di spostamento a sinistra selezionare Impostazioni HTTP e selezionare Aggiungi nel riquadro sinistro. Compilare i dettagli per creare una nuova impostazione HTTP e selezionare Salva.

    Screenshot della pagina Aggiungi impostazione HTTP che mostra la configurazione delle impostazioni HTTP.

  5. Creare le regole nella sezione Regole del menu a sinistra e associare ogni regola al listener creato in precedenza. Configurare quindi il pool back-end principale e le impostazioni HTTP e quindi selezionare Aggiungi.

    Screenshot della pagina Aggiungi una regola di gestione per configurare le regole di gestione verso una destinazione back-end.

  6. Testare la configurazione. Accedere al gateway dell'applicazione nel portale di Azure e copiare l'indirizzo IP pubblico nella sezione Overview.

    1. Aprire una nuova finestra del browser e immettere l'URL http://<app-gw-ip-address>:8080.

      Screenshot della pagina del browser che mostra il test corretto della configurazione.

    2. Modificare l'URL in http://<app-gw-ip-address>:8080/images/test.htm.

      Screenshot di un altro test riuscito con il nuovo URL.

    3. Modificare di nuovo l'URL in http://<app-gw-ip-address>:8080/video/test.htm.

      Screenshot del test riuscito con l'URL finale.

Passaggi successivi

Dopo aver trattato l'uso di Application Gateway per proteggere un'app Web in esecuzione nella soluzione Azure VMware, scopri di più su: