Bilanciamento del carico in più aree con Gestione traffico, Firewall di Azure e gateway applicazione

Firewall di Azure
Gateway applicazione di Azure
Azure Bastion
Azure Load Balancer
Gestione traffico di Azure

Questa architettura è destinata alle applicazioni globali con connessione Internet che usano protocolli HTTP(S) e non HTTP(S). Offre il bilanciamento del carico globale basato su DNS, due forme di bilanciamento del carico a livello di area e il peering di rete virtuale globale per creare un'architettura a disponibilità elevata in grado di resistere a un'interruzione a livello di area. L'ispezione del traffico viene fornita sia da Web application firewall (WAF) di Azure che da Firewall di Azure.

Note relative all'architettura

L'architettura in questo documento è facilmente estendibile a una progettazione di rete virtuale hub-spoke, in cui il Firewall di Azure si trova nella rete hub e l'gateway applicazione anche nella rete hub o in uno spoke. Se la gateway applicazione viene distribuita nell'hub, si vogliono comunque più gateway applicazione, ognuna per un determinato set di applicazioni, per evitare conflitti di controllo degli accessi in base al ruolo e impedire il raggiungimento dei limiti di gateway applicazione (vedere limiti gateway applicazione).

In un ambiente rete WAN virtuale i gateway applicazione non possono essere distribuiti nell'hub, quindi vengono installati in reti virtuali spoke.

L'architettura proposta opta per l'ispezione doppia del contenuto Web tramite web application firewall (basato su gateway applicazione) davanti a Firewall di Azure. Esistono altre opzioni, come documentato in Firewall e gateway applicazione per le reti virtuali, ma questa opzione è la più flessibile e completa: espone l'indirizzo IP del client nell'intestazione X-Forwarded-For HTTP per l'applicazione finale, fornisce la crittografia end-to-end e impedisce ai client di ignorare WAF per accedere all'applicazione.

