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 règle de réseau appropriée et activer la sortie.
Pour en savoir plus, consultez la section Avant de commencer avec Cloud NAT.
La passerelle Cloud NAT utilise des sous-réseaux leaf externes comme entrées. Pour en savoir plus sur la configuration de 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 avant expiration de connexion
Ce document explique comment créer et gérer des passerelles Cloud NAT avec des délais avant expiration de connexion. Ce cas d'utilisation crée une configuration semblable au premier scénario, mais spécifie des délais avant expiration pour les connexions établies via la passerelle Cloud NAT.
Le schéma suivant montre un exemple de configuration de passerelle avec plusieurs adresses IP de sortie :

Par défaut, les connexions de sortie créées via une passerelle Cloud NAT ont les délais avant expiration suivants. Vous pouvez les configurer manuellement si nécessaire.
| Délai avant expiration | Par défaut (en secondes) |
| Connexions non TCP | 60 |
| Connexions TCP inactives | 8000 |
| Démantèlement des connexions TCP | 10 |
| Établissement de la connexion TCP | 60 |
Créer une passerelle Cloud NAT avec des délais avant expiration
Cet exemple définit une seule passerelle Cloud NAT avec des délais avant expiration de connexion.
Comme dans l'exemple précédent, cette configuration attribue les adresses IP de sortie de 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 avant expiration 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
L'état des passerelles peut être vérifié à 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 la configuration est correcte, 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 illustré 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 vérifier l'état des passerelles.