Risorsa gateway NAT di Azure

Questo articolo descrive i componenti chiave della risorsa gateway NAT che consentono di fornire connettività in uscita altamente sicura, scalabile e resiliente. Alcuni di questi componenti possono essere configurati nella sottoscrizione tramite portale di Azure, interfaccia della riga di comando di Azure, Azure PowerShell, modelli Resource Manager o alternative appropriate.

Architettura del gateway NAT

Il gateway NAT usa la rete definita dal software per operare come servizio distribuito e completamente gestito. Poiché il gateway NAT ha più domini di errore, è in grado di resistere a più errori senza alcun effetto sul servizio.

Il gateway NAT fornisce la traduzione degli indirizzi di rete di origine (SNAT) per le istanze private all'interno delle subnet della rete virtuale di Azure. Se configurato in una subnet, gli INDIRIZZI IP privati all'interno delle subnet SNAT vengono configurati in indirizzi IP pubblici statici di un gateway NAT per connettersi in uscita a Internet. Il gateway NAT fornisce anche la traduzione degli indirizzi di rete di destinazione (DNAT) per i pacchetti di risposta a una connessione originata in uscita.

Diagramma di una risorsa gateway NAT con macchine virtuali e un set di scalabilità di macchine virtuali.

Figura: gateway NAT per internet in uscita

Quando un gateway NAT è collegato a una subnet all'interno di una rete virtuale, il gateway NAT presuppone il tipo di hop successivo predefinito della subnet per tutto il traffico in uscita diretto a Internet. Non sono necessarie configurazioni di routing aggiuntive. Il gateway NAT non fornisce connessioni in ingresso non richieste da Internet. DNAT viene eseguito solo per i pacchetti che arrivano come risposta a un pacchetto in uscita.

Subnet

Un gateway NAT può essere collegato a più subnet all'interno di una rete virtuale per fornire la connettività in uscita a Internet. Quando un gateway NAT è collegato a una subnet, presuppone la route predefinita a Internet. Il gateway NAT sarà quindi il tipo hop successivo per tutto il traffico in uscita destinato a Internet.

Le configurazioni di subnet seguenti non possono essere usate con un gateway NAT:

  • Non è possibile collegare una subnet a più gateway NAT. Il gateway NAT diventa la route predefinita a Internet per una subnet, solo un gateway NAT può fungere da route predefinita.

  • Non è possibile collegare un gateway NAT alle subnet da reti virtuali diverse.

  • Non è possibile usare un gateway NAT con una subnet del gateway. Una subnet gateway è una subnet designata per un gateway VPN per inviare traffico crittografato tra una rete virtuale di Azure e una posizione locale. Per altre informazioni sulla subnet del gateway, vedere Subnet del gateway.

Indirizzi IP pubblici statici

Un gateway NAT può essere associato a indirizzi IP pubblici statici o prefissi IP pubblici per fornire connettività in uscita. Il gateway NAT supporta indirizzi IPv4. Un gateway NAT può usare indirizzi IP pubblici o prefissi in qualsiasi combinazione fino a un totale di 16 indirizzi IP.

  • Non è possibile usare un gateway NAT con indirizzi IP pubblici IPv6 o prefissi.

  • Non è possibile usare un gateway NAT con indirizzi IP pubblici sku di base.

Nota

Se si assegna un prefisso IP pubblico, viene usato l'intero prefisso IP pubblico. Non è possibile assegnare un prefisso IP pubblico e quindi suddividere singoli indirizzi IP da assegnare ad altre risorse. Se si desidera assegnare singoli indirizzi IP da un prefisso IP pubblico a più risorse, è necessario creare singoli indirizzi IP pubblici e assegnarli in base alle esigenze anziché usare il prefisso IP pubblico stesso.

Porte SNAT

L'inventario delle porte SNAT viene fornito dagli indirizzi IP pubblici, dai prefissi IP pubblici o entrambi collegati a un gateway NAT. L'inventario delle porte SNAT è reso disponibile su richiesta per tutte le istanze all'interno di una subnet collegata al gateway NAT. Non è necessaria alcuna preallocation delle porte SNAT per istanza.

Per altre informazioni sulle porte SNAT e sul gateway NAT di Azure, vedere Traduzione indirizzi di rete di origine con gateway NAT di Azure.

Quando più subnet all'interno di una rete virtuale vengono collegate alla stessa risorsa del gateway NAT, l'inventario delle porte SNAT fornito dal gateway NAT viene condiviso in tutte le subnet.

