Panoramica di Cloud NAT
Cloud NAT è l'evoluzione della configurazione di uscita predefinita del progetto. Cloud NAT è un servizio a livello di progetto e di zona limitato al traffico IPv4 e fornisce le seguenti funzionalità:
- Più gateway per progetto che possono inviare il traffico in uscita da diversi set di endpoint.
- Più IP in uscita configurabili per gateway.
- Più selettori di etichette endpoint configurabili per gateway.
- Timeout di connessione configurabili per gateway.
- Maggiore affidabilità e raggio di esplosione inferiore in caso di errore del nodo in uscita.
Il seguente diagramma illustra una panoramica di esempio per Cloud NAT. Ogni gateway invia in uscita tutto il traffico diretto a IP non interni dagli endpoint di pod o VM (nello stesso progetto del gateway) che hanno tutte le etichette nel selettore di etichette del gateway (corrispondenza AND). Gli endpoint in progetti diversi o che non corrispondono completamente al selettore di etichette non possono inviare il traffico in uscita tramite il gateway. I gateway assegneranno staticamente uno dei loro IP in uscita a ogni endpoint che invia il traffico in uscita tramite questi gateway. Gli IP delle subnet foglia vengono utilizzati per specificare il set di IP in uscita che ogni gateway Cloud NAT può utilizzare.

Ad esempio, se un pod in project-1, con l'etichetta app:aa e con l'IP 192.168.0.1 invia un pacchetto con l'IP di destinazione 22.22.22.22, questo verrà indirizzato al gateway Cloud NAT. Il gateway sostituirà l'IP di origine con l'IP in uscita assegnato all'endpoint del pod (34.1.22.1) e lo inoltrerà al VRF dati. Se una risposta proviene da questo VRF, eseguirà l'operazione inversa e inoltrerà il pacchetto risultante all'endpoint del pod. Lo stesso meccanismo si applicherà alle VM in quel progetto ed etichetta.

Per impostazione predefinita, le connessioni in uscita create tramite un gateway Cloud NAT avranno i seguenti timeout. Se necessario, possono essere configurati manualmente.
Timeout |
Valore predefinito (secondi) |
Connessioni non TCP |
60 |
Connessioni TCP inattive |
8000 |
Chiusura delle connessioni TCP |
10 |
Stabilimento della connessione TCP |
60 |
Limitazioni
- Ogni endpoint può inviare il traffico in uscita solo tramite un singolo gateway Cloud NAT utilizzando un singolo indirizzo IP in uscita. Questo indirizzo IP viene assegnato automaticamente dal gateway a ogni endpoint. Questa assegnazione non cambierà a meno che non venga modificata la configurazione dell'endpoint o del gateway.
- Per garantire che il routing tra endpoint e gateway sia deterministico, i gateway Cloud NAT non devono avere selettori di etichette sovrapposti e gli endpoint non devono avere etichette corrispondenti a più gateway.
- Se l'endpoint ha anche route dai gateway VPN, queste avranno la precedenza sulle route dei gateway Cloud NAT.
Limiti di scalabilità
- Il numero massimo di indirizzi IP in uscita per progetto è 100. Se le subnet assegnate al gateway Cloud NAT superano 100, il gateway utilizzerà solo i primi 100 IP.
- Il numero massimo di connessioni parallele per IP in uscita per protocollo a un IP e una porta di destinazione specifici è limitato a 32.000. Il superamento di questo limite causerà il fallimento delle connessioni.
- Il numero massimo di mapping NAT è 1000 per VPC per zona. Viene creato un mapping per ogni endpoint assegnato a ogni gateway Cloud NAT. Poiché un endpoint può essere assegnato a un solo gateway NAT, il numero massimo di endpoint che possono utilizzare Cloud NAT in una zona è 1000. I mapping NAT NON vengono scalati in base al numero di connessioni.
Comportamento di failover
Se un nodo in uscita diventa non disponibile, i gateway Cloud NAT che utilizzano quel nodo in uscita migreranno automaticamente i relativi IP esterni dal nodo non disponibile ad altri nodi in uscita disponibili. I gateway riconfigureranno quindi il sistema per inviare il traffico in uscita utilizzando gli altri nodi disponibili. Una volta completata la riconfigurazione, gli endpoint che utilizzavano il nodo non disponibile potranno ristabilire le connessioni in uscita.