Ottimizzare la configurazione NAT
Dopo aver configurato il gateway Cloud NAT (NAT pubblico o NAT privato), puoi modificare la configurazione 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 distruttiva e può causare l'interruzione delle connessioni NAT (Network Address Translation) esistenti. Per ulteriori informazioni sull'impatto della regolazione delle configurazioni di 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, esamina 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 Esplora metriche
.
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.
- Per Metrica, seleziona Utilizzo porta.
Fai clic su Applica.
Per selezionare il gateway Cloud NAT, utilizza il campo Filtri.
Nella sezione Raggruppa per, seleziona instance_id per etichette.
Nell'elenco Funzione di raggruppamento, seleziona Max.
Espandi Altre opzioni e imposta il campo Aligner (Allineatore) su max.
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 Esplora metriche.
Scegli un numero minimo di porte per VM
La scelta di un numero minimo appropriato di porte è importante per 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 a considerare l'utilizzo delle porte per VM nel gateway. Per informazioni su come trovare questi dati, vedi 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 all'utilizzo massimo attuale 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.
Modifica il numero minimo di porte predefinite allocate per VM
Per assistenza nella scelta della configurazione del 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, vedi le seguenti sezioni:
Se il gateway Cloud NAT ha configurato l'allocazione dinamica delle porte, consulta Modificare il numero minimo o massimo di porte quando è configurata l'allocazione dinamica delle porte.
Console
Nella Google Cloud console, vai alla pagina Cloud NAT.
Fai clic sul gateway Cloud NAT.
Fai clic su
Modifica.Fai clic su Configurazioni avanzate.
Modifica il campo Numero minimo di porte per istanza VM.
Fai clic su Salva.
gcloud
Utilizza il
comando gcloud compute routers nats update
.
Questo comando lascia invariati gli altri campi nella configurazione 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 specificata, 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, controlla 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 sia compresa tra 32 e 32.768.
Console
Nella Google Cloud console, vai alla pagina Cloud NAT.
Fai clic sul gateway Cloud NAT.
Fai clic su
Modifica.Fai clic su Configurazioni avanzate.
Seleziona o deseleziona Abilita allocazione dinamica delle porte.
Se necessario, modifica i valori di Numero minimo di porte per istanza VM e Numero massimo di porte per istanza VM.
Fai clic su Salva.
gcloud
Utilizza il
comando gcloud compute routers nats update
.
Questo comando lascia invariati gli altri campi nella configurazione 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 specificata, 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 compreso 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 assistenza nella scelta della configurazione del 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, vedi le seguenti sezioni:
Console
Nella Google Cloud console, vai alla pagina Cloud NAT.
Fai clic sul gateway Cloud NAT.
Fai clic su
Modifica.Fai clic su Configurazioni avanzate.
Modifica i campi Numero minimo di porte per istanza VM e Numero massimo di porte per istanza VM.
Fai clic su Salva.
gcloud
Utilizza il
comando gcloud compute routers nats update
.
Questo comando lascia invariati gli altri campi nella configurazione 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 specificata, 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 compreso 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
.
Modifica 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 sia a NAT privato, se non diversamente indicato. Puoi modificare i valori di timeout predefiniti per diminuire o aumentare la velocità con cui le porte vengono riutilizzate. Ogni valore di timeout rappresenta un equilibrio tra l'utilizzo efficiente delle risorse Cloud NAT e la possibile interruzione di connessioni, flussi o sessioni attivi.
Timeout | Descrizione | Valore predefinito di Cloud NAT | Configurabile |
---|---|---|---|
Timeout di inattività del mapping 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 i mapping Cloud NAT vengano rimossi. Il timeout di inattività della mappatura UDP influisce su due endpoint che interrompono l'invio di traffico l'uno all'altro. Influisce anche sugli endpoint che impiegano più tempo a rispondere o se la latenza di rete è aumentata. Puoi aumentare il valore di timeout specificato per ridurre la velocità con cui le porte possono essere riutilizzate. Il valore di timeout più elevato indica che le porte vengono mantenute per connessioni più lunghe e protegge anche dalle interruzioni del traffico su un socket UDP specifico. |
30 secondi | Sì |
Timeout di inattività della connessione TCP stabilita RFC 5382 REQ-5 |
Specifica il tempo in secondi in cui una connessione è inattiva prima che vengano rimosse le mappature Cloud NAT. Il timeout di inattività della connessione stabilita TCP influisce sugli endpoint che impiegano più tempo a rispondere o se la latenza di rete è aumentata. Puoi aumentare il valore di timeout quando vuoi aprire connessioni TCP e mantenerle aperte a lungo senza un meccanismo keepalive. |
1200 secondi (20 minuti) | Sì |
Timeout di inattività della connessione TCP transitoria RFC 5382 REQ-5 |
Specifica il tempo in secondi in cui le connessioni TCP possono rimanere nello stato semiaperto prima che i mapping Cloud NAT possano essere eliminati. Il timeout di inattività della connessione temporanea TCP influisce su un endpoint quando un endpoint esterno impiega un periodo di tempo più lungo di quello specificato o quando si verifica un aumento della latenza di rete. A differenza del timeout di inattività della connessione TCP stabilita, il timeout di inattività della connessione TCP temporanea influisce solo sulle 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 indirizzo IP di origine e porta 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 in cui una connessione TCP completamente chiusa viene mantenuta nei mapping Cloud NAT dopo la scadenza della connessione. Il timeout TCP TIME_WAIT protegge gli endpoint interni dalla ricezione di pacchetti non validi appartenenti a una connessione TCP chiusa che vengono ritrasmessi. Puoi diminuire il valore di timeout per migliorare il riutilizzo delle porte Cloud NAT a costo di ricevere potenzialmente pacchetti ritrasmessi da una connessione chiusa in precedenza e non correlata. |
120 secondi Nota:indipendentemente dal valore impostato per questo timeout, Cloud NAT potrebbe richiedere fino a 30 secondi aggiuntivi prima che una tupla di indirizzo IP di origine e porta di origine Cloud NAT possa essere utilizzata per elaborare una nuova connessione. Se utilizzi l'allocazione dinamica delle porte, imposta questo timeout su 15 secondi o più per evitare la perdita di pacchetti. |
Sì |
Timeout di inattività del mapping ICMP RFC 5508 REQ-2 |
Specifica il tempo in secondi dopo il quale vengono chiuse le mappature Cloud NAT di Internet Control Message Protocol (ICMP) che non hanno flussi di traffico. Il timeout di inattività della mappatura ICMP influisce su un endpoint quando l'endpoint impiega più tempo a rispondere rispetto al tempo specificato o quando la latenza di rete aumenta. |
30 secondi | Sì |
Modificare i timeout NAT
Console
Nella Google Cloud console, 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 cambiare.
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 TIME_WAIT TCP:
--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 di timeout di inattività del mapping 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 specificata, potrebbe esserti chiesto di selezionare una regione (solo modalità interattiva).VALUE
: il valore di timeout (in secondi)
Ripristina i timeout NAT ai valori predefiniti
Console
Nella Google Cloud console, vai alla pagina Cloud NAT.
Fai clic sul gateway Cloud NAT.
Fai clic su
Modifica.Fai clic su Configurazioni avanzate.
Rimuovi tutti i valori configurati dall'utente che vuoi reimpostare.
Fai clic su Salva.
I valori rimossi vengono ripristinati ai valori predefiniti.
gcloud
Utilizza il
comando gcloud compute routers nats update
.
Questo comando lascia invariati gli altri campi nella configurazione 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 specificata, 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 modifica delle configurazioni Cloud NAT sulle connessioni esistenti:
Azione di ottimizzazione | Interruzione della connessione |
---|---|
Disattivare il mapping indipendente dagli endpoint | No |
Diminuisci il numero minimo di porte per VM durante l'abilitazione dell'allocazione dinamica delle porte: numero massimo di porte per VM >= numero minimo di porte per VM precedente e numero massimo di porte per VM >= 1024
|
No |
Aumenta il numero minimo di porte per VM quando l'allocazione dinamica delle porte è già abilitata | No |
Diminuisci il numero minimo di porte per VM quando l'allocazione dinamica delle porte è già abilitata | No |
Aumenta il numero minimo di porte per VM quando l'allocazione dinamica delle porte è già disabilitata | No |
Diminuisci 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 |
Ridurre il numero massimo di porte per VM quando l'allocazione dinamica delle porte è già abilitata | Sì |
Modificare i timeout di Cloud NAT quando l'allocazione dinamica delle porte è attivata o disattivata | No |
Disabilitare l'allocazione dinamica delle porte | Sì |
Passaggi successivi
- Configura logging e monitoraggio per Cloud NAT.
- Risolvi i problemi comuni con le configurazioni NAT.