Passerelles Cloud NAT avec délais avant expiration de la connexion

Prérequis

Avant de configurer une passerelle, vous devez obtenir les autorisations IAM (Identity and Access Management) appropriées, vous assurer que votre projet dispose d'une stratégie réseau appropriée et activer le trafic sortant.

Pour en savoir plus, consultez Avant de commencer à utiliser Cloud NAT.

La passerelle Cloud NAT utilise des sous-réseaux leaf externes comme entrées. Pour en savoir plus sur la configuration des sous-réseaux externes pour Cloud NAT, consultez Créer des sous-réseaux externes pour Cloud NAT.

Créer et gérer des passerelles Cloud NAT avec des délais de connexion

Ce document explique comment créer et gérer des passerelles Cloud NAT avec des délais de connexion. Ce cas d'utilisation crée une configuration semblable au premier scénario, mais spécifie des délais d'attente pour les connexions établies via la passerelle Cloud NAT.

Le schéma suivant illustre un exemple de configuration de passerelle avec plusieurs adresses IP de sortie : Schéma représentant une passerelle Cloud NAT avec plusieurs adresses IP de sortie connectées à deux sous-réseaux.

Par défaut, les connexions sortantes créées via une passerelle Cloud NAT ont les délais d'expiration suivants. Si nécessaire, vous pouvez les configurer manuellement.

Délai avant expiration Par défaut (en secondes)
Connexions non TCP 60
Connexions TCP inactives 8000
Fermeture des connexions TCP 10
Établissement de la connexion TCP 60

Créer une passerelle Cloud NAT avec des délais d'expiration

Cet exemple définit une seule passerelle Cloud NAT avec des délais de connexion. Comme dans l'exemple précédent, cette configuration attribue les adresses IP de sortie subnet-1 et subnet-2 au trafic sortant des points de terminaison portant le libellé app:aa. De plus, cette configuration remplace les délais d'attente par défaut par des valeurs personnalisées.

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

Vous pouvez vérifier l'état des passerelles à l'aide de la commande kubectl suivante.

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

Si elle est configurée correctement, le champ de condition d'état de la passerelle Cloud NAT affiche la condition de type Ready définie sur true et les sous-réseaux marqués comme OK, comme indiqué dans l'exemple de résultat suivant.

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

Pour vérifier que la nouvelle configuration est effective, vous pouvez consulter l'état des passerelles.