Ottimizza la configurazione NAT
Dopo aver configurato il gateway Cloud NAT (NAT pubblico o NAT privato), puoi modificarlo in base alle tue esigenze. Questa pagina elenca le attività che puoi eseguire per ottimizzare la configurazione di Cloud NAT.
La modifica delle configurazioni può essere di natura dannosa e può causare il calo delle connessioni NAT (Network Address Translation) esistenti. Per ulteriori informazioni sull'impatto della regolazione delle configurazioni Cloud NAT, consulta Impatto della regolazione delle configurazioni NAT sulle connessioni NAT esistenti.
Visualizzare l'utilizzo delle porte
Prima di modificare l'utilizzo minimo delle porte per VM, controlla l'utilizzo delle porte per VM. Puoi ottenere queste informazioni utilizzando la
metrica compute.googleapis.com/nat/port_usage
.
Nella console Google Cloud, vai alla pagina Monitoring.
Nel riquadro di navigazione, seleziona Metrics Explorer .
Espandi il menu Seleziona una metrica e utilizza i sottomenu per scegliere la metrica
compute.googleapis.com/nat/port_usage
:- In Risorsa, seleziona Istanza VM.
- Per Categoria metrica, seleziona Nat.
- In Metrica, seleziona Utilizzo porta.
Fai clic su Applica.
Per selezionare il gateway Cloud NAT, utilizza il campo Filtri.
Nella sezione Raggruppa per, per Etichette, seleziona instance_id.
Nell'elenco Funzione di raggruppamento, seleziona Massimo.
Espandi Altre opzioni e imposta il campo Allineatore su Massimo.
Per visualizzare l'utilizzo degli ultimi 30 giorni, specifica
30d
.
Per ulteriori informazioni sull'utilizzo di Metrics Explorer, consulta Selezionare le metriche durante l'utilizzo di Metrics Explorer.
Scegli un numero minimo di porte per VM
Scegliere un numero minimo di porte appropriato è importante per aiutarti a massimizzare l'utilizzo degli indirizzi IP NAT.
Prima di aumentare il numero di porte per VM, valuta altre strategie per ridurre l'utilizzo delle porte.
Se devi aumentare il numero di porte per VM, inizia tenendo conto dell'utilizzo delle porte per VM nel gateway. Per informazioni su come trovare questi dati, consulta Visualizzare l'utilizzo delle porte.
Esamina l'utilizzo massimo delle porte negli ultimi 30 giorni o in un altro periodo che ritieni rappresentativo per il tuo gateway Cloud NAT.
Esegui una di queste operazioni:
Se utilizzi l'allocazione statica delle porte, configura il numero di porte per VM in modo che il valore minimo sia uguale al tuo attuale picco di utilizzo delle porte.
Se utilizzi l'allocazione dinamica delle porte, configura il numero di porte per VM in modo che il valore minimo sia inferiore all'utilizzo massimo delle porte e il valore massimo sia superiore all'utilizzo massimo delle porte.
Modificare il numero minimo di porte predefinite allocate per VM
Per decidere come configurare il numero minimo di porte per VM, consulta Scegliere un numero minimo di porte per VM.
Per informazioni sulle conseguenze della modifica dell'allocazione minima delle porte, consulta le seguenti sezioni:
Se nel gateway Cloud NAT è configurata l'allocazione dinamica delle porte, consulta Modificare le porte minime o massime quando è configurata l'allocazione dinamica delle porte.
Console
Nella console Google Cloud, vai alla pagina Cloud NAT.
Fai clic sul gateway Cloud NAT.
Fai clic su
Modifica.Fai clic su Configurazioni avanzate.
Modifica il campo N. minimo di porte per istanza VM.
Fai clic su Salva.
gcloud
Questo comando lascia invariati gli altri campi nella configurazione di Cloud NAT.
gcloud compute routers nats update NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGION \ --min-ports-per-vm=128
Sostituisci quanto segue:
NAT_CONFIG
: il nome della configurazione Cloud NAT.ROUTER_NAME
: il nome del tuo router Cloud.REGION
: la regione di Cloud NAT da aggiornare. Se non specificato, potrebbe esserti chiesto di selezionare una regione (solo modalità interattiva).
Modificare il metodo di assegnazione delle porte
L'allocazione statica delle porte e l'allocazione dinamica delle porte hanno requisiti di configurazione diversi.
Prima di aggiornare il tipo di allocazione delle porte su un gateway Cloud NAT esistente, assicurati che la configurazione del gateway Cloud NAT sia compatibile con il tipo di allocazione delle porte. Se la configurazione non è compatibile, la modifica non va a buon fine.
Per l'allocazione dinamica delle porte, verifica che la mappatura indipendente dagli endpoint sia disattivata.
Verifica che l'impostazione del numero minimo di porte per VM sia una potenza di 2 e che sia compresa tra 32 e 32.768.
Console
Nella console Google Cloud, vai alla pagina Cloud NAT.
Fai clic sul gateway Cloud NAT.
Fai clic su
Modifica.Fai clic su Configurazioni avanzate.
Seleziona o deseleziona Attiva allocazione dinamica delle porte.
Se necessario, modifica i valori per N. minimo di porte per istanza VM e N. massimo di porte per istanza VM.
Fai clic su Salva.
gcloud
Questo comando lascia invariati gli altri campi nella configurazione di Cloud NAT.
gcloud compute routers nats update NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGION \ --enable-dynamic-port-allocation | --no-enable-dynamic-port-allocation \ [ --min-ports-per-vm=MIN_PORTS ] \ [ --max-ports-per-vm=MAX_PORTS ]
Sostituisci quanto segue:
NAT_CONFIG
: il nome della configurazione Cloud NAT.ROUTER_NAME
: il nome del tuo router Cloud.REGION
: la regione di Cloud NAT da aggiornare. Se non specificato, potrebbe esserti chiesto di selezionare una regione (solo modalità interattiva).MIN_PORTS
: il numero minimo di porte da allocare per ogni VM. Se l'allocazione dinamica delle porte è attivata,MIN_PORTS
deve essere una potenza di2
e può essere compresa tra32
e32768
.MAX_PORTS
: il numero massimo di porte da allocare per ogni VM.MAX_PORTS
deve essere una potenza di2
e può essere compreso tra64
e65536
.MAX_PORTS
deve essere maggiore diMIN_PORTS
. Il valore predefinito è65536
.
Modificare le porte minime o massime quando è configurata l'allocazione dinamica delle porte
Dopo aver configurato l'allocazione dinamica delle porte, puoi modificare il numero minimo o massimo di porte assegnate per VM.
Per decidere come configurare il numero minimo di porte per VM, consulta Scegliere un numero minimo di porte per VM.
Per informazioni sulle conseguenze della modifica dell'allocazione minima delle porte, consulta le seguenti sezioni:
Console
Nella console Google Cloud, vai alla pagina Cloud NAT.
Fai clic sul gateway Cloud NAT.
Fai clic su
Modifica.Fai clic su Configurazioni avanzate.
Modifica i campi N. minimo di porte per istanza VM e N. massimo di porte per istanza VM.
Fai clic su Salva.
gcloud
Questo comando lascia invariati gli altri campi nella configurazione di Cloud NAT.
gcloud compute routers nats update NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGION \ --min-ports-per-vm=MIN_PORTS \ --max-ports-per-vm=MAX_PORTS
Sostituisci quanto segue:
NAT_CONFIG
: il nome della configurazione Cloud NAT.ROUTER_NAME
: il nome del tuo router Cloud.REGION
: la regione di Cloud NAT da aggiornare. Se non specificato, potrebbe esserti chiesto di selezionare una regione (solo modalità interattiva).MIN_PORTS
: il numero minimo di porte da allocare per ogni VM. Se l'allocazione dinamica delle porte è attivata,MIN_PORTS
deve essere una potenza di2
e può essere compresa tra32
e32768
.MAX_PORTS
: il numero massimo di porte da allocare per ogni VM.MAX_PORTS
deve essere una potenza di2
e può essere compreso tra64
e65536
.MAX_PORTS
deve essere maggiore diMIN_PORTS
.
Modificare i timeout NAT
Le sezioni seguenti descrivono i timeout NAT e come modificarli:
Timeout NAT
Cloud NAT utilizza i seguenti timeout per le connessioni di protocollo. Questi timeout si applicano sia a NAT pubblico che a NAT privato, tranne dove indicato. Puoi modificare i valori di timeout predefiniti per diminuire o aumentare la frequenza con cui vengono riutilizzati le porte. Ogni valore di timeout è un equilibrio tra l'utilizzo efficiente delle risorse Cloud NAT e la possibile interruzione di connessioni, flussi o sessioni attive.
Timeout | Descrizione | Valore predefinito di Cloud NAT | Configurabile |
---|---|---|---|
Timeout di inattività della mappatura UDP RFC 4787 REQ-5 |
Specifica il tempo in secondi dopo il quale i flussi UDP devono interrompere l'invio di traffico agli endpoint in modo che le mappature Cloud NAT vengano rimosse. Il timeout di inattività della mappatura UDP interessa due endpoint che smettono di inviare traffico tra di loro. Inoltre, influisce sugli endpoint che impiegano più tempo a rispondere o se la latenza di rete è aumentata. Puoi aumentare il valore del timeout specificato per ridurre la frequenza con cui le porte possono essere riutilizzate. Un valore di timeout maggiore indica che le porte vengono trattene per connessioni più lunghe e protegge anche dalle interruzioni del traffico su una porta UDP specifica. |
30 secondi | Sì |
Timeout inattività della connessione TCP stabilita RFC 5382 REQ-5 |
Specifica il tempo in secondi di inattività di una connessione prima che le mappature Cloud NAT vengano rimosse. Il timeout di inattività della connessione TCP stabilita influisce sugli endpoint che impiegano più tempo a rispondere o se la latenza della rete è aumentata. Puoi aumentare il valore del timeout quando vuoi aprire connessioni TCP e mantenerle aperte per molto tempo senza un meccanismo di keepalive. |
1200 secondi (20 minuti) | Sì |
Timeout di inattività della connessione TCP transitoria RFC 5382 REQ-5 |
Specifica il tempo in secondi per cui le connessioni TCP possono rimanere nello stato semiaperto prima che le mappature Cloud NAT possano essere eliminate. Il timeout di inattività della connessione transitoria TCP influisce su un endpoint quando un endpoint esterno richiede un periodo di tempo più lungo rispetto a quello specificato o quando la latenza della rete è aumentata. A differenza del timeout di inattività della connessione TCP stabilita, il timeout di inattività della connessione TCP transitoria interessa solo le connessioni semiaperte. |
30 secondi Nota: indipendentemente dal valore impostato per questo timeout, Cloud NAT potrebbe richiedere fino a 30 secondi aggiuntivi prima che una tupla di porta e indirizzo IP di origine Cloud NAT possa essere utilizzata per elaborare una nuova connessione. |
Sì |
Timeout TCP TIME_WAIT RFC 5382 REQ-5 |
Specifica il tempo in secondi per cui una connessione TCP completamente chiusa viene conservata nelle mappature Cloud NAT dopo la scadenza della connessione. Il timeout TCP TIME_WAIT protegge gli endpoint interni dalla ricezione di pacchetti non validi che appartengono a una connessione TCP chiusa e che vengono ritrasmessi. Puoi diminuire il valore del timeout per migliorare il riutilizzo delle porte Cloud NAT a costo di ricevere eventualmente pacchetti ritrasmessi da una connessione non correlata chiusa in precedenza. |
120 secondi Nota: indipendentemente dal valore impostato per questo timeout, Cloud NAT potrebbe richiedere fino a 30 secondi aggiuntivi prima che un indirizzo IP di origine e una tupla di porta di origine Cloud NAT possano essere utilizzati per elaborare una nuova connessione. Se utilizzi l'allocazione dinamica delle porte, imposta questo timeout su almeno 30 secondi per evitare la perdita di pacchetti. |
Sì |
Timeout di inattività della mappatura ICMP RFC 5508 REQ-2 |
Specifica il tempo in secondi dopo il quale le mappature Cloud NAT (Internet Control Message Protocol) che non hanno flussi di traffico vengono chiuse. Il timeout di inattività della mappatura ICMP influisce su un endpoint quando questo impiega più tempo a rispondere rispetto al tempo specificato o quando la latenza di rete è aumentata. |
30 secondi | Sì |
Modificare i timeout NAT
Console
Nella console Google Cloud, vai alla pagina Cloud NAT.
Fai clic sul gateway Cloud NAT.
Fai clic su
Modifica.Fai clic su Configurazioni avanzate.
Modifica i valori di timeout che vuoi modificare.
Fai clic su Salva.
gcloud
Utilizza il comando gcloud compute routers nats update
con i seguenti flag per modificare questi valori di timeout:
- Timeout di inattività della mappatura UDP:
--udp-idle-timeout
- Timeout di inattività della connessione TCP stabilita:
--tcp-established-idle-timeout
- Timeout di inattività della connessione TCP transitoria:
--tcp-transitory-idle-timeout
- Timeout TCP TIME_WAIT:
--tcp-time-wait-timeout
- Timeout di inattività della mappatura ICMP:
--icmp-idle-timeout
Questo comando lascia invariati gli altri campi nella configurazione NAT.
Ad esempio, il seguente comando modifica il valore dell'intervallo di timeout inattivo della mappatura UDP.
gcloud compute routers nats update NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGION \ --udp-idle-timeout=VALUE
Sostituisci quanto segue:
NAT_CONFIG
: il nome della configurazione Cloud NAT.ROUTER_NAME
: il nome del tuo router Cloud.REGION
: la regione di Cloud NAT da aggiornare. Se non specificato, potrebbe esserti chiesto di selezionare una regione (solo modalità interattiva).VALUE
: il valore del timeout (in secondi)
Ripristina i valori predefiniti per i timeout NAT
Console
Nella console Google Cloud, vai alla pagina Cloud NAT.
Fai clic sul gateway Cloud NAT.
Fai clic su
Modifica.Fai clic su Configurazioni avanzate.
Rimuovi eventuali valori configurati dall'utente che vuoi reimpostare.
Fai clic su Salva.
I valori rimossi vengono reimpostati sui valori predefiniti.
gcloud
Questo comando lascia invariati gli altri campi nella configurazione di Cloud NAT.
gcloud compute routers nats update NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGION \ --clear-udp-idle-timeout \ --clear-icmp-idle-timeout \ --clear-tcp-established-idle-timeout \ --clear-tcp-time-wait-timeout \ --clear-tcp-transitory-idle-timeout
Sostituisci quanto segue:
NAT_CONFIG
: il nome del gateway Cloud NAT.ROUTER_NAME
: il nome del tuo router Cloud.REGION
: la regione di Cloud NAT da aggiornare. Se non specificato, potrebbe esserti chiesto di selezionare una regione (solo modalità interattiva).
Impatto della regolazione delle configurazioni NAT sulle connessioni NAT esistenti
La seguente tabella riassume l'impatto della regolazione delle configurazioni Cloud NAT sulle connessioni esistenti:
Azione di ottimizzazione | Perdita di connessione |
---|---|
Disattivare la mappatura indipendente dagli endpoint | No |
Riduci il numero minimo di porte per VM attivando l'allocazione dinamica delle porte: il numero massimo di porte per VM deve essere maggiore o uguale al vecchio numero minimo di porte per VM e il numero massimo di porte per VM deve essere maggiore o uguale a 1024
|
No |
Aumentare il numero minimo di porte per VM quando l'allocazione dinamica delle porte è già abilitata | No |
Diminuire il numero minimo di porte per VM quando l'allocazione dinamica delle porte è già attivata | No |
Aumentare il numero minimo di porte per VM quando l'allocazione dinamica delle porte è già disabilitata | No |
Diminuire il numero minimo di porte per VM quando l'allocazione dinamica delle porte è già disabilitata | Sì |
Aumentare il numero massimo di porte per VM | No |
Diminuire il numero massimo di porte per VM se l'allocazione dinamica delle porte è già abilitata | Sì |
Modificare i timeout di Cloud NAT quando l'allocazione dinamica delle porte è attivata o disattivata | No |
Disattivare l'allocazione dinamica delle porte | Sì |
Passaggi successivi
- Configura logging e monitoraggio per Cloud NAT.
- Risolvi i problemi comuni relativi alle configurazioni NAT.