Gateways NAT do Cloud com tempos limite de conexão

Pré-requisitos

Antes de configurar um gateway, você precisa receber as permissões adequadas do Identity and Access Management (IAM), garantir que seu projeto tenha uma política de rede adequada e ativar a saída.

Consulte Antes de começar a usar o Cloud NAT para mais detalhes.

O gateway do Cloud NAT usa sub-redes externas leaf como entradas. Para mais informações sobre como configurar sub-redes externas para o Cloud NAT, consulte Criar sub-redes externas para o Cloud NAT.

Criar e gerenciar gateways do Cloud NAT com tempos limite de conexão

Neste documento, descrevemos como criar e gerenciar gateways do Cloud NAT com tempos limite de conexão. Esse caso de uso cria uma configuração semelhante ao primeiro cenário, mas especifica tempos limite para conexões estabelecidas pelo gateway do Cloud NAT.

O diagrama a seguir mostra um exemplo de configuração de gateway com vários IPs de saída: Diagrama mostrando um gateway do Cloud NAT com vários IPs de saída conectados a duas sub-redes.

Por padrão, as conexões de saída criadas por um gateway do Cloud NAT têm os seguintes tempos limite. É possível configurá-los manualmente, se necessário.

Tempo limite Padrão (segundos)
Conexões não TCP 60
Conexões TCP inativas 8000
Encerramento de conexões TCP 10
Estabelecimento de conexão TCP 60

Criar um gateway do Cloud NAT com tempos limite

Este exemplo define um único gateway do Cloud NAT com tempos limite de conexão. Como no exemplo anterior, essa configuração atribui os IPs de saída de subnet-1 e subnet-2 ao tráfego de saída de endpoints com o rótulo app:aa. Além disso, essa configuração substitui os tempos limite padrão 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

O status dos gateways pode ser verificado usando o seguinte comando kubectl.

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

Se configurado corretamente, o campo de condição de status do gateway do Cloud NAT mostra a condição do tipo Ready definida como true e as sub-redes marcadas como OK, conforme mostrado no exemplo de saída a seguir.

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 se a nova configuração está em vigor, confira o status dos gateways.