Se solo le applicazioni Web sono esposte (nessuna applicazione non HTTP(S) e la doppia ispezione da parte di WAF e Firewall di Azure di questo traffico Web non è necessaria, Frontdoor di Azure sarà una soluzione di bilanciamento del carico globale migliore di Gestione traffico. Frontdoor è un servizio di bilanciamento del carico di livello 7 per il contenuto HTTP(S) che fornisce anche memorizzazione nella cache, accelerazione del traffico, terminazione SSL/TLS, gestione dei certificati, probe di integrità e altre funzionalità. Tuttavia, gateway applicazione offre una migliore integrazione con Firewall di Azure per un approccio di protezione a più livelli.

Flussi di traffico HTTP(S) in ingresso

Diagramma che mostra il bilanciamento del carico in più aree con Firewall di Azure, gateway applicazione e Gestione traffico per il traffico Web.

Scaricare un file di Visio di questa architettura.

  1. Gestione traffico di Azure usa il routing basato su DNS per bilanciare il carico del traffico in ingresso tra le due aree. Gestione traffico risolve le query DNS per l'applicazione negli indirizzi IP pubblici degli endpoint del gateway di app Azure lication. Gli endpoint pubblici delle gateway applicazione fungono da endpoint back-end di Gestione traffico per il traffico HTTP(S). Gestione traffico risolve le query DNS in base a una scelta di diversi metodi di routing. Il browser si connette direttamente all'endpoint; Gestione traffico non visualizza il traffico HTTP(S).

  2. I gateway applicazione distribuiti tra zone di disponibilità ricevono traffico HTTP(S) dal browser e Web Application Firewalls Premium controllano il traffico per rilevare gli attacchi Web. Le gateway applicazione invieranno traffico al back-end, il servizio di bilanciamento del carico interno per le macchine virtuali front-end. Per questo flusso specifico, il servizio di bilanciamento del carico interno davanti ai server Web non è strettamente necessario perché il gateway applicazione potrebbe eseguire questo bilanciamento del carico stesso. Tuttavia, viene incluso per coerenza con il flusso per le applicazioni non HTTP(S).

  3. Il traffico tra il gateway applicazione e il servizio di bilanciamento del carico interno front-end verrà intercettato da Firewall di Azure Premium tramite route definite dall'utente applicate alla subnet gateway applicazione. Il Firewall di Azure Premium applicherà l'ispezione TLS al traffico per una maggiore sicurezza. Anche il Firewall di Azure è con ridondanza della zona. Se il Firewall di Azure rileva una minaccia nel traffico, i pacchetti verranno visualizzati. In caso contrario, al termine dell'ispezione, il Firewall di Azure inoltra il traffico al servizio di bilanciamento del carico interno del livello Web di destinazione.

  4. Il livello Web è il primo livello dell'applicazione a tre livelli, contiene l'interfaccia utente e analizza anche le interazioni utente. Il servizio di bilanciamento del carico a livello Web viene distribuito in tutte e tre le zone di disponibilità e distribuirà il traffico a ognuna delle tre macchine virtuali livello Web.

  5. Le macchine virtuali livello Web vengono distribuite in tutte e tre le zone di disponibilità e comunicano con il livello business tramite un servizio di bilanciamento del carico interno dedicato.

  6. Il livello business elabora le interazioni dell'utente e determina i passaggi successivi e si trova tra i livelli Web e dati. Il servizio di bilanciamento del carico interno del livello business distribuisce il traffico alle macchine virtuali di livello business tra le tre zone di disponibilità. Il servizio di bilanciamento del carico a livello aziendale è con ridondanza della zona, ad esempio il servizio di bilanciamento del carico a livello Web.

  7. Le macchine virtuali livello business vengono distribuite tra zone di disponibilità e instradano il traffico al listener del gruppo di disponibilità dei database.

  8. Il livello dati archivia i dati dell'applicazione, in genere in un database, in un archivio oggetti o in una condivisione file. Questa architettura include SQL Server nelle macchine virtuali distribuite in tre zone di disponibilità. Si trovano in un gruppo di disponibilità e usano un nome di rete distribuita (DNN) per instradare il traffico al listener del gruppo di disponibilità per il bilanciamento del carico.

Flussi di traffico non HTTP(S) in ingresso

Diagramma che mostra il bilanciamento del carico in più aree con Firewall di Azure, gateway applicazione e Gestione traffico per il traffico non Web.

Scaricare un file di Visio di questa architettura.

  1. Gestione traffico di Azure usa il routing basato su DNS per bilanciare il carico del traffico in ingresso tra le due aree. Gestione traffico risolve le query DNS per l'applicazione negli indirizzi IP pubblici degli endpoint di Azure. Gli endpoint pubblici del firewall applicazione fungono da endpoint back-end di Gestione traffico per il traffico non HTTP(S). Gestione traffico risolve le query DNS in base a una scelta di diversi metodi di routing. Il browser si connette direttamente all'endpoint; Gestione traffico non visualizza il traffico HTTP(S).

  2. Il Firewall di Azure Premium è con ridondanza della zona e controlla il traffico in ingresso per la sicurezza. Se il Firewall di Azure rileva una minaccia nel traffico, i pacchetti verranno visualizzati. In caso contrario, al termine dell'ispezione, il Firewall di Azure inoltra il traffico al servizio di bilanciamento del carico interno del livello Web che esegue La traduzione degli indirizzi di rete di destinazione (DNAT) sui pacchetti in ingresso.

  3. Il livello Web è il primo livello dell'applicazione a tre livelli, contiene l'interfaccia utente e analizza anche le interazioni utente. Il servizio di bilanciamento del carico a livello Web viene distribuito in tutte e tre le zone di disponibilità e distribuirà il traffico a ognuna delle tre macchine virtuali livello Web.

  4. Le macchine virtuali livello Web vengono distribuite in tutte e tre le zone di disponibilità e comunicano con il livello business tramite un servizio di bilanciamento del carico interno dedicato.

  5. Il livello business elabora le interazioni dell'utente e determina i passaggi successivi e si trova tra i livelli Web e dati. Il servizio di bilanciamento del carico interno del livello business distribuisce il traffico alle macchine virtuali di livello business tra le tre zone di disponibilità. Il servizio di bilanciamento del carico a livello aziendale è con ridondanza della zona, ad esempio il servizio di bilanciamento del carico a livello Web.

  6. Le macchine virtuali livello business vengono distribuite tra zone di disponibilità e instradano il traffico al listener del gruppo di disponibilità dei database.

  7. Il livello dati archivia i dati dell'applicazione, in genere in un database, in un archivio oggetti o in una condivisione file. Questa architettura include SQL Server nelle macchine virtuali distribuite in tre zone di disponibilità. Si trovano in un gruppo di disponibilità e usano un nome di rete distribuita (DNN) per instradare il traffico al listener del gruppo di disponibilità per il bilanciamento del carico.

Flussi di traffico in uscita (tutti i protocolli)

I flussi di traffico in uscita per gli aggiornamenti delle patch delle macchine virtuali o altre connessioni a Internet passano dalle macchine virtuali del carico di lavoro alle Firewall di Azure tramite route definite dall'utente. Il Firewall di Azure applichererà regole di connettività usando categorie Web, nonché regole di rete e applicazione per impedire ai carichi di lavoro di accedere a scenari di contenuto o esfiltrazione di dati non appropriati.

Componenti

  • Firewall di Azure è un firewall di nuova generazione gestito da Microsoft basato sul cloud che fornisce un'ispezione approfondita dei pacchetti sia per i flussi di traffico nord/sud e est/ovest. Può essere distribuita in zone di disponibilità e offre scalabilità automatica per far fronte alle modifiche della domanda di applicazioni.
  • app Azure lication Gateway è un servizio di bilanciamento del carico di livello 7 con funzionalità web application firewall (WAF) facoltative. Lo SKU v2 di gateway applicazione supporta la ridondanza della zona di disponibilità ed è consigliato per la maggior parte degli scenari. Il gateway applicazione include la scalabilità automatica orizzontale configurabile in modo che possa reagire automaticamente alle modifiche alla domanda dell'applicazione.
  • Gestione traffico di Azure è un servizio di bilanciamento del carico del traffico globale basato su DNS che distribuisce il traffico ai servizi tra aree di Azure globali, offrendo al tempo stesso disponibilità elevata e velocità di risposta. Per altre informazioni, vedere la sezione Configurazione di Gestione traffico.
  • Azure Load Balancer è un servizio di bilanciamento del carico di livello 4. Un servizio di bilanciamento del carico con ridondanza della zona distribuirà comunque il traffico con un errore della zona di disponibilità nelle zone rimanenti.
  • Protezione DDoS di Azure offre funzionalità avanzate per la protezione da attacchi DDoS (Distributed Denial of Service).
  • DNS di Azure è un servizio di hosting per i domini DNS che esegue la risoluzione dei nomi usando l'infrastruttura di Microsoft Azure. Ospitando i domini in Azure, è possibile gestire i record DNS usando le stesse credenziali, API, strumenti e fatturazione come per gli altri servizi Azure.
  • Le zone DNS privato di Azure sono una funzionalità di DNS di Azure. Le zone private dns di Azure forniscono la risoluzione dei nomi all'interno di una rete virtuale e tra reti virtuali. I record contenuti in una zona DNS privata non sono risolvibili da Internet. La risoluzione DNS su una zona DNS privata funziona solo da reti virtuali collegate.
  • Azure Macchine virtuali sono risorse di calcolo su richiesta e scalabili che offrono la flessibilità della virtualizzazione, ma eliminano le richieste di manutenzione dell'hardware fisico. Le scelte per il sistema operativo includono Windows e Linux. Alcuni componenti delle applicazioni possono essere sostituiti con risorse di Azure platform-as-a-service (ad esempio il database e il livello front-end), ma l'architettura non cambierebbe significativamente se si usa collegamento privato e servizio app integrazione rete virtuale per portare tali servizi PaaS nella rete virtuale.
  • Azure set di scalabilità di macchine virtuali è automatizzato e con bilanciamento del carico del ridimensionamento delle macchine virtuali che semplifica la gestione delle applicazioni e aumenta la disponibilità.
  • SQL Server nelle macchine virtuali consente di usare versioni complete di SQL Server nel cloud senza dover gestire hardware locale.
  • Rete virtuale di Azure è una rete privata sicura nel cloud. Connette le macchine virtuali l'una all'altra, a Internet e alle reti cross-premise.
  • Le route definite dall'utente sono un meccanismo per eseguire l'override del routing predefinito nelle reti virtuali. In questo scenario vengono usati per forzare i flussi di traffico in ingresso e in uscita per attraversare il Firewall di Azure.

Dettagli della soluzione

Gestione traffico - È stato configurato Gestione traffico per l'uso del routing delle prestazioni. Instrada il traffico all'endpoint con la latenza più bassa per l'utente. Gestione traffico regola automaticamente l'algoritmo di bilanciamento del carico quando cambia la latenza degli endpoint. Gestione traffico fornisce il failover automatico in caso di interruzione a livello di area. Usa il routing prioritario e i controlli di integrità regolari per determinare dove instradare il traffico.

zone di disponibilità - L'architettura usa tre zone di disponibilità. Le zone creano un'architettura a disponibilità elevata per le gateway applicazione, i servizi di bilanciamento del carico interno e le macchine virtuali in ogni area. Se si verifica un'interruzione della zona, le zone di disponibilità rimanenti in tale area assumerebbero il carico, che non attiverebbe un failover a livello di area.

gateway applicazione - Anche se Gestione traffico offre il bilanciamento del carico a livello di area basato su DNS, gateway applicazione offre molte delle stesse funzionalità di Frontdoor di Azure, ma a livello di area, ad esempio:

  • Web Application Firewall (WAF)
  • Terminazione TLS (Transport Layer Security)
  • Routing basato sul percorso
  • Affinità di sessione basata su cookie

Firewall di Azure : Firewall di Azure Premium offre sicurezza di rete per applicazioni generica (traffico Web e non Web), esaminando tre tipi di flussi in questa architettura:

  • I flussi HTTP(S) in ingresso dal gateway applicazione sono protetti con Firewall di Azure ispezione TLS Premium.
  • I flussi non HTTP in ingresso provenienti da Internet pubblico vengono controllati con le altre funzionalità di Firewall di Azure Premium.
  • I flussi in uscita da Azure Macchine virtuali vengono controllati da Firewall di Azure per impedire l'esfiltrazione dei dati e l'accesso a siti e applicazioni non consentiti.

Peering di rete virtuale: viene chiamato peering tra aree "peering reti virtuali globali". Il peering di rete virtuale globale offre una replica dei dati a bassa latenza e a larghezza di banda elevata tra aree. È possibile trasferire i dati tra sottoscrizioni di Azure, tenant Di Microsoft Entra e modelli di distribuzione con questo peering globale. Nei peering di rete virtuale dell'ambiente hub-spoke esisterebbero tra reti hub-spoke.

Consigli

I consigli seguenti rispettano i pilastri di Azure Well-Architected Framework (WAF). I concetti fondamentali di WAF sono i principi fondamentali che consentono di garantire la qualità dei carichi di lavoro cloud. Per altre informazioni, vedere Framework ben progettato di Microsoft Azure.

Affidabilità

Aree: usare almeno due aree di Azure per la disponibilità elevata. È possibile distribuire l'applicazione in più aree di Azure in configurazioni attive/passive o attive/attive. Più aree consentono anche di evitare tempi di inattività dell'applicazione in caso di errore di un sottosistema dell'applicazione.

  • Gestione traffico eseguirà automaticamente il failover nell'area secondaria se l'area primaria ha esito negativo.
  • La scelta delle aree migliori per le proprie esigenze deve essere basata su considerazioni tecniche, normative e supporto per la zona di disponibilità.

Coppie di aree: usare coppie di aree per ottenere la massima resilienza. Assicurarsi che entrambe le coppie di aree supportino tutti i servizi di Azure necessari per l'applicazione (vedere i servizi in base all'area). Ecco due vantaggi delle coppie di aree:

  • Gli aggiornamenti pianificati di Azure vengono implementati in aree abbinate una alla volta per ridurre al minimo i tempi di inattività e il rischio di interruzioni dell'applicazione.
  • I dati continuano a risiedere nella stessa area geografica della coppia (ad eccezione del Brasile meridionale) per scopi fiscali e legali.

