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 :

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.