Prerequisiti
Prima di configurare un gateway, devi ottenere le autorizzazioni Identity and Access Management (IAM) appropriate, assicurarti che il tuo progetto disponga di un criterio di rete appropriato e abilitare l'uscita.
Per informazioni dettagliate, consulta Prima di iniziare a utilizzare Cloud NAT.
Il gateway Cloud NAT utilizza le subnet esterne leaf come input. Per ulteriori informazioni sulla configurazione delle subnet esterne per Cloud NAT, vedi Crea subnet esterne per Cloud NAT.
Crea e gestisci 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 di uscita:

Per impostazione predefinita, le connessioni in uscita create tramite un gateway Cloud NAT hanno i seguenti timeout. Se necessario, puoi configurarli manualmente.
| Timeout | Predefinito (secondi) |
| Connessioni non TCP | 60 |
| Connessioni TCP inattive | 8000 |
| Chiusura delle connessioni TCP | 10 |
| Stabilimento della connessione TCP | 60 |
Crea 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 di 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.