Le porte SNAT fungono da identificatori univoci per distinguere i diversi flussi di connessione tra loro. La stessa porta SNAT può essere usata per connettersi a endpoint di destinazione diversi contemporaneamente.

Le porte SNAT diverse vengono usate per effettuare connessioni allo stesso endpoint di destinazione per distinguere i diversi flussi di connessione tra loro. Le porte SNAT riutilizzate per connettersi alla stessa destinazione vengono posizionate su un timer di raffreddamento del riutilizzo prima che possano essere riutilizzate.

Un singolo gateway NAT può aumentare fino a 16 indirizzi IP. Ogni indirizzo IP pubblico del gateway NAT fornisce 64.512 porte SNAT per creare connessioni in uscita. Un gateway NAT può aumentare fino a oltre 1 milione di porte SNAT. TCP e UDP sono inventari delle porte SNAT separati e non sono correlati al gateway NAT.

Zone di disponibilità

Un gateway NAT può essere creato in una zona di disponibilità specifica o inserita in nessuna zona. Quando un gateway NAT si trova in nessuna zona, Azure seleziona una zona in cui risiede il gateway NAT.

Gli indirizzi IP pubblici con ridondanza della zona possono essere usati senza risorse del gateway NAT di zona.

La raccomandazione consiste nel configurare un gateway NAT in singole zone di disponibilità. Inoltre, deve essere collegato a subnet con istanze private dalla stessa zona. Per altre informazioni sulle zone di disponibilità e sul gateway NAT di Azure, vedere Considerazioni sulla progettazione delle zone di disponibilità.

Diagramma dell'isolamento zonale creando stack zonali.

Dopo la distribuzione di un gateway NAT, la selezione della zona non può essere modificata.

Protocolli

Il gateway NAT interagisce con le intestazioni di trasporto IP e IP dei flussi UDP e TCP. Il gateway NAT è agnostico ai payload del livello applicazione. Gli altri protocolli IP non sono supportati.

Reimpostazione TCP

Un pacchetto di reimpostazione TCP viene inviato quando un gateway NAT rileva il traffico in un flusso di connessione che non esiste. La reimpostazione TCP è uni direzionale per un gateway NAT.

Il flusso di connessione potrebbe non esistere se:

  • Il timeout di inattività del flusso di connessione è stato raggiunto e ha causato la chiusura della connessione in precedenza.

  • Il mittente, dal lato rete di Azure o dal lato Internet pubblico, invia il traffico dopo la chiusura della connessione.

Il gateway NAT elimina in modo automatico un flusso di connessione quando viene raggiunto il timeout inattiva di un flusso. Un pacchetto di reimpostazione TCP viene inviato solo al rilevamento del traffico nel flusso di connessione chiuso. Questa operazione significa che un pacchetto di reimpostazione TCP potrebbe non essere inviato immediatamente.

Il sistema invia un pacchetto di reimpostazione TCP in risposta al rilevamento del traffico in un flusso di connessione non existing, indipendentemente dal fatto che il traffico proviene dal lato rete di Azure o dal lato Internet pubblico.

Timeout di inattività TCP

Un gateway NAT fornisce un intervallo di timeout di inattività configurabile di 4 minuti a 120 minuti per i protocolli TCP. I protocolli UDP hanno un timeout di inattività non configurabile di 4 minuti.

Quando una connessione viene inattiva, il gateway NAT viene bloccato nelle porte SNAT fino al timeout della connessione. Poiché i timer di timeout di inattività lunghi possono aumentare inutilmente la probabilità di esaurimento delle porte SNAT, non è consigliabile aumentare la durata del timeout di inattività TCP a più lungo del tempo predefinito di 4 minuti. Il timer inattiva non influisce su un flusso che non va mai inattiva.

I keepalives TCP possono essere usati per fornire un modello di aggiornamento di connessioni inattive e rilevamento della livezza degli endpoint. Per altre informazioni, vedere questi esempi [.NET] (/dotnet/api/system.net.servicepoint.settcpkeepalive?view=net-7.0). I keep-alive TCP vengono considerati come ACK duplicati dagli endpoint, prevedono un sovraccarico ridotto e sono invisibili al livello applicativo.

I timer di timeout di inattività UDP non sono configurabili, è consigliabile usare udp keepalives per assicurarsi che il valore di timeout inattiva non venga raggiunto e che la connessione venga mantenuta. A differenza delle connessioni TCP, un keepalive UDP abilitato su un lato della connessione si applica solo al flusso di traffico in una direzione. I keepalives UDP devono essere abilitati su entrambi i lati del flusso di traffico per mantenere attivo il flusso di traffico.

