Ottimizza configurazione NAT

Dopo aver impostato la configurazione del gateway Cloud NAT (Public NAT o Private NAT), puoi modificare la configurazione in base ai tuoi requisiti. Questa pagina elenca le attività che puoi eseguire per ottimizzare la configurazione di Cloud NAT.

La modifica delle configurazioni può essere di natura invasiva e può causare l'interruzione delle connessioni NAT (Network Address Translation) esistenti. Per ulteriori informazioni sull'impatto dell'ottimizzazione delle configurazioni di Cloud NAT, consulta Impatto dell'ottimizzazione delle configurazioni NAT sulle connessioni NAT esistenti.

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

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

    Vai a Monitoring

    1. Nel riquadro di navigazione, seleziona Metrics Explorer .

    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.
      • In Categoria metrica, seleziona Nat.
      • Per Metrica, seleziona Utilizzo porte.
    3. Fai clic su Applica.

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

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

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

    7. Espandi Altre opzioni e imposta il campo Allineatore su Massimo.

    8. Per visualizzare l'utilizzo negli ultimi 30 giorni, specifica 30d.

    Per ulteriori informazioni sull'uso di Metrics Explorer, consulta Selezionare metriche quando si utilizza Metrics Explorer.

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, prendi in considerazione altre strategie per ridurre l'utilizzo delle porte.

Se hai bisogno di aumentare il numero di porte per VM, inizia considerando l'utilizzo delle porte per VM nel tuo gateway. Per informazioni su come trovare questi dati, consulta Visualizzare l'utilizzo delle porte.

Controlla l'utilizzo massimo delle porte negli ultimi 30 giorni o per un altro periodo che ritieni rappresentativo del 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 minimo corrisponda all'utilizzo di picco attuale delle porte.

  • Se utilizzi l'allocazione dinamica delle porte, configura il numero di porte per VM in modo che il numero minimo sia inferiore al picco di utilizzo delle porte e il massimo sia superiore al picco di utilizzo delle porte.

Modifica il numero minimo di porte predefinite allocate per VM

Per informazioni su 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 il numero minimo o massimo di porte quando è configurata l'allocazione dinamica delle porte.

Console

  1. Nella console Google Cloud, 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

Questo comando lascia invariati gli altri campi della 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 specificata, ti potrebbe essere chiesto di selezionare un'area geografica (solo modalità interattiva).

Modifica il metodo di allocazione 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 in questione. Se la configurazione non è compatibile, la modifica non va a buon fine.

Console

  1. Nella console Google Cloud, 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 per Numero minimo di porte per istanza VM e Numero massimo di porte per istanza VM.

  7. Fai clic su Salva.

gcloud

Questo comando lascia invariati gli altri campi della 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 specificata, ti potrebbe essere chiesto di selezionare un'area geografica (solo modalità interattiva).
  • MIN_PORTS: il numero minimo di porte da allocare per ogni VM. Se l'allocazione dinamica delle porte è abilitata, MIN_PORTS deve avere una potenza di 2 e può essere compresa tra 32 e 32768.
  • MAX_PORTS: il numero massimo di porte da allocare per ogni VM. MAX_PORTS deve avere una potenza pari a 2 e può essere compreso tra 64 e 65536. MAX_PORTS deve essere maggiore di MIN_PORTS. Il valore predefinito è 65536.

Modifica il numero minimo o massimo di porte 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 informazioni su 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

  1. Nella console Google Cloud, 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

Questo comando lascia invariati gli altri campi della 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 specificata, ti potrebbe essere chiesto di selezionare un'area geografica (solo modalità interattiva).
  • MIN_PORTS: il numero minimo di porte da allocare per ogni VM. Se l'allocazione dinamica delle porte è abilitata, MIN_PORTS deve avere una potenza di 2 e può essere compresa tra 32 e 32768.
  • MAX_PORTS: il numero massimo di porte da allocare per ogni VM. MAX_PORTS deve avere una potenza pari a 2 e può essere compreso tra 64 e 65536. MAX_PORTS deve essere maggiore di MIN_PORTS.

Modifica timeout NAT

Le seguenti sezioni 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 Public NAT che a Private NAT, se non diversamente indicato. Puoi modificare i valori di timeout predefiniti per diminuire o aumentare la frequenza di riutilizzo delle porte. Ogni valore di timeout è un equilibrio tra l'uso efficiente delle risorse Cloud NAT e possibili interruzioni di connessioni, flussi o sessioni attive.

Timeout Descrizione Valore predefinito di Cloud NAT Configurabile

Timeout inattività della mappatura UDP

RFC 4787 REQ-5

Specifica l'intervallo di tempo in secondi trascorso il quale i flussi UDP devono interrompere l'invio del traffico agli endpoint in modo che le mappature di Cloud NAT vengano rimosse.

Il timeout di inattività della mappatura UDP interessa due endpoint che smettono di inviare il traffico l'uno all'altro. Interessa anche gli endpoint che richiedono più tempo per rispondere o in caso di maggiore latenza di rete.

