Panoramica del gateway applicazione

Il gateway applicazione di Microsoft Azure è un'appliance virtuale dedicata che offre un servizio di controller per la distribuzione di applicazioni (ADC, Application Delivery Controller) e varie funzionalità di bilanciamento del carico di livello 7 per l'applicazione. Consente ai clienti di ottimizzare la produttività delle Web farm eseguendo l'offload al gateway applicazione della terminazione SSL con utilizzo elevato di CPU. Offre anche altre funzionalità di routing di livello 7, tra cui la distribuzione round robin del traffico in ingresso, l'affinità di sessione basata su cookie, il routing basato su percorso URL e la possibilità di ospitare più siti Web dietro un unico gateway applicazione. Nello SKU WAF del gateway applicazione è incluso anche un Web application firewall (WAF). Questo offre alle applicazioni Web la protezione da exploit e vulnerabilità Web comuni. Il gateway applicazione può essere configurato come gateway con connessione Internet, come gateway solo interno o come una combinazione di queste due opzioni.

scenario

Funzionalità

Il gateway applicazione offre attualmente le funzionalità seguenti:

  • Web application firewall: il Web application firewall (WAF) del gateway applicazione di Azure protegge le applicazioni Web da attacchi basati sul Web comuni come SQL injection, cross-site scripting e hijack della sessione.
  • Bilanciamento del carico HTTP : il gateway applicazione fornisce il bilanciamento del carico round robin. Il bilanciamento del carico viene eseguito al livello 7 e viene usato solo per il traffico HTTP(S).
  • Affinità di sessione basata su cookie: questa funzionalità è utile quando si vuole mantenere una sessione utente nello stesso back-end. Usando cookie i gestiti dal gateway, il gateway applicazione può indirizzare il traffico successivo proveniente da una sessione utente allo stesso back-end per l'elaborazione. Questa funzionalità è importante nei casi in cui lo stato della sessione viene salvato in locale sul server back-end per una sessione utente.
  • Offload SSL (Secure Sockets Layer): questa funzionalità consente di evitare costose attività di decrittografia del traffico HTTPS nei server Web. Terminando la connessione SSL in corrispondenza del gateway applicazione e inoltrando al server la richiesta non crittografata, il server Web non deve gestire la decrittografia. Il gateway applicazione crittografa nuovamente la risposta prima di restituirla al client. Questa funzionalità è utile negli scenari in cui il back-end si trova nella stessa rete virtuale protetta del gateway applicazione in Azure.
  • SSL end-to-end: il gateway applicazione supporta la crittografia end-to-end del traffico. A tale scopo, il gateway applicazione chiude la connessione SSL nel gateway applicazione. Il gateway quindi applica le regole di routing al traffico, crittografare nuovamente il pacchetto e inoltra il pacchetto al back-end appropriato in base alle regole di routing definite. Eventuali risposte dal server Web subiscono lo stesso processo in ritorno verso l'utente finale.
  • Routing del contenuto basato su URL: questa funzionalità offre la possibilità di usare server back-end diversi per traffico diverso. Il traffico per una cartella nel server Web o per una rete CDN potrebbe essere instradato a un back-end diverso. Questa funzionalità riduce il carico non necessario nei back-end che non gestiscono contenuto specifico.
  • Routing multisito: il gateway applicazione consente di consolidare fino a 20 siti Web in un singolo gateway applicazione.
  • Supporto di WebSocket: un'altra eccellente funzionalità del gateway applicazione è il supporto nativo per WebSocket.
  • Monitoraggio dell'integrità: il gateway applicazione offre il monitoraggio predefinito dell'integrità delle risorse back-end e probe personalizzati per il monitoraggio di scenari più specifici.
  • Criteri SSL e crittografie: questa funzionalità consente di limitare le versioni del protocollo SSL e i pacchetti di crittografia supportati e l'ordine in cui vengono elaborati.
  • Reindirizzamento delle richieste: questa funzionalità offre la possibilità di reindirizzare le richieste HTTP a un listener HTTPS.
  • Supporto di back-end multi-tenant: il gateway applicazione supporta la configurazione di servizi back-end multi-tenant, come App Web di Azure e il gateway API, come membri del pool back-end.
  • Diagnostica avanzata: il gateway applicazione fornisce i log di diagnostica e accesso completi. I registri firewall sono disponibili per le risorse del gateway applicazione con WAF abilitato.

Vantaggi