Zone di disponibilità: usare più zone di disponibilità per supportare gateway applicazione, Firewall di Azure, Azure Load Balancer e i livelli applicazione, se disponibili.

Scalabilità automatica e istanze del gateway applicazione: configurare il gateway applicazione con almeno due istanze per evitare tempi di inattività e scalabilità automatica per garantire l'adattamento dinamico alle esigenze di capacità dell'applicazione.

Per altre informazioni, vedi:

Routing globale

Metodo di routing globale: usare il metodo di routing del traffico più adatto alle esigenze dei clienti. Gestione traffico supporta più metodi di routing del traffico per instradare in modo deterministico il traffico ai vari endpoint di servizio.

Configurazione annidata: usare Gestione traffico in una configurazione annidata se è necessario un controllo più granulare per scegliere un failover preferito all'interno di un'area.

Per altre informazioni, vedi:

Visualizzazione del traffico globale

Usare La visualizzazione traffico in Gestione traffico per visualizzare i modelli di traffico e le metriche di latenza. Visualizzazione traffico consente di pianificare l'espansione del footprint in nuove aree di Azure.

Per informazioni dettagliate, vedere Gestione traffico Visualizzazione traffico.

Gateway applicazione

Usare gateway applicazione SKU v2 per la resilienza automatizzata predefinita.

  • gateway applicazione SKU v2 garantisce automaticamente che le nuove istanze vengano create tra domini di errore e domini di aggiornamento. Se si sceglie la ridondanza della zona, anche le istanze più recenti si generano tra le zone di disponibilità per garantire la tolleranza di errore.

  • gateway applicazione SKU v1 supporta scenari a disponibilità elevata quando sono state distribuite due o più istanze. Azure distribuisce queste istanze tra domini di aggiornamento e di errore per garantire che le istanze non riescano contemporaneamente. Lo SKU versione 1 supporta la scalabilità tramite l'aggiunta di più istanze dello stesso gateway per ripartire il carico.

