Come funziona Azure Application Gateway: Guida Dettagliata (2023)

Introduzione

L'Azure Application Gateway è una componente chiave nell'ecosistema di servizi cloud di Microsoft, progettata per gestire il routing e l'equilibrio del carico del traffico delle applicazioni. In questo articolo approfondiremo il funzionamento di Azure Application Gateway, focalizzandoci su come accetta le richieste in arrivo e le instrada verso i backend appropriati.

Accettazione delle Richieste

Prima che un client invii una richiesta a un gateway dell'applicazione, risolve il nome di dominio del gateway utilizzando un server DNS. Microsoft Azure gestisce l'entry DNS poiché tutti i gateway delle applicazioni si trovano nel dominio azure.com. Una volta ottenuto l'indirizzo IP dalla risoluzione DNS, il gateway accetta il traffico in arrivo attraverso uno o più listener configurati con un indirizzo IP front-end, un protocollo e un numero di porta.

Se è attivo un firewall dell'applicazione web (WAF), il gateway controlla gli header e il corpo della richiesta, se presente, rispetto alle regole del WAF. Questo processo determina se la richiesta è valida o rappresenta una minaccia per la sicurezza. Se la richiesta è valida, viene instradata ai backend; altrimenti, se il WAF è in modalità di prevenzione, viene bloccata come minaccia. In modalità di rilevamento, la richiesta viene valutata, registrata e comunque inoltrata ai server di backend.

Utilizzo come Bilanciatore di Carico

Azure Application Gateway può fungere da bilanciatore di carico interno o esterno. Nel caso di un gateway rivolto a Internet, utilizza indirizzi IP pubblici e il suo nome DNS è risolvibile pubblicamente. D'altro canto, i gateway interni utilizzano solo indirizzi IP privati e richiedono un DNS interno risolvibile per funzionare correttamente.

Instradamento delle Richieste

Se una richiesta supera con successo le verifiche del WAF, il gateway valuta la regola di instradamento associata al listener. Questa azione determina a quale pool di backend instradare la richiesta. In base alla regola di instradamento, il gateway può instradare tutte le richieste a un pool di backend specifico, instradare richieste a diversi pool di backend in base al percorso dell'URL o reindirizzare le richieste a un altro sito o porta esterna.

Le regole sono elaborate nell'ordine in cui sono elencate nel portale per SKU v1. Una volta selezionato il pool di backend, il gateway inoltra la richiesta a uno dei server di backend sani nel pool. Se il pool contiene più server, il gateway utilizza un algoritmo round-robin per bilanciare il carico tra i server sani.

Risoluzione DNS dei Server di Backend

Quando un server in un pool di backend è configurato con un FQDN, l'Application Gateway esegue una ricerca DNS per ottenere gli indirizzi IP associati al nome di dominio. Queste informazioni vengono memorizzate nella cache del gateway per un periodo pari al TTL del record DNS e vengono utilizzate per instradare il traffico verso la destinazione corretta.

Modifiche alle Richieste

Prima di inoltrare le richieste ai backend, l'Application Gateway inserisce sei header aggiuntivi. Questi includono x-forwarded-for, x-forwarded-port, x-forwarded-proto, x-original-host, x-original-url, e x-appgw-trace-id. Questi header forniscono informazioni utili per gestire la connessione tra il client e il backend.

Conclusioni

In conclusione, Azure Application Gateway rappresenta una soluzione avanzata per gestire il traffico delle applicazioni in ambiente cloud. Comprendere il suo funzionamento è fondamentale per ottimizzare le prestazioni e garantire una corretta instradamento delle richieste ai server di backend. Per ulteriori dettagli e approfondimenti sulle funzionalità dell'Application Gateway, consulta la documentazione ufficiale di Azure.

References

Top Articles
Latest Posts
Article information

Author: Tish Haag

Last Updated: 11/11/2023

Views: 5702

Rating: 4.7 / 5 (47 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Tish Haag

Birthday: 1999-11-18

Address: 30256 Tara Expressway, Kutchburgh, VT 92892-0078

Phone: +4215847628708

Job: Internal Consulting Engineer

Hobby: Roller skating, Roller skating, Kayaking, Flying, Graffiti, Ghost hunting, scrapbook

Introduction: My name is Tish Haag, I am a excited, delightful, curious, beautiful, agreeable, enchanting, fancy person who loves writing and wants to share my knowledge and understanding with you.