Prerequisiti
Prima di configurare un gateway, devi ottenere le autorizzazioni IAM (Identity and Access Management) appropriate, assicurarti che il tuo progetto disponga di una policy di rete appropriata e abilitare il traffico in uscita.
Per maggiori dettagli, consulta Prima di iniziare a utilizzare Cloud NAT.
Il gateway Cloud NAT utilizza le subnet leaf esterne come input. Per saperne di più sulla configurazione delle subnet esterne per Cloud NAT, consulta
Creare subnet esterne per Cloud NAT.
Creare e gestire gateway Cloud NAT con timeout di connessione
Questo documento descrive come creare e gestire i gateway Cloud NAT con timeout di connessione. Questo caso d'uso crea una configurazione simile al primo scenario, ma specifica i timeout per le connessioni stabilite tramite il gateway Cloud NAT.
Il seguente diagramma mostra un esempio di configurazione del gateway con più IP in uscita:

Per impostazione predefinita, le connessioni in uscita create tramite un gateway Cloud NAT hanno i seguenti timeout. Se necessario, puoi configurarli manualmente.
| Timeout | Valore predefinito (secondi) |
| Connessioni non TCP | 60 |
| Connessioni TCP inattive | 8000 |
| Chiusura delle connessioni TCP | 10 |
| Stabilimento della connessione TCP | 60 |
Creare un gateway Cloud NAT con timeout
Questo esempio definisce un singolo gateway Cloud NAT con timeout di connessione.
Come nell'esempio precedente, questa configurazione assegna gli IP in uscita da subnet-1
e subnet-2 al traffico in uscita dagli endpoint con l'etichetta app:aa.
Inoltre, questa configurazione sostituisce i timeout predefiniti con valori personalizzati.
apiVersion: networking.gdc.goog/v1
kind: CloudNATGateway
metadata:
namespace: project-1
name: gateway-1
spec:
workloadSelector: # Immutable
labelSelector:
workloads:
matchLabels:
app: aa
subnetRefs: # Mutable
- subnet-1
- subnet-2
connectionOptions: # Mutable
nonTCPTimeoutSeconds: 10 # All non-TCP connections. 60 by default
tcpTimeoutSeconds: 900 # Established TCP connections. 8000 by default
tcpTeardownTimeoutSeconds: 10 # TCP connection teardown. 10 by default
tcpEstablishmentTimeoutSeconds: 10 # TCP connection establishment. 60 by default
Lo stato dei gateway può essere controllato utilizzando il seguente comando kubectl.
export MGMT_KUBECONFIG=<path_to_management_kubeconfig>
kubectl get cloudnatgateways gateway-1 -n project-1 --kubeconfig "${MGMT_KUBECONFIG:?}"
Se configurato correttamente, il campo della condizione di stato del gateway Cloud NAT mostra la condizione del tipo Ready impostata su true e le subnet contrassegnate come OK, come mostrato nell'output di esempio seguente.
apiVersion: networking.gdc.goog/v1
kind: CloudNATGateway
metadata:
namespace: project-1
name: gateway-1
spec:
workloadSelector: # Immutable
labelSelector:
workloads:
matchLabels:
app: aa
subnetRefs: # Mutable
- subnet-1
- subnet-2
connectionOptions: # Mutable
nonTCPTimeoutSeconds: 10
tcpTimeoutSeconds: 900
tcpTeardownTimeoutSeconds: 10
tcpEstablishmentTimeoutSeconds: 10
status:
conditions:
- lastTransitionTime: "2025-08-20T21:31:36Z"
message: ""
observedGeneration: 1
reason: Ready
status: "True"
type: Ready
- lastTransitionTime: "2025-08-20T21:31:36Z"
message: ""
observedGeneration: 1
reason: Ready
status: "True"
type: SubnetsReady
- lastTransitionTime: "2025-08-20T21:31:36Z"
message: ""
observedGeneration: 1
reason: Ready
status: "True"
type: PerimeterConfigurationReady
- lastTransitionTime: "2025-08-20T21:31:36Z"
message: ""
observedGeneration: 1
reason: Ready
status: "True"
type: EgressRoutesReady
subnets:
- name: subnet-1
status: OK
- name: subnet-2
status: OK
Per verificare che la nuova configurazione sia effettiva, puoi controllare lo stato dei gateway.