Creazione e configurazione del gateway applicazione

Completato

Il gateway applicazione è costituito da una serie di componenti che permettono di instradare le richieste a un pool di server Web e insieme di controllare l'integrità di questi server Web. Di seguito vengono approfonditi le relazioni tra questi componenti e il ruolo di ognuno in un gateway applicazione.

Diagramma con una visualizzazione dei componenti del gateway applicazione.

Indirizzo IP front-end

Le richieste client vengono ricevute tramite un indirizzo IP front-end. È possibile configurare il gateway applicazione con un indirizzo IP pubblico, un indirizzo IP privato o entrambi. Il gateway applicazione non può avere più di un indirizzo IP pubblico e uno privato.

Listener

Il gateway applicazione usa uno o più listener per ricevere le richieste in ingresso. Un listener accetta il traffico in arrivo su una combinazione di protocollo, porta, host e indirizzo IP specificata. Ogni listener indirizza le richieste a un pool back-end di server in base alle regole di gestione specificate. Un listener può essere di tipo Base o Multi-sito. Un listener di base indirizza solo una richiesta in base al percorso nell'URL. Un listener Multi-sito può anche indirizzare le richieste usando l'elemento nome host dell'URL.

I listener gestiscono anche i certificati SSL per proteggere l'applicazione tra l'utente e il gateway applicazione.

Regole dei percorsi di trasferimento

Una regola di gestione associa un listener ai pool back-end. Una regola specifica come interpretare gli elementi hostname e percorso nell'URL di una richiesta e come reindirizzare la richiesta al pool back-end appropriato. A una regola di gestione è anche associato un set di impostazioni HTTP. Queste impostazioni indicano se (e come) il traffico viene crittografato tra il gateway applicazione e i server back-end e forniscono altre informazioni sulla configurazione, ad esempio:

  • Protocollo (HTTP o HTTPS).
  • Persistenza delle sessioni, per passare tutte le richieste in una sessione client allo stesso server Web anziché distribuirle tra server con bilanciamento del carico.
  • Svuotamento della connessione per consentire la rimozione graduale dei server da un pool back-end.
  • Periodo di timeout, espresso in secondi, della richiesta.
  • Probe di integrità, specificando un URL del probe, i periodi di timeout e altri parametri usati per determinare se un server è disponibile nel pool back-end.

Pool back-end

Un pool back-end fa riferimento a una raccolta di server Web. È necessario specificare l'indirizzo IP di ogni server Web e la porta in cui è in ascolto delle richieste durante la configurazione del pool. Ogni pool può specificare un set fisso di macchine virtuali, un set di scalabilità di macchine virtuali, un'app ospitata da servizi app di Azure o una raccolta di server locali. A ogni pool back-end è associato un servizio di bilanciamento del carico che distribuisce il lavoro nel pool

Web application firewall

Il web application firewall (WAF) è un componente opzionale che gestisce le richieste in ingresso prima che raggiungano un listener. Il web application firewall controlla ogni richiesta per verificare la presenza di molte delle minacce più comuni, sulla base di Open Web Application Security Project (OWASP). tra cui:

  • SQL injection
  • Scripting intersito
  • Attacchi di tipo injection per i comandi
  • Richieste HTTP non valide
  • HTTP Response Splitting
  • Inclusione di file remoti
  • Bot, crawler e scanner
  • Violazioni e anomalie del protocollo HTTP

OWASP ha definito un set di regole generiche per rilevare gli attacchi denominati Core Rule Set (CRS). I set di regole vengono sottoposti a revisione continua per restare al passo con l'evolvere del livello di complessità degli attacchi. Il web application firewall supporta due set di regole: CRS 2.2.9 e CRS 3.0. CRS 3.0 è il set di regole predefinito e più recente. Se necessario, è possibile scegliere di selezionare solo regole specifiche in un set di regole, per affrontare determinate minacce. Inoltre, è possibile personalizzare il firewall in modo da specificare gli elementi da esaminare in una richiesta e limitare le dimensioni dei messaggi per impedire il sovraccarico dei server a causa di caricamenti di grandi dimensioni.

Quando si crea un gateway, è possibile abilitare il web application firewall nel gateway applicazione selezionando il livello WAF.

Probe di integrità

I probe di integrità sono un elemento importante nel permettere al servizio di bilanciamento del carico di determinare i server disponibili per il bilanciamento del carico in un pool back-end. Il gateway applicazione usa un probe di integrità per inviare una richiesta a un server. Se il server restituisce una risposta HTTP con codice di stato compreso tra 200 e 399, il server è considerato integro.

Se non si configura un probe di integrità, il gateway applicazione crea un probe predefinito che attende 30 secondi prima di determinare che un server non è disponibile.

Requisiti di rete del gateway applicazione

Il gateway applicazione richiede una rete virtuale in cui operare. È necessario creare questa rete virtuale e una subnet dedicata prima di configurare il gateway applicazione. Il gateway applicazione usa alcuni indirizzi privati per l'uso interno e per la comunicazione con ogni istanza se passa a un livello di servizio superiore. Ad esempio, se si prevede di aumentare il numero delle istanze a quattro, creare una subnet di dimensione /28. Se si prevede di passare a un numero maggiore di istanze, creare una subnet più grande.

È possibile esporre il gateway applicazione tramite un indirizzo IP pubblico oppure è possibile mantenerlo privato assegnando solo un IP privato all'interno della rete virtuale. Questo approccio è utile se sono presenti siti interni per cui si vuole usare il gateway applicazione per fornire bilanciamento del carico.

Opzioni per il gateway applicazione

È possibile creare un gateway applicazione nel livello Standard o WAF. È anche possibile scegliere tra tre dimensioni con prestazioni, prezzi e scalabilità diversi: Small, Medium e Large.

I livelli Standard e WAF sono disponibili in due versioni, V1 e V2. La versione V2 supporta le zone di disponibilità di Azure, ma è attualmente in anteprima.

Il gateway applicazione supporta la scalabilità manuale e la scalabilità automatica. Se si seleziona la scalabilità automatica, il gateway applicazione aumenta il numero di istanze automaticamente in base al traffico specifico. È possibile limitare il numero minimo e massimo di istanze del gateway applicazione.

Creare e configurare un gateway

È possibile creare e configurare un gateway applicazione usando il portale di Azure, Azure PowerShell o l'interfaccia della riga di comando di Azure. Per l'interfaccia della riga di comando di Azure, usare il comando az network application-gateway create per creare un nuovo gateway. Se si preferisce usare PowerShell, è possibile eseguire il cmdlet New-AzApplicationGateway. È anche possibile usare il portale di Azure per eseguire la maggior parte delle operazioni.

È possibile esaminare e modificare la configurazione dei componenti in un gateway usando i comandi az network application-gateway http-listener, az network application-gateway rule, az network application-gateway address-pool, az network application-gateway http-settings e az network application-gateway front-end-port dell'interfaccia della riga di comando di Azure. Le serie Get-AzApplicationGateway* e Set-AzApplicationGateway* di cmdlet forniscono le stesse operazioni per PowerShell.

A questo punto, si creerà e configurerà un gateway applicazione per il sito Web dell'ufficio della motorizzazione che è stato distribuito.