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.

  1. Nella console Google Cloud , vai alla pagina Monitoring.

    Vai a Monitoring

    1. Nel riquadro di navigazione, seleziona Esplora metriche .

    2. 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.
    3. Fai clic su Applica.

    4. Per selezionare il gateway Cloud NAT, utilizza il campo Filtri.

    5. Nella sezione Raggruppa per, seleziona instance_id per etichette.

    6. Nell'elenco Funzione di raggruppamento, seleziona Max.

    7. Espandi Altre opzioni e imposta il campo Aligner (Allineatore) su max.

    8. 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

  1. Nella Google Cloud console, vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Fai clic sul gateway Cloud NAT.

  3. Fai clic su Modifica.

  4. Fai clic su Configurazioni avanzate.

  5. Modifica il campo Numero minimo di porte per istanza VM.

  6. 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.

Console

  1. Nella Google Cloud console, vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Fai clic sul gateway Cloud NAT.

  3. Fai clic su Modifica.

  4. Fai clic su Configurazioni avanzate.

  5. Seleziona o deseleziona Abilita allocazione dinamica delle porte.

  6. Se necessario, modifica i valori di Numero minimo di porte per istanza VM e Numero massimo di porte per istanza VM.

  7. 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 di 2 e può essere compreso tra 32 e 32768.
  • MAX_PORTS: il numero massimo di porte da allocare per ogni VM. MAX_PORTS deve essere una potenza di 2 e può essere compreso tra 64 e 65536. MAX_PORTS deve essere maggiore di MIN_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

  1. Nella Google Cloud console, vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Fai clic sul gateway Cloud NAT.

  3. Fai clic su Modifica.

  4. Fai clic su Configurazioni avanzate.

  5. Modifica i campi Numero minimo di porte per istanza VM e Numero massimo di porte per istanza VM.

  6. 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 di 2 e può essere compreso tra 32 e 32768.
  • MAX_PORTS: il numero massimo di porte da allocare per ogni VM. MAX_PORTS deve essere una potenza di 2 e può essere compreso tra 64 e 65536. MAX_PORTS deve essere maggiore di MIN_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

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)

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.

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.

Timeout di inattività del mapping ICMP
(applicabile solo a Public NAT)

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

Modificare i timeout NAT

Console

  1. Nella Google Cloud console, vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Fai clic sul gateway Cloud NAT.

  3. Fai clic su Modifica.

  4. Fai clic su Configurazioni avanzate.

  5. Modifica i valori di timeout che vuoi cambiare.

  6. 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

  1. Nella Google Cloud console, vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Fai clic sul gateway Cloud NAT.

  3. Fai clic su Modifica.

  4. Fai clic su Configurazioni avanzate.

  5. Rimuovi tutti i valori configurati dall'utente che vuoi reimpostare.

  6. 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
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
Modificare i timeout di Cloud NAT quando l'allocazione dinamica delle porte è attivata o disattivata No
Disabilitare l'allocazione dinamica delle porte

Passaggi successivi