Puoi aumentare il valore di timeout specificato per ridurre la frequenza con cui possono essere riutilizzate le porte. Un valore di timeout maggiore indica che le porte vengono mantenute per connessioni più lunghe e protegge anche dalle pause del traffico su un socket UDP specifico.

30 secondi

Timeout di inattività della connessione stabilita TCP

RFC 5382 REQ-5

Specifica il tempo in secondi in cui una connessione rimane inattiva prima che le mappature di Cloud NAT vengano rimosse.

Il timeout di inattività della connessione stabilita tramite TCP interessa gli endpoint che impiegano più tempo a rispondere o se la latenza di rete aumenta.

Puoi aumentare il valore di timeout quando vuoi aprire le connessioni TCP e mantenerle aperte per molto tempo senza un meccanismo keepalive attivo.

1200 secondi (20 minuti)

Timeout inattività della connessione TCP transitoria

RFC 5382 REQ-5

Specifica l'intervallo di tempo in secondi durante il quale 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 interessa un endpoint quando un endpoint esterno impiega un periodo più lungo rispetto al tempo specificato o quando la latenza di rete aumenta. A differenza del timeout di inattività della connessione TCP stabilita, il timeout di inattività della connessione TCP di transito interessa solo le connessioni semiaperte.

30 secondi

Nota: indipendentemente dal valore impostato per questo timeout, Cloud NAT potrebbe richiedere altri 30 secondi prima di poter utilizzare un indirizzo IP di origine di Cloud NAT e una tupla della porta di origine per elaborare una nuova connessione.

Timeout TCP TIME_WAIT

RFC 5382 REQ-5

Specifica l'intervallo di tempo in secondi in cui una connessione TCP completamente chiusa viene mantenuta 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 che vengono ritrasmessi.

Puoi diminuire il valore di timeout per migliorare il riutilizzo delle porte Cloud NAT a costo dell'eventuale ricezione di pacchetti ritrasmessi da una connessione non correlata e precedentemente chiusa.

120 secondi

Nota: indipendentemente dal valore impostato per questo timeout, Cloud NAT potrebbe richiedere altri 30 secondi prima di poter utilizzare un indirizzo IP di origine di Cloud NAT e una tupla della porta di origine per elaborare una nuova connessione. Se utilizzi l'allocazione dinamica delle porte, imposta questo timeout su un valore pari o superiore a 30 secondi per evitare la perdita di pacchetti.

Timeout inattività mappatura ICMP
(applicabile solo a Public NAT)

RFC 5508 REQ-2

Specifica il tempo in secondi dopo il quale vengono chiuse le mappature Cloud NAT ICMP (Internet Control Message Protocol) senza flussi di traffico.

Il timeout di inattività della mappatura ICMP interessa un endpoint quando questo impiega più tempo per rispondere rispetto al tempo specificato o quando la latenza di rete aumenta.

30 secondi

Modifica timeout NAT

Console

  1. Nella console Google Cloud, 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 inattività della mappatura UDP: --udp-idle-timeout
  • Timeout di inattività della connessione stabilita TCP: --tcp-established-idle-timeout
  • Timeout inattività connessione TCP di transito: --tcp-transitory-idle-timeout
  • Timeout TCP TIME_WAIT: --tcp-time-wait-timeout
  • Timeout per inattività della mappatura ICMP: --icmp-idle-timeout

Questo comando lascia invariati gli altri campi della configurazione NAT.

Ad esempio, il comando seguente modifica il valore di Timeout inattività 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 specificata, ti potrebbe essere chiesto di selezionare un'area geografica (solo modalità interattiva).
  • VALUE: il valore di timeout (in secondi)

Reimposta i valori predefiniti dei timeout NAT

Console

  1. Nella console Google Cloud, 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 sui valori predefiniti.

gcloud

Questo comando lascia invariati gli altri campi della 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 specificata, ti potrebbe essere chiesto di selezionare un'area geografica (solo modalità interattiva).

Impatto dell'ottimizzazione delle configurazioni NAT sulle connessioni NAT esistenti

La tabella seguente riassume l'impatto dell'ottimizzazione delle configurazioni di Cloud NAT sulle connessioni esistenti:

Azione di ottimizzazione Interruzione della connessione
Disabilita la mappatura indipendente dagli endpoint No
Riduci il numero minimo di porte per VM abilitando l'allocazione dinamica delle porte:
numero massimo di porte per VM >= numero minimo di porte precedenti per VM e
numero massimo di porte per VM >= 1024
No
Aumenta il numero minimo di porte per VM se è già abilitata l'allocazione dinamica delle porte No
Riduci il numero minimo di porte per VM se è già abilitata l'allocazione dinamica delle porte No
Aumenta il numero minimo di porte per VM se l'allocazione dinamica delle porte è già disabilitata No
Riduci il numero minimo di porte per VM se l'allocazione dinamica delle porte è già disabilitata
Aumenta il numero massimo di porte per VM No
Riduci il numero massimo di porte per VM se è già abilitata l'allocazione dinamica delle porte
Modifica i timeout di Cloud NAT se l'allocazione dinamica delle porte è abilitata o disabilitata No
Disattiva l'allocazione dinamica delle porte

Passaggi successivi