Considerazioni sul gateway NAT di Azure per la multi-tenancy
Il gateway NAT di Azure fornisce il controllo sulla connettività di rete in uscita dalle risorse ospitate all'interno di una rete virtuale di Azure. Questo articolo illustra in che modo il gateway NAT può ridurre l'esaurimento delle porte SNAT (Source Network Address Translation), che può influire sulle applicazioni multi-tenant. Viene anche esaminato il modo in cui il gateway NAT assegna indirizzi IP statici al traffico in uscita dalla soluzione multi-tenant.
Nota
I firewall, ad esempio Firewall di Azure, consentono di controllare e registrare il traffico in uscita. Firewall di Azure fornisce anche un controllo degli indirizzi IP in uscita e scalabilità delle porte SNAT simile al gateway NAT. Il gateway NAT è meno costoso, ma ha anche meno funzionalità e non è un prodotto di sicurezza.
Funzionalità del gateway NAT che supportano la multi-tenancy
Porte SNAT su larga scala
Le porte SNAT vengono allocate quando l'applicazione effettua più connessioni in uscita simultanee allo stesso indirizzo IP pubblico, sulla stessa porta. Le porte SNAT sono una risorsa limitata all'interno dei servizi di bilanciamento del carico. Se l'applicazione apre un numero elevato di connessioni separate allo stesso host, può utilizzare tutte le porte SNAT disponibili. Questa situazione è detta esaurimento delle porte SNAT.
Nella maggior parte delle applicazioni, l'esaurimento delle porte SNAT indica che l'applicazione gestisce in modo non corretto le connessioni HTTP o le porte TCP. Tuttavia, alcune applicazioni multi-tenant sono a rischio particolare di superare i limiti delle porte SNAT, anche se riutilizzano le connessioni in modo appropriato. Ad esempio, questa situazione può verificarsi quando l'applicazione si connette a molti database specifici del tenant dietro lo stesso gateway di database.
Suggerimento
Se si osserva l'esaurimento delle porte SNAT in un'applicazione multi-tenant, è necessario verificare se l'applicazione segue le procedure consigliate. Assicurarsi di riutilizzare le connessioni HTTP e di non ricreare nuove connessioni ogni volta che ci si connette a un servizio esterno. Potrebbe essere possibile distribuire un gateway NAT per risolvere il problema, ma se il codice non segue le procedure consigliate, potrebbe verificarsi di nuovo il problema in futuro.
Il problema è esacerbato quando si lavora con i servizi di Azure che condividono allocazioni di porte SNAT tra più clienti, ad esempio app Azure Servizio e Funzioni di Azure.
Se si verifica un esaurimento SNAT e si è certi che il codice dell'applicazione gestisca correttamente le connessioni in uscita, valutare la possibilità di distribuire il gateway NAT. Questo approccio viene comunemente usato dai clienti che distribuiscono soluzioni multi-tenant basate su app Azure Servizio e Funzioni di Azure.
Un singolo gateway NAT può avere più indirizzi IP pubblici collegati e ogni indirizzo IP pubblico fornisce un set di porte SNAT per la connessione in uscita a Internet. Per comprendere il numero massimo di porte e indirizzi IP SNAT supportati da un singolo gateway NAT, vedere Sottoscrizione di Azure e limiti, quote e vincoli del servizio. Se è necessario eseguire il ridimensionamento oltre questo limite, è possibile valutare la possibilità di distribuire più istanze del gateway NAT tra più subnet o reti virtuali. Ogni macchina virtuale in una subnet può usare una delle porte SNAT disponibili, se necessario.
Controllo degli indirizzi IP in uscita
Il controllo degli indirizzi IP in uscita può essere utile nelle applicazioni multi-tenant, quando si hanno tutti i requisiti seguenti:
- Si usano i servizi di Azure che non forniscono automaticamente indirizzi IP statici dedicati per il traffico in uscita. Questi servizi includono app Azure Servizio, Funzioni di Azure, Gestione API (durante l'esecuzione nel livello a consumo) e Istanze di Azure Container.
- È necessario connettersi alle reti dei tenant tramite Internet.
- I tenant devono filtrare il traffico in ingresso in base all'indirizzo IP di ogni richiesta.
Quando un'istanza del gateway NAT viene applicata a una subnet, qualsiasi traffico in uscita da tale subnet usa gli indirizzi IP pubblici associati al gateway NAT.
Nota
Quando si associano più indirizzi IP pubblici a un singolo gateway NAT, il traffico in uscita potrebbe provenire da uno di questi indirizzi IP. Potrebbe essere necessario configurare le regole del firewall nella destinazione. È consigliabile consentire a ogni indirizzo IP o usare una risorsa prefisso indirizzo IP pubblico per usare un set di indirizzi IP pubblici nello stesso intervallo.
Modelli di isolamento
Se è necessario fornire indirizzi IP pubblici in uscita diversi per ogni tenant, è necessario distribuire singole risorse del gateway NAT. Ogni subnet può essere associata a una singola istanza del gateway NAT. Per distribuire più gateway NAT, è necessario distribuire più subnet o reti virtuali. A sua volta, è probabile che sia necessario distribuire più set di risorse di calcolo.
Per altre informazioni su come progettare una topologia di rete multi-tenant, vedere Approcci architetturali per le soluzioni multi-tenant.
Collaboratori
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.
Autore principale:
- John Downs | Principal Customer Engineer, FastTrack per Azure
Altri contributori:
- Aimee Littleton | Program Manager 2, Azure NAT Gateway
- Arsen Vladimirintune | Principal Customer Engineer, FastTrack per Azure
- Joshua Waddell | Senior Customer Engineer, FastTrack per Azure
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.