Gateway Cloud NAT con timeout di connessione

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: Diagramma che mostra un gateway Cloud NAT con più IP di uscita connessi a due subnet.

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.