Il gateway applicazione deve considerare attendibile il certificato della CA di Firewall di Azure.

Firewall di Azure

Il livello Premium di Firewall di Azure è necessario in questa progettazione per fornire l'ispezione TLS. Firewall di Azure intercetta le sessioni TLS tra gateway applicazione e le macchine virtuali a livello Web che generano i propri certificati, oltre a controllare i flussi di traffico in uscita dalle reti virtuali alla rete Internet pubblica. Per altre informazioni su questa progettazione, vedere Rete Zero-trust per le applicazioni Web con Firewall di Azure e gateway applicazione.

Raccomandazioni sui probe di integrità

Ecco alcuni consigli per i probe di integrità in Gestione traffico, gateway applicazione e Load Balancer.

Gestione traffico

Integrità endpoint: creare un endpoint che segnala l'integrità complessiva dell'applicazione. Gestione traffico usa un probe HTTP(S) per monitorare la disponibilità di ogni area. Il probe verifica una risposta HTTP 200 per un percorso URL specificato. Usare l'endpoint creato per il probe di integrità. In caso contrario, il probe potrebbe segnalare un endpoint integro quando le parti critiche dell'applicazione hanno esito negativo.

Per altre informazioni, vedere Modello di monitoraggio degli endpoint di integrità.

Ritardo di failover: Gestione traffico ha un ritardo di failover. I fattori seguenti determinano la durata del ritardo:

  • Intervalli di probe: frequenza con cui il probe controlla l'integrità dell'endpoint.
  • Numero di errori tollerati: numero di errori tollerati dal probe prima di contrassegnare l'endpoint non integro.
  • Timeout del probe: tempo prima che Gestione traffico consideri l'endpoint non integro.
  • Durata (TTL): i server DNS devono aggiornare i record DNS memorizzati nella cache per l'indirizzo IP. Il tempo necessario dipende dal TTL DNS. Il valore TTL predefinito è di 300 secondi (5 minuti), ma è possibile configurare questo valore durante la creazione del profilo di Gestione traffico.