Timer

Timer di riutilizzo delle porte

I timer di riutilizzo delle porte determinano la quantità di tempo dopo che una connessione chiude che una porta di origine è in blocco prima che possa essere riutilizzata per passare allo stesso endpoint di destinazione dal gateway NAT.

Nella tabella seguente vengono fornite informazioni su quando una porta TCP diventa disponibile per il riutilizzo dello stesso endpoint di destinazione dal gateway NAT.

Timer Descrizione valore
TCP FIN Dopo che una connessione viene chiusa da un pacchetto TCP FIN, viene attivato un timer di 65 secondi che contiene la porta SNAT. La porta SNAT è disponibile per il riutilizzo al termine del timer. 65 secondi
TCP RST Dopo la chiusura di una connessione da parte di un pacchetto TCP RST (reimpostazione), viene attivato un timer di 16 secondi che contiene la porta SNAT. Al termine del timer, la porta è disponibile per il riutilizzo. 16 secondi
TCP half open Durante la creazione della connessione in cui un endpoint di connessione è in attesa del riconoscimento dall'altro endpoint, viene attivato un timer di 30 secondi. Se non viene rilevato alcun traffico, la connessione viene chiusa. Una volta chiusa la connessione, la porta di origine è disponibile per il riutilizzo nello stesso endpoint di destinazione. 30 secondi

Per il traffico UDP, dopo la chiusura di una connessione, la porta è in attesa per 65 secondi prima che sia disponibile per il riutilizzo.

Timer di timeout di inattività

Timer Descrizione Valore
Timeout di inattività TCP Le connessioni TCP possono andare inattive quando non vengono trasmessi dati tra uno degli endpoint per un periodo di tempo prolungato. Un timer può essere configurato da 4 minuti (impostazione predefinita) a 120 minuti (2 ore) per timeout di una connessione inattiva. Il traffico nel flusso reimposta il timer di timeout di inattività. Configurabile; 4 minuti (impostazione predefinita) - 120 minuti
Timeout di inattività UDP Le connessioni UDP possono andare inattive quando non vengono trasmessi dati tra uno degli endpoint per un periodo di tempo prolungato. I timer di timeout di inattività UDP sono di 4 minuti e non sono configurabili. Il traffico nel flusso reimposta il timer di timeout di inattività. Non configurabile; 4 minuti

Nota

Queste impostazioni dei timer sono soggette a modifica. I valori vengono forniti per facilitare la risoluzione dei problemi e non è consigliabile adottare una dipendenza da timer specifici in questo momento.

Larghezza di banda

Ogni gateway NAT può fornire fino a 50 Gbps di velocità effettiva. Questa velocità effettiva dei dati include i dati elaborati sia in uscita che in ingresso (risposta) tramite una risorsa gateway NAT. È possibile suddividere le distribuzioni in più subnet e assegnare ogni subnet o gruppo di subnet a un gateway NAT per aumentare il numero di istanze.

Prestazioni

Un gateway NAT può supportare fino a 50.000 connessioni simultanee per ogni indirizzo IP pubblico allo stesso endpoint di destinazione tramite Internet per TCP e UDP. Il gateway NAT può elaborare pacchetti 1M al secondo e aumentare fino a 5 milioni di pacchetti al secondo.

Il numero totale di connessioni che un gateway NAT può supportare in qualsiasi momento è fino a 2 milioni. Anche se è possibile che il gateway NAT possa superare 2 milioni di connessioni, si è aumentato il rischio di errori di connessione.

Limitazioni

  • I servizi di bilanciamento del carico di base e gli indirizzi IP pubblici di base non sono compatibili con NAT. Usare invece i servizi di bilanciamento del carico sku standard e gli INDIRIZZI IP pubblici.

  • Il gateway NAT non supporta ICMP

  • La frammentazione IP non è disponibile per il gateway NAT.

  • Il gateway NAT non supporta gli indirizzi IP pubblici con il tipo di configurazione del routing Internet. Per visualizzare un elenco dei servizi di Azure che supportano la configurazione del routing Internet in indirizzi IP pubblici, vedere Servizi supportati per il routing tramite Internet pubblico.

  • Gli indirizzi IP pubblici con protezione DDoS abilitata non sono supportati con il gateway NAT. Per altre informazioni, vedere Limitazioni DDoS .

Passaggi successivi