Pasarelas de Cloud NAT con tiempos de espera de conexión

Requisitos previos

Antes de configurar una pasarela, debes obtener los permisos de gestión de identidades y accesos (IAM) adecuados, asegurarte de que tu proyecto tiene una política de red adecuada y habilitar la salida.

Para obtener más información, consulta Antes de empezar a usar Cloud NAT.

La pasarela de Cloud NAT usa subredes leaf externas como entradas. Para obtener más información sobre cómo configurar subredes externas para Cloud NAT, consulta Crear subredes externas para Cloud NAT.

Crear y gestionar pasarelas de Cloud NAT con tiempos de espera de conexión

En este documento se describe cómo crear y gestionar pasarelas Cloud NAT con tiempos de espera de conexión. En este caso práctico, se crea una configuración similar a la del primer escenario, pero se especifican tiempos de espera para las conexiones establecidas a través de la pasarela Cloud NAT.

En el siguiente diagrama se muestra un ejemplo de configuración de una pasarela con varias IPs de salida: Diagrama que muestra una pasarela Cloud NAT con varias IPs de salida conectada a dos subredes.

De forma predeterminada, las conexiones de salida creadas a través de una pasarela de Cloud NAT tienen los siguientes tiempos de espera. Si es necesario, puedes configurarlos manualmente.

Tiempo de espera Predeterminado (segundos)
Conexiones no TCP 60
Conexiones TCP inactivas 8000
Desconexión de conexiones TCP 10
Establecimiento de conexión TCP 60

Crear una pasarela de Cloud NAT con tiempos de espera

En este ejemplo se define una única pasarela de Cloud NAT con tiempos de espera de conexión. Al igual que en el ejemplo anterior, esta configuración asigna las IPs de salida de subnet-1 y subnet-2 al tráfico saliente de los endpoints con la etiqueta app:aa. Además, esta configuración sustituye los tiempos de espera predeterminados por valores personalizados.

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

Para comprobar el estado de las pasarelas, usa el siguiente comando kubectl:

export MGMT_KUBECONFIG=<path_to_management_kubeconfig>
kubectl get cloudnatgateways gateway-1 -n project-1 --kubeconfig "${MGMT_KUBECONFIG:?}"

Si se configura correctamente, el campo de condición de estado de la puerta de enlace Cloud NAT muestra la condición del tipo Ready definida como true y las subredes marcadas como OK, tal como se muestra en el siguiente ejemplo de salida.

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

Para verificar que la nueva configuración está en vigor, puedes consultar el estado de las pasarelas.