Per altre informazioni, vedere Gestione traffico monitoraggio.

gateway applicazione e Load Balancer

Acquisire familiarità con i criteri del probe di integrità dei gateway applicazione e del servizio di bilanciamento del carico per assicurarsi di comprendere l'integrità delle macchine virtuali. Ecco una breve panoramica:

  • gateway applicazione usa sempre un probe HTTP.

  • Load Balancer può valutare HTTP o TCP. Usare un probe HTTP se una macchina virtuale esegue un server HTTP. Usare TCP per tutto il resto.

  • I probe HTTP inviano una richiesta HTTP GET a un percorso specificato e restare in ascolto di una risposta HTTP 200. Questo percorso può essere il percorso radice ("/") o un endpoint di monitoraggio dell'integrità che implementa la logica personalizzata per controllare l'integrità dell'applicazione.

  • L'endpoint deve consentire richieste HTTP anonime. Se un probe non riesce a raggiungere un'istanza entro il periodo di timeout, il gateway applicazione o Load Balancer interrompe l'invio del traffico a tale macchina virtuale. Il probe continua a controllare e restituirà la macchina virtuale al pool back-end se la macchina virtuale diventa nuovamente disponibile.

Per altre informazioni, vedi:

Eccellenza operativa

Gruppi di risorse: usare i gruppi di risorse per gestire le risorse di Azure per durata, proprietario e altre caratteristiche.

Peering di rete virtuale: usare il peering di rete virtuale per connettere facilmente due o più reti virtuali in Azure. Le reti virtuali vengono visualizzate come una sola per facilitare la connettività. Il traffico tra macchine virtuali nelle reti virtuali con peering usa l'infrastruttura backbone Microsoft. Assicurarsi che lo spazio indirizzi delle reti virtuali non si sovrapponga.

Rete virtuale e subnet: creare una subnet separata per ogni livello della subnet. È consigliabile distribuire macchine virtuali e risorse, ad esempio gateway applicazione e Load Balancer, in una rete virtuale con subnet.

Sicurezza

Web application firewall: la funzionalità WAF di app Azure lication Gateway rileverà e impedirà attacchi a livello HTTP, ad esempio SQL injection (SQLi) o css (cross-site scripting).

Firewall di nuova generazione: Firewall di Azure Premium offre un ulteriore livello di difesa controllando il contenuto per attacchi non Web, ad esempio file dannosi caricati tramite HTTP(S) o qualsiasi altro protocollo.

Crittografia end-to-end: il traffico viene crittografato sempre durante l'attraversamento della rete di Azure. Sia gateway applicazione che Firewall di Azure crittografare il traffico prima di inviarlo al sistema back-end corrispondente.

Distributed Denial of Service (DDoS): usare Protezione di rete DDoS di Azure per una protezione DDoS maggiore rispetto alla protezione di base fornita da Azure.

Gruppi di sicurezza di rete : usare gruppi di sicurezza di rete per limitare il traffico di rete all'interno della rete virtuale. Nell'architettura a tre livelli illustrata di seguito, ad esempio, il livello dati accetta il traffico solo dal livello business, non dal front-end Web. Solo il livello business può comunicare direttamente con il livello di database. Per applicare questa regola, il livello del database deve bloccare tutto il traffico in ingresso, ad eccezione della subnet di livello business.

  1. Consentire il traffico in ingresso dalla subnet del livello business.
  2. Consentire il traffico in ingresso dalla subnet a livello di database. Questa regola consente la comunicazione tra le macchine virtuali del database. La replica del database e il failover richiedono questa regola.
  3. Negare tutto il traffico in ingresso dalla rete virtuale, usando il VirtualNetwork tag nella regola) per sovrascrivere l'istruzione permit inclusa nelle regole del gruppo di sicurezza di rete predefinite.

Creare la regola 3 con priorità inferiore (numero superiore) rispetto alle prime regole.

È possibile usare i tag del servizio per definire i controlli di accesso alla rete nei gruppi di sicurezza di rete o Firewall di Azure.

Per altre informazioni, vedere Configurazione dell'infrastruttura del gateway applicazione.

Ottimizzazione dei costi

Per altre informazioni, vedi:

Efficienza prestazionale

Set di scalabilità di macchine virtuali: usare set di scalabilità di macchine virtuali per automatizzare la scalabilità delle macchine virtuali. I set di scalabilità di macchine virtuali sono disponibili in tutte le dimensioni delle macchine virtuali Windows e Linux. Vengono addebitati solo i costi per le macchine virtuali distribuite e le risorse dell'infrastruttura sottostanti utilizzate. Non sono previsti addebiti incrementali. I vantaggi di set di scalabilità di macchine virtuali sono:

  • Creare e gestire facilmente più macchine virtuali
  • Disponibilità elevata e resilienza delle applicazioni
  • Scalabilità automatizzata quando cambia la domanda di risorse

Per altre informazioni, vedere Set di scalabilità di macchine virtuali.

Passaggi successivi

Per altre architetture di riferimento che usano le stesse tecnologie, vedere: