Configurer et gérez la traduction d'adresse réseau avec Private NAT
Cette page explique comment configurer la traduction d'adresses réseau (NAT) entre réseaux privés dans Cloud NAT.
Avant de commencer
Effectuez les tâches suivantes avant de configurer Private NAT.
Examiner les spécifications de Private NAT
Consultez les spécifications et exigences suivantes :
- Pour les spécifications générales, consultez Private NAT.
- Pour le trafic entre les spokes d'un hub Network Connectivity Center, y compris les spokes VPC et hybrides, consultez Private NAT pour les spokes Network Connectivity Center.
- Pour le trafic entre les réseaux de cloud privé virtuel (VPC) et les réseaux non-Google Cloud transitant par Cloud Interconnect ou Cloud VPN, consultez Hybrid NAT.
Obtenir des autorisations IAM
Le rôle Administrateur de réseaux Compute (roles/compute.networkAdmin) vous permet de créer une passerelle NAT sur Cloud Router, de réserver et d'attribuer des adresses IP NAT et de spécifier les sous-réseaux dont le trafic doit utiliser la traduction d'adresse réseau assurée par la passerelle NAT.
Configurer Google Cloud
Avant de commencer, configurez les éléments suivants dans Google Cloud.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init Vous pouvez définir un ID de projet avec la commande suivante :
gcloud config set project PROJECT_ID
Vous avez également la possibilité d'afficher un ID de projet déjà défini :
gcloud config list --format='text(core.project)'
Dans la console Google Cloud , accédez à la page Réseaux VPC.
Pour afficher la page "Détails du réseau VPC", cliquez sur le nom d'un réseau VPC.
Cliquez sur l'onglet Sous-réseaux.
Cliquez sur Ajouter un sous-réseau. Dans la boîte de dialogue Ajouter un sous-réseau, procédez comme suit :
- Indiquez un nom pour le sous-réseau.
- Sélectionnez une région.
- Dans le champ Objectif, sélectionnez Private NAT.
Spécifiez une plage d'adresses IP qui servira de plage d'adresses IPv4 principale pour le sous-réseau.
Si vous sélectionnez une plage qui n'est pas conforme à la RFC 1918, vérifiez qu'elle n'entre pas en conflit avec une configuration existante. Pour plus d'informations sur les plages de sous-réseaux IPv4 valides, consultez Plages de sous-réseaux IPv4.
Cliquez sur Ajouter.
NAT_SUBNET: nom de la plage de sous-réseau Private NAT à créer.NETWORK: réseau auquel appartient le sous-réseau.REGION: région du sous-réseau à créer. Si la région n'est pas spécifiée, vous pouvez être invité à sélectionner une région (mode interactif uniquement).IP_RANGE: espace d'adresses IP alloué à ce sous-réseau au format CIDR. Assurez-vous que IP_RANGE tient compte de l'utilisation du double du nombre de ports requis par VM.Private NAT pour les spokes Network Connectivity Center. Cette option active le NAT pour le trafic entre les éléments suivants :
- Un réseau VPC source et un réseau VPC de destination au sein d'un même hub Network Connectivity Center. Les deux réseaux doivent être configurés en tant que spokes VPC.
- Un réseau VPC source configuré en tant que spoke VPC dans un hub Network Connectivity Center et un réseau de destination sur site (ou sur l'infrastructure d'un autre fournisseur de service cloud) connecté au hub via un spoke hybride.
Si vous souhaitez utiliser des connexions propagées Private Service Connect dans le spoke VPC où Private NAT est déployé, consultez Interactions des connexions propagées Private Service Connect avant de configurer Private NAT.
Hybrid NAT : permet les opérations de NAT pour le trafic entre un réseau VPC source et un réseau de destination sur site ou sur l'infrastructure d'un autre fournisseur de services cloud. Les réseaux doivent être connectés via Cloud Interconnect ou Cloud VPN.
Dans la console Google Cloud , accédez à la page Cloud NAT.
Cliquez sur Premiers pas ou Créer une passerelle NAT.
Indiquez un nom de passerelle.
Dans le champ Type de NAT, sélectionnez Privé.
Sélectionnez un réseau VPC pour la passerelle NAT.
Sélectionnez la région de la passerelle NAT.
Sélectionnez ou créez un routeur Cloud Router dans la région.
Assurez-vous que Instances de VM est sélectionné comme type de point de terminaison source.
Dans la liste Source, sélectionnez Personnalisée.
Sélectionnez un sous-réseau sur lequel vous souhaitez effectuer les opérations de NAT.
Si vous souhaitez spécifier des plages supplémentaires, cliquez sur Ajouter un sous-réseau et une plage d'adresses IP.
Cliquez sur Ajouter une règle.
Dans le champ Priorité de la règle, saisissez une valeur comprise entre
0et65000.Pour Correspondance, sélectionnez l'une des options suivantes :
- Pour activer Hybrid NAT, sélectionnez Routes de connectivité hybride.
- Pour activer Private NAT pour les spokes Network Connectivity Center, sélectionnez Hub Network Connectivity Center.
- Pour activer les deux options, sélectionnez Routes de connectivité hybride et Hub Network Connectivity Center.
Sélectionnez ou créez une plage de sous-réseau Private NAT.
Cliquez sur OK.
Facultatif : Ajustez les paramètres suivants dans la section Configurations avancées :
- Vous devez choisir si la journalisation doit être configurée. Par défaut, l'option Aucune journalisation est sélectionnée.
- Vous devez indiquer si le mode d'allocation des ports par Cloud NAT doit être modifié. Par défaut, l'option Activer l'allocation de ports dynamique est sélectionnée. Pour configurer l'allocation de ports statique, décochez Activer l'allocation de ports dynamique et spécifiez le nombre minimal de ports par instance de VM. La valeur par défaut est
64. - Indiquez s'il faut mettre à jour les délais d'inactivité du NAT pour les connexions de protocole. Pour en savoir plus sur ces délais d'inactivité et leurs valeurs par défaut, consultez Délais d'inactivité NAT.
Cliquez sur Créer.
Créez un routeur Cloud Router dans le réseau VPC pour lequel vous souhaitez configurer le NAT.
Exécutez la commande
gcloud compute routers create.gcloud compute routers create ROUTER_NAME \ --network=NETWORK --region=REGIONRemplacez les éléments suivants :
ROUTER_NAME: nom du routeur Cloud Router.NETWORK: réseau VPC dans lequel le routeur Cloud Router doit être créé.REGION: région dans laquelle le routeur Cloud Router doit être créé.
Créez une passerelle Private NAT et spécifiez un ou plusieurs sous-réseaux du réseau VPC source pour lesquels vous souhaitez configurer le NAT.
Exécutez la commande
gcloud compute routers nats createavec l'option--typedéfinie surPRIVATE.gcloud compute routers nats create NAT_CONFIG \ --router=ROUTER_NAME --type=PRIVATE --region=REGION \ --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL,SUBNETWORK_2:ALL,...] | \ [--nat-all-subnet-ip-ranges]Remplacez les éléments suivants :
NAT_CONFIG: nom de la configuration Private NAT que vous créez.ROUTER_NAME: nom du routeur Cloud Router à utiliser avec cette passerelle. Il s'agit du routeur Cloud Router que vous avez créé à l'étape précédente. Ce nom ne doit pas être utilisé par d'autres ressources.SUBNETWORK: nom du sous-réseau ou liste des sous-réseaux pour lesquels vous souhaitez utiliser le NAT.Vous pouvez également spécifier une liste de sous-réseaux séparés par une virgule, par exemple :
SUBNETWORK_1,SUBNETWORK_2. Private NAT effectue toujours les opérations de NAT sur toutes les plages d'adresses IP de sous-réseau pour le sous-réseau ou la liste de sous-réseaux concernés.
Par défaut, Private NAT utilise l'allocation de ports dynamique. Si vous souhaitez créer une passerelle Private NAT avec allocation de ports statique, exécutez la commande précédente avec l'option
--no-enable-dynamic-port-allocation:gcloud compute routers nats create NAT_CONFIG \ --router=ROUTER_NAME --type=PRIVATE --region=REGION \ --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL,SUBNETWORK_2:ALL,...] | \ [--nat-all-subnet-ip-ranges] --no-enable-dynamic-port-allocation \ [--min-ports-per-vm=VALUE]Remplacez
VALUEpar le nombre minimal de ports à attribuer par VM. Si aucune valeur n'est spécifiée,Google Cloud attribue la valeur par défaut64.Créez une règle NAT pour assurer la mise en correspondance du trafic en fonction du type de NAT que vous configurez.
Exécutez la commande
gcloud compute routers nats rules createavec l'option--matchdéfinie sur l'une des valeurs suivantes :nexthop.is_hybrid: traduit le trafic sortant du réseau VPC source vers un réseau sur site (ou sur l'infrastructure d'un autre fournisseur de services cloud) connecté à Google Cloud via Cloud Interconnect ou Cloud VPN.nexthop.hub: traduit le trafic sortant du spoke VPC source vers l'un des spokes VPC ou hybrides associés au même hub Network Connectivity Center que le spoke VPC source.nexthop.is_hybrid || nexthop.hub: configure les deux types de Private NAT.
Pour créer une règle NAT pour Hybrid NAT, exécutez la commande suivante :
gcloud compute routers nats rules create NAT_RULE_PRIORITY \ --router=ROUTER_NAME --region=REGION \ --nat=NAT_CONFIG \ --match='nexthop.is_hybrid' \ --source-nat-active-ranges=NAT_SUBNETPour créer une règle NAT pour Private NAT dédiée aux spokes Network Connectivity Center, exécutez la commande suivante :
gcloud compute routers nats rules create NAT_RULE_PRIORITY \ --router=ROUTER_NAME --region=REGION \ --nat=NAT_CONFIG \ --match='nexthop.hub == "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/hubs/HUB"' \ --source-nat-active-ranges=NAT_SUBNETPour créer une règle NAT pour Hybrid NAT et Private NAT dédiée aux spokes Network Connectivity Center, exécutez la commande suivante :
gcloud compute routers nats rules create NAT_RULE_PRIORITY \ --router=ROUTER_NAME --region=REGION \ --nat=NAT_CONFIG \ --match='nexthop.is_hybrid || nexthop.hub == "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/hubs/HUB"' \ --source-nat-active-ranges=NAT_SUBNETRemplacez les éléments suivants :
NAT_RULE_PRIORITY: numéro de règle qui identifie de manière unique la règle NAT, de0(priorité la plus élevée) à65000(priorité la plus basse).ROUTER_NAME: nom du routeur Cloud Router que vous avez créé précédemment.REGION: région du routeur Cloud Router.NAT_CONFIG: nom de la configuration Private NAT que vous avez créée précédemment.PROJECT_ID: projet Google Cloud du hub Network Connectivity Center.HUB: nom du hub Network Connectivity Center.NAT_SUBNET: nom du sous-réseau Private NAT que vous avez créé précédemment. Vous pouvez également spécifier une liste de sous-réseaux séparés par des virgules.
Dans la console Google Cloud , accédez à la page Cloud NAT.
Pour afficher les détails de la passerelle NAT, les informations de mappage ou les détails de configuration, cliquez sur le nom de votre passerelle NAT.
Pour afficher l'état du NAT, consultez la colonne État de votre passerelle NAT.
Affichez la configuration de la passerelle Private NAT.
gcloud compute routers nats describe NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGIONRemplacez les éléments suivants :
NAT_CONFIG: nom de votre configuration NATROUTER_NAME: nom de votre routeur Cloud Router.REGION: région du NAT à décrire. Si elle n'est pas spécifiée, vous pouvez être invité à sélectionner une région (mode interactif uniquement).
Affichez le mappage des paires "plage d'adresses IP:port" allouées à l'interface de chaque VM.
gcloud compute routers get-nat-mapping-info ROUTER_NAME \ --region=REGIONAffichez l'état de la passerelle Private NAT.
gcloud compute routers get-status ROUTER_NAME \ --region=REGIONDans la console Google Cloud , accédez à la page Cloud NAT.
Cliquez sur votre passerelle NAT.
Cliquez sur Modifier.
Pour le mappage Cloud NAT, dans la liste Source, sélectionnez Personnalisée.
Sélectionnez un nouveau sous-réseau dans la liste des sous-réseaux disponibles.
Si vous souhaitez spécifier des plages supplémentaires, cliquez sur Ajouter un sous-réseau et une plage d'adresses IP, puis sélectionnez un autre sous-réseau.
Cliquez sur Enregistrer.
NAT_CONFIG: nom de la configuration Private NAT à mettre à jour.ROUTER_NAME: nom du routeur à utiliser avec cette passerelle.SUBNETWORK: nom du sous-réseau à utiliser.Dans la console Google Cloud , accédez à la page Cloud NAT.
Cliquez sur votre passerelle NAT.
Cliquez sur Modifier.
Supprimez le sous-réseau que vous souhaitez retirer du mappage NAT.
Cliquez sur Enregistrer.
Dans la console Google Cloud , accédez à la page Cloud NAT.
Cliquez sur votre passerelle NAT.
Cliquez sur Modifier.
Développez la règle existante.
Cliquez sur Ajouter des plages de sous-réseaux.
Sélectionnez ou créez une plage de sous-réseau NAT, puis cliquez sur OK.
Cliquez sur Enregistrer.
NAT_RULE_PRIORITY: nombre qui identifie de manière unique la règle à mettre à jour, de0(priorité la plus élevée) à65000(priorité la plus basse).NAT_CONFIG: nom de votre configuration Private NAT pour la règle à mettre à jour.ROUTER_NAME: nom du routeur à utiliser avec cette passerelle.NAT_SUBNET: noms des sous-réseaux Private NAT à ajouter à votre configuration NAT existante.Dans la console Google Cloud , accédez à la page Cloud NAT.
Cochez la case à côté de la configuration de passerelle que vous souhaitez supprimer.
Dans le menu, cliquez sur Supprimer.
NAT_CONFIG: nom de votre configuration NATROUTER_NAME: nom de votre routeur Cloud Router.REGION: région du NAT à supprimer. Si elle n'est pas spécifiée, vous pouvez être invité à sélectionner une région (mode interactif uniquement).- Configurez la journalisation et la surveillance pour Cloud NAT.
- Résolvez les problèmes courants liés aux configurations NAT.
Dans les instructions concernant la Google Cloud CLI présentées sur cette page, nous partons du principe que vous avez défini l'ID de votre projet avant d'exécuter les commandes.
Créer un sous-réseau NAT avec l'objectif PRIVATE_NAT
Avant de configurer Private NAT, vous devez créer un sous-réseau NAT avec l'objectif PRIVATE_NAT. Le sous-réseau NAT doit se trouver dans la même région que celle où vous prévoyez de créer votre passerelle Private NAT.
La passerelle Private NAT utilise les plages d'adresses IP de ce sous-réseau pour effectuer les opérations de NAT. Assurez-vous que ce sous-réseau ne chevauche aucun sous-réseau existant dans l'un des réseaux connectés. Vous ne pouvez créer aucune ressource dans ce sous-réseau.
Ce sous-réseau n'est utilisé que pour Private NAT.
Console
gcloud
Exécutez la commande gcloud compute networks subnet create pour créer le sous-réseau.
gcloud compute networks subnets create NAT_SUBNET \
--network=NETWORK \
--region=REGION \
--range=IP_RANGE \
--purpose=PRIVATE_NAT
Remplacez les éléments suivants :
Configurer Private NAT
Pour configurer Private NAT, vous devez créer une passerelle Private NAT dans le réseau VPC source. Chaque passerelle est associée à un seul réseau VPC, une seule région et un seul routeur Cloud Router.
Lorsque vous configurez Private NAT, vous pouvez activer l'une des options suivantes, ou les deux :
Créer une passerelle Private NAT
Créez une passerelle Private NAT dans le réseau VPC source pour lequel vous souhaitez configurer le NAT.
Console
gcloud
Afficher la configuration Private NAT
Console
gcloud
Vous pouvez afficher les détails de la configuration NAT en exécutant les commandes suivantes :
Mettre à jour la configuration Private NAT
Une fois votre passerelle Private NAT configurée, vous pouvez modifier sa configuration en fonction de vos besoins. Les sections suivantes listent les tâches que vous pouvez effectuer pour mettre à jour votre passerelle Private NAT.
Modifier les sous-réseaux associés à Private NAT
Console
gcloud
gcloud compute routers nats update NAT_CONFIG \
--router=ROUTER_NAME \
--region=REGION \
--nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL,SUBNETWORK_2:ALL,..]
Remplacez les éléments suivants :
Supprimer les sous-réseaux associés à Private NAT
Vous pouvez retirer de la passerelle NAT des sous-réseaux spécifiques qui ne sont plus utilisés.
Console
Ajouter des sous-réseaux NAT à votre configuration Private NAT
Pour effectuer des opérations de NAT sur le trafic, une configuration Private NAT utilise des adresses IP NAT provenant d'un sous-réseau dont l'objectif est PRIVATE_NAT.
Si votre configuration Private NAT nécessite plus d'adresses IP NAT que celles dont vous disposez, vous pouvez ajouter d'autres sous-réseaux dont l'objectif est PRIVATE_NAT à la configuration.
Console
gcloud
gcloud compute routers nats rules update NAT_RULE_PRIORITY \
--nat=NAT_CONFIG \
--router=ROUTER_NAME \
--region=REGION \
--source-nat-active-ranges=NAT_SUBNET_1, NAT_SUBNET_2 ...
Remplacez les éléments suivants :
Supprimer la configuration NAT
La suppression d'une configuration de passerelle supprime la configuration NAT d'un routeur Cloud Router. La suppression d'une configuration de passerelle ne supprime pas le routeur lui-même.
Console
gcloud
gcloud compute routers nats delete NAT_CONFIG \
--router=ROUTER_NAME \
--region=REGION
Remplacez les éléments suivants :