Il gateway applicazione è utile per:

  • Applicazioni che necessitano delle richieste provenienti dalla stessa sessione utente/client per raggiungere la stessa macchina virtuale back-end, ad esempio applicazioni carrello acquisti e server di posta Web.
  • Rimozione del sovraccarico della terminazione SSL per le server farm Web.
  • Applicazioni, come la rete per la distribuzione di contenuti, per cui è necessario che più richieste HTTP nella stessa connessione TCP con esecuzione prolungata vengano instradate/bilanciate in server back-end diversi.
  • Applicazioni che supportano il traffico WebSocket
  • Protezione delle applicazioni Web dai comuni attacchi basati sul Web, come attacchi SQL injection, attacchi di scripting intersito e hijack delle sessioni.
  • Distribuzione logica del traffico in base a diversi criteri di routing, ad esempio percorso dell'URL o intestazioni del dominio.

È completamente gestito in Azure e offre scalabilità e disponibilità elevata, oltre a un set completo di funzionalità di registrazione e diagnostica che ne migliorano la gestibilità. Quando si crea un gateway applicazione, un endpoint (indirizzo VIP o IP ILB interno) viene associato e usato per il traffico di rete in ingresso. L'indirizzo VIP o IP ILB viene fornito da Azure Load Balancer, che opera a livello di trasporto (TCP/UDP) e garantisce il bilanciamento del carico di tutto il traffico di rete in ingresso nelle istanze del ruolo di lavoro del gateway applicazione. Il gateway applicazione instrada quindi il traffico HTTP/HTTPS in base alla relativa configurazione, sia che si tratti di una macchina virtuale, di un servizio cloud o di un indirizzo IP interno o esterno.

Il bilanciamento del carico del gateway applicazione come servizio gestito da Azure consente il provisioning di un servizio di bilanciamento del carico di livello 7 dietro il servizio di bilanciamento del carico del software di Azure. Gestione traffico può essere usato per completare lo scenario come illustrato nell'immagine seguente, in cui Gestione traffico fornisce il reindirizzamento e la disponibilità del traffico a più risorse del gateway applicazione in aree diverse, mentre il gateway applicazione il fornisce bilanciamento del carico di livello 7 tra le aree. Un esempio di questo scenario è disponibile in Using load balancing services in the Azure cloud (Uso dei servizi di bilanciamento del carico nel cloud di Azure)

Scenario di Gestione traffico e gateway applicazione

Differenze del servizio di bilanciamento del carico

Sono disponibili diverse opzioni per distribuire il traffico di rete tramite Microsoft Azure. Queste opzioni funzionano in modo diverso, vantano un set di funzionalità differenti e supportano diversi scenari. Possono essere utilizzate singolarmente o in combinazione.

  • Azure Load Balancer funziona al livello trasporto (livello 4 nello stack di riferimento di rete OSI). Assicura la distribuzione del traffico a livello di rete tra le istanze di un'applicazione in esecuzione nello stesso data center di Azure.
  • gateway applicazione funziona a livello di applicazione (livello 7 nello stack di riferimento di rete OSI). Agisce come un servizio di proxy inverso, terminando la connessione di client e inoltrando richieste a endpoint di back-end.
  • servizio Gestione traffico funziona a livello DNS. Usa le risposte DNS per indirizzare il traffico degli utenti finali agli endpoint distribuiti a livello globale. I client si connettono quindi direttamente a questi endpoint.

La tabella seguente riepiloga le funzionalità offerte da ogni servizio:

Service Azure Load Balancer gateway applicazione servizio Gestione traffico
Tecnologia Livello trasporto (livello 4) Livello applicazione (livello 7) Livello DNS
Protocolli di applicazioni supportati Qualsiasi HTTP, HTTPS e WebSocket Qualsiasi (è richiesto un endpoint HTTP per il monitoraggio degli endpoint)
Endpoint Istanze del ruolo VM e Servizi cloud di Azure Un indirizzo IP interno di Azure, un indirizzo IP Internet pubblico, una VM di Azure o un servizio cloud di Azure VM di Azure, Servizi Cloud, App Web di Azure ed endpoint esterni
Supporto della rete virtuale Può essere utilizzato sia per applicazioni con connessione Internet sia per applicazioni interne (rete virtuale) Può essere utilizzato sia per applicazioni con connessione Internet sia per applicazioni interne (rete virtuale) Supporta solo applicazioni con connessione Internet
Monitoraggio degli endpoint supportato tramite probe supportato tramite probe supportato tramite HTTP/HTTPS GET

Azure Load Balancer e il gateway applicazione di Azure indirizzano il traffico di rete agli endpoint, ma presentano diversi scenari di uso in base al traffico da gestire. La tabella seguente consente di comprendere la differenza tra i due servizi di bilanciamento del carico:

Tipo Azure Load Balancer gateway applicazione
Protocolli UDP/TCP HTTP, HTTPS e WebSocket
Prenotazione IP Supportato Non supportate
Modalità di bilanciamento del carico 5 tuple (IP di origine, porta di origine, IP di destinazione, porta di destinazione, tipo di protocollo) Round robin
Routing basato su URL
Modalità di bilanciamento del carico (IP di origine / sessioni permanenti) 2 tuple (IP di origine e IP di destinazione), 3 tuple (IP di origine, IP di destinazione e porta). Possono aumentare o diminuire in base al numero di macchine virtuali Affinità basata sui cookie
Routing basato su URL
Probe di integrità Predefinito: intervallo di probe - 15 secondi. Esclusione dalla rotazione: 2 errori ripetuti. Supporta le probe definite dall'utente Inattivo: intervallo di probe - 30 secondi. Esclusione dopo 5 errori consecutivi di traffico live o un errore di probe singolo in modalità di inattività. Supporta le probe definite dall'utente
Offload SSL Non supportate Supportato
Routing basato su URL Non supportate Supportato
Criteri SSL Non supportate Supportato

Istanze e dimensioni del gateway

Il servizio Gateway applicazione è attualmente disponibile in tre dimensioni: Small, Medium e Large. Le dimensioni delle istanze piccole sono destinate a scenari di sviluppo e test.

È possibile creare fino a 50 gateway applicazione per sottoscrizione e ogni gateway applicazione può includere fino a 10 istanze. Ogni gateway applicazione può essere costituito da 20 listener HTTP. Per un elenco completo dei limiti del gateway applicazione, vedere i limiti del servizio Gateway applicazione.

La tabella seguente illustra una velocità effettiva media delle prestazioni per ogni istanza del gateway applicazione con offload SSL abilitato:

Risposta della pagina di back-end Small Media Large
6K 7,5 Mbps 13 Mbps 50 Mbps
100.000 35 Mbps 100 Mbps 200 Mbps

Nota

Questi valori sono indicazioni approssimative della velocità effettiva di un gateway applicazione. La velocità effettiva dipende da vari dettagli ambientali come le dimensioni medie delle pagine, la posizione delle istanze back-end e il tempo di elaborazione per gestire una pagina. Per dati esatti sulle prestazioni, è consigliabile eseguire propri test. Questi valori vengono forniti solo come indicazioni per la pianificazione della capacità.

Monitoraggio dell’integrità

Il gateway applicazione di Azure monitora automaticamente l'integrità delle istanze back-end tramite probe di integrità di base o personalizzati. L'uso di probe di integrità garantisce che al traffico rispondano solo host integri. Per altre informazioni, vedere Panoramica del monitoraggio dell'integrità del gateway applicazione.

Configurazione e gestione

Quando viene configurato, il gateway applicazione può usare per l'endpoint un IP pubblico, un IP privato o entrambi. Il gateway applicazione viene configurato in una propria subnet all'interno di una rete virtuale. La subnet creata o usata per il gateway applicazione non può contenere altri tipi di risorse. Le uniche risorse consentite nella subnet sono altri gateway applicazione. Per proteggere le risorse di back-end, i server back-end possono essere contenuti in una subnet diversa nella stessa rete virtuale del gateway applicazione. Questa subnet non è necessaria per le applicazioni back-end. Se può raggiungere l'indirizzo IP, il gateway applicazione può garantire funzionalità ADC per i server back-end.

È possibile creare e gestire un gateway applicazione usando API REST, cmdlet di PowerShell, l'interfaccia della riga di comando di Azure o il portale di Azure. Per altre domande sul gateway applicazione, vedere l'elenco contenuto in Domande frequenti sul gateway applicazione.

Prezzi

I prezzi sono basati su una tariffa oraria per istanza del gateway e una tariffa di elaborazione dei dati. I prezzi orari del gateway per lo SKU WAF sono diversi dalle tariffe dello SKU standard. Per informazioni sui prezzi, vedere i dettagli sui prezzi del gateway applicazione. Le tariffe di elaborazione dei dati rimangono invariate.

domande frequenti

Per le domande frequenti sul gateway applicazione, vedere Domande frequenti sul gateway applicazione.

Passaggi successivi

Dopo aver acquisito familiarità con il gateway applicazione, è possibile creare un gateway applicazione oppure configurare un gateway applicazione per l'offload SSL per bilanciare il carico delle connessioni HTTPS.

Per informazioni su come creare un gateway applicazione usando il routing del contenuto basato su URL, vedere Creare un gateway applicazione con il routing basato su URL .

Per informazioni su alcune altre funzionalità di rete chiave di Azure, vedere Rete di Azure.