Ottimizza 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 invasiva e può causare problemi connessioni NAT (Network Address Translation) da interrompere. 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, esamina di utilizzo delle porte per VM. Puoi ottenere queste informazioni utilizzando il 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 Metrica compute.googleapis.com/nat/port_usage:

      • In Risorsa, seleziona Istanza VM.
      • Per Categoria di 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 le etichette.

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

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

    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 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 prendendo in considerazione di 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 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 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 informazioni su come configurare il numero minimo di porte per VM, consulta Scegli 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

  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 tua configurazione Cloud NAT.
  • ROUTER_NAME: il nome del tuo router Cloud.
  • REGION: la regione di Cloud NAT da aggiornare. Se non specificato, ti potrebbe essere chiesto di selezionare una regione (solo modalità interattiva).

Modificare il metodo di assegnazione delle porte

Allocazione delle porte statica e dinamica l'allocazione delle porte ha diverse di configurazione.

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 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 tua 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 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 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 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 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

  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 N. minimo di porte per istanza VM e N. 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 tua 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 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 essere una potenza di 2 e può essere tra 64 e 65536. MAX_PORTS deve essere maggiore di MIN_PORTS.

Modifica timeout NAT

Le seguenti sezioni descrivono i timeout NAT e le modalità di modifica:

Timeout NAT

Cloud NAT utilizza i seguenti timeout per le connessioni di protocollo. Questi i timeout si applicano sia a Public NAT sia a Private NAT, se non diversamente indicato. Puoi modificare i valori di timeout predefiniti per diminuire o aumentare la frequenza con cui vengono riutilizzate le porte. Ogni valore di timeout corrisponde a un equilibrio tra un uso efficiente delle risorse Cloud NAT e possibili interruzioni delle connessioni attive, flussi di dati o sessioni.

Timeout Descrizione Valore predefinito di Cloud NAT Configurabile

Timeout di inattività mappatura UDP

RFC 4787 REQ-5

Specifica il tempo in secondi dopo il quale i flussi UDP devono interrompere l'invio del traffico a in modo che i mapping di Cloud NAT vengano rimossi.

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. Il valore di timeout più grande indica che le porte sono vengono conservati per connessioni più lunghe e proteggono anche dalle pause nel traffico su uno specifico socket UDP.

30 secondi

Timeout inattività connessione stabilita TCP

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 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)

Timeout inattività connessione transitoria TCP

RFC 5382 REQ-5

Specifica il tempo in secondi in cui le connessioni TCP possono rimanere nella stato semiaperto prima di poter eliminare i mapping di Cloud NAT.

Il timeout per inattività connessione transitoria TCP influisce su un endpoint quando una connessione richiede un periodo di tempo più lungo di quello specificato o quando sono una maggiore latenza di rete. 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.

Timeout TIME_WAIT TCP

RFC 5382 REQ-5

Specifica il tempo in secondi in cui viene mantenuta una connessione TCP completamente chiusa nei mapping di 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 supplementari prima è possibile utilizzare un indirizzo IP di origine Cloud NAT e una tupla di porte di origine 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.

Timeout di inattività della mappatura ICMP
(applicabile solo a NAT pubblico)

RFC 5508 REQ-2

Specifica l'intervallo di tempo in secondi dopo il quale Internet Control Message Protocol Le mappature Cloud NAT (ICMP) che non hanno flussi di traffico vengono chiuse.

Il timeout della mappatura ICMP influisce su un endpoint quando quest'ultimo accetta tempi di risposta più lunghi rispetto a quelli specificati o quando c'è un aumento latenza di rete.

30 secondi

Modificare i 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 di inattività della mappatura UDP: --udp-idle-timeout
  • Timeout di inattività della connessione stabilita TCP: --tcp-established-idle-timeout
  • Timeout di inattività della connessione TCP transitoria: --tcp-transitory-idle-timeout
  • Timeout TCP TIME_WAIT: --tcp-time-wait-timeout
  • Timeout inattività mappatura ICMP: --icmp-idle-timeout

Questo comando lascia invariati gli altri campi della 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 tua configurazione Cloud NAT.
  • ROUTER_NAME: il nome del tuo router Cloud.
  • REGION: la regione di Cloud NAT da aggiornare. Se non specificato, ti potrebbe essere chiesto di selezionare una regione (solo modalità interattiva).
  • VALUE: il valore di timeout (in secondi)

Reimposta i timeout NAT sui valori predefiniti

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 eventuali valori configurati dall'utente che vuoi reimpostare.

  6. Fai clic su Salva.

Vengono ripristinati i valori predefiniti dei valori rimossi.

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 specificato, potrebbe esserti chiesto di selezionare una regione (solo modalità interattiva).

Impatto della regolazione delle configurazioni NAT sulle connessioni NAT esistenti

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

Azione di ottimizzazione Perdita di connessione
Disabilita la mappatura indipendente degli 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
Aumenta il numero minimo di porte per VM se l'allocazione dinamica delle porte è già abilitata No
Riduci il numero minimo di porte per VM se l'allocazione dinamica delle porte è già abilitata 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
Aumenta il numero massimo di porte per VM No
Diminuire il numero massimo di porte per VM se l'allocazione dinamica delle porte è già abilitata
Modificare i timeout di Cloud NAT quando l'allocazione dinamica delle porte è attivata o disattivata No
Disattivare l'allocazione dinamica delle porte

Passaggi successivi