Considerazioni sul gateway NAT di Azure per la multi-tenancy

Il gateway NAT di Azure consente di controllare la connettività di rete in uscita dalle risorse ospitate all'interno di una rete virtuale di Azure. In questo articolo viene esaminato il modo in cui il gateway NAT può attenuare 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 offre anche un controllo simile per la scalabilità delle porte SNAT e l'indirizzo IP in uscita 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 erroneamente le connessioni HTTP o le porte TCP. Tuttavia, alcune applicazioni multi-tenant sono a rischio specifico 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 si aggrava quando si lavora con i servizi di Azure che condividono allocazioni di porte SNAT tra più clienti, ad esempio Servizio app di Azure e Funzioni di Azure.

Se si determina l'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 Servizio app di Azure e Funzioni di Azure.

Ogni indirizzo IP pubblico collegato al gateway NAT fornisce 64.512 porte SNAT per la connessione in uscita a Internet. Il gateway NAT può essere ridimensionato per usare fino a 16 indirizzi IP pubblici che fornisce oltre 1 milione di porte SNAT. Se è necessario eseguire il ridimensionamento oltre questo limite, è possibile distribuire più istanze del gateway NAT tra più subnet o reti virtuali. Ogni macchina virtuale in una subnet può usare una qualsiasi 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 Servizio app di Azure, Funzioni di Azure, Gestione API (in 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 specificare 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 la rete in soluzioni multi-tenant .

Autori di contributi

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai collaboratori seguenti.

Autore principale:

  • John Downs | Principal Customer Engineer, FastTrack per Azure

Altri collaboratori:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi