Utiliser des routes
Cette page explique comment créer et gérer des routes pour les réseaux cloud privés virtuels (VPC) dans Google Cloud. Dans cette page, nous partons du principe que vous connaissez les différents types de routes Google Cloud et leurs caractéristiques (décrites sur la page Routes).
Chaque nouveau réseau comprend deux types de routes générées par le système : une route par défaut que vous pouvez supprimer ou remplacer, et une route de sous-réseau pour chaque sous-réseau. Vous ne pouvez pas supprimer une route de sous-réseau sans supprimer le sous-réseau correspondant.
Outre les routes générées par le système, vous pouvez créer des routes statiques personnalisées.
Répertorier les routes d'un réseau VPC
Vous pouvez utiliser Google Cloud CLI ou l'API pour répertorier et afficher les détails des types de routes suivants :
Ni les commandes de la gcloud CLI, ni les méthodes d'API n'affichent les types de routes suivants :
Pour afficher la vue complète de la route, utilisez la console Google Cloud. Pour répertorier et décrire les routes basées sur des règles, consultez la page Utiliser des routes basées sur des règles.
Console
Dans la console Google Cloud, accédez à la page Routes.
Dans l'onglet Routes effectives, procédez comme suit :
- Choisissez un réseau VPC.
- Sélectionnez une région.
Cliquez sur Afficher.
Vous pouvez appliquer un filtre en fonction de propriétés telles que le type de route, la plage d'adresses IP de destination et le type de prochain saut.
Facultatif : Cliquez sur le bouton Afficher les routes supprimées pour afficher les routes supprimées. Pour afficher le motif de la suppression d'un itinéraire, pointez sur l'icône de la colonne État.
gcloud
Pour répertorier et afficher les détails des routes, utilisez les commandes gcloud compute
routes
. Les routes de sous-réseau et les routes statiques du réseau VPC local et de tous les réseaux VPC associés sont affichées. Les autres types de parcours ne sont pas affichés. Pour afficher tous les itinéraires, utilisez la console Google Cloud.
Pour lister les itinéraires, procédez comme suit:
gcloud compute routes list \ --filter="network=NETWORK_NAME" \ --project=PROJECT_ID
Pour obtenir des informations sur un itinéraire, procédez comme suit:
gcloud compute routes describe ROUTE_NAME \ --format="flattened()" \ --project=PROJECT_ID
Remplacez les éléments suivants :
NETWORK_NAME
: nom du réseau VPC.PROJECT_ID
: ID du projet contenant votre réseau VPC.ROUTE_NAME
: nom de la route.
API
Pour répertorier et afficher les détails des routes, utilisez les méthodes routes.list et routes.get. Les routes de sous-réseau et les routes statiques du réseau VPC local et de tous les réseaux VPC associés sont affichées. Les autres types de parcours ne sont pas affichés. Pour afficher tous les itinéraires, utilisez la console Google Cloud.
Pour lister les itinéraires, procédez comme suit:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes?filter=network="NETWORK_URL
Pour obtenir des informations sur un itinéraire, procédez comme suit:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes/ROUTE_NAME
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant votre réseau VPC.NETWORK_URL
: URL du réseau VPC.ROUTE_NAME
: nom de la route.
Répertorier les routes applicables à une interface réseau de VM
Vous pouvez utiliser la console Google Cloud pour afficher les routes applicables à l'interface réseau d'une VM. Cette vue réduit la liste des routes que vous pouvez utiliser pour le trafic de sortie.
Pour afficher les routes applicables à une interface réseau spécifique de VM, procédez comme suit.
Console
Dans la console Google Cloud, accédez à la page Instances de VM.
Recherchez une instance de VM dans la liste. Dans le menu
Autres actions à la fin de la ligne, sélectionnez Afficher les détails du réseau.Si une instance comporte plusieurs interfaces réseau, sélectionnez celle que vous souhaitez afficher dans la section Informations sur l'interface réseau.
Dans la section Détails des pare-feu et des routes, cliquez sur l'onglet Routes pour afficher toutes les routes qui s'appliquent à l'interface réseau, triées par nom de route.
Ajouter et supprimer des routes statiques
Vous pouvez ajouter ou supprimer des routes statiques et des routes basées sur des règles, qui sont locales sur votre réseau VPC. Cette section explique comment ajouter et supprimer des routes statiques locales. Pour plus d'informations sur l'ajout et la suppression de routes basées sur des règles, consultez la page Utiliser des routes basées sur des règles.
Les routes de sous-réseau sont ajoutées et supprimées automatiquement lorsque vous ajoutez ou supprimez un sous-réseau. Pour plus d'informations sur l'ajout et la suppression de sous-réseaux, consultez la section Utiliser des sous-réseaux.
Toutes les routes d'un réseau VPC connectées par l'appairage de réseaux VPC doivent être manipulées dans le réseau VPC qui exporte ces routes. Pour en savoir plus, consultez la section Options d'échange de routes.
Avant d'ajouter une route statique
Avant d'ajouter une route statique, tenez compte des points suivants:
- Assurez-vous de bien comprendre les différents types de prochains sauts que les routes statiques peuvent utiliser. Pour obtenir des informations sur les différents types de prochains sauts des routes statiques, y compris ceux qui acceptent les destinations IPv6, consultez Prochains sauts et caractéristiques.
- À moins que vous n'utilisiez des sous-réseaux hybrides, une route statique ne peut pas avoir de plage de destination identique ou plus spécifique que celle d'une route de sous-réseau ou d'appairage. Pour plus d'informations, consultez la section Interactions avec les routes statiques personnalisées dans la présentation des routes et la section Interactions avec les routes statiques et de sous-réseau dans la documentation de l'appairage de réseaux VPC.
- Pour éviter les conflits lors de l'utilisation d'un réseau VPC en mode automatique, ne créez pas de routes statiques dont les destinations correspondent à
10.128.0.0/9
. Pour en savoir plus, consultez les plages d'adresses IPv4 en mode automatique. - Les destinations des routes statiques personnalisées ne peuvent chevaucher aucune plage allouée interne.
- Assurez-vous de bien connaître les instances utilisées comme prochains sauts avant de créer une route statique personnalisée qui utilise une VM comme prochain saut. Google Cloud vérifie seulement qu'une VM existe au moment où vous créez la route si vous choisissez une instance de prochain saut.
- Si vous créez une route à l'aide d'un tag réseau, seules les VM dotées de ce tag recevront cette route. Cependant, les VM dotées d'un tag continuent de recevoir toutes les routes qui n'ont pas de tag réseau.
Ajouter une route statique
Ajoutez une route statique à un réseau. Pour en savoir plus sur les différents types de prochains sauts des routes statiques, y compris ceux qui acceptent les destinations IPv6, consultez Prochains sauts et caractéristiques.
Console
Dans la console Google Cloud, accédez à la page Routes.
Cliquez sur l'onglet Gestion des routes.
Cliquez sur Créer une route.
Spécifiez un nom et une description pour la route.
Dans la liste Réseau, sélectionnez un réseau existant pour la route.
Dans la liste Type de route, sélectionnez Route statique.
Dans la liste Version IP, sélectionnez la version d'adresse IP requise :
- Pour créer une route statique IPv4, sélectionnez IPv4.
- Pour créer une route statique IPv6, sélectionnez IPv6.
Spécifiez une plage d'adresses IP de destination. La destination la plus large possible est
0.0.0.0/0
pour IPv4 ou::/0
pour IPv6.Spécifiez une priorité pour la route. La priorité peut être comprise entre
0
(priorité la plus élevée) et65535
(priorité la plus basse).Pour rendre la route applicable uniquement à la sélection d'instances associées aux tags réseau correspondants, spécifiez ces tags dans le champ Tags des instances. Laissez le champ vide pour rendre la route applicable à toutes les instances du réseau.
Sélectionnez un prochain saut pour la route :
- Passerelle Internet par défaut : envoie les paquets vers Internet et les API et services Google.
- Spécifier une instance : envoie les paquets à l'interface réseau d'une instance de VM. Spécifiez l'instance de VM par nom et par zone. Si la destination de la route est une adresse IPv6, l'instance de VM doit être de type double pile.
- Spécifier l'adresse IP d'une instance : indiquez l'adresse IP d'une instance existante dans le réseau VPC. Pour les routes statiques IPv6 (Preview), l'instance doit être de type double pile. Pour connaître les restrictions importantes concernant les adresses IP de saut suivant valides, consultez la section Sauts suivants des routes statiques.
- Spécifier un tunnel VPN : envoie les paquets à un tunnel VPN classique existant à l'aide d'un routage statique.
- Spécifier une règle de transfert pour un équilibreur de charge réseau passthrough interne : envoie les paquets à un équilibreur de charge réseau passthrough interne qui est spécifié par le nom et la région de son équilibreur de charge réseau interne. La règle de transfert peut avoir une adresse IPv4 ou IPv6 (Preview). La version IP de la règle de transfert que vous spécifiez doit correspondre à la version IP de la route statique que vous créez.
Cliquez sur Créer.
gcloud
Créez une route statique personnalisée en exécutant la commande suivante de la gcloud CLI :
gcloud compute routes create ROUTE_NAME \ --network=NETWORK \ --destination-range=DESTINATION_RANGE \ --priority=PRIORITY \ NEXT_HOP_SPECIFICATION
Remplacez les éléments suivants :
ROUTE_NAME
: nom de la route.NETWORK
: nom du réseau VPC contenant la route.DESTINATION_RANGE
: adresses IPv4 ou IPv6 de destination auxquelles cette route s'applique. La destination la plus large possible est0.0.0.0/0
pour IPv4 ou::/0
pour IPv6.PRIORITY
: priorité de la route, qui peut être comprise entre0
(priorité la plus élevée) et65535
(priorité la plus basse).NEXT_HOP_SPECIFICATION
: prochain saut de la route statique. Utilisez l'un des paramètres suivants ou une combinaison de ces paramètres :--next-hop-gateway=default-internet-gateway
: envoyez les paquets vers Internet et les API et services Google.--next-hop-instance=INSTANCE_NAME
et--next-hop-instance-zone=ZONE
: envoyez les paquets à l'interface réseau d'une instance de VM existante. Spécifiez l'instance de VM par nom et par zone. Si la destination de la route est une adresse IPv6, l'instance de VM doit être de type double pile.--next-hop-address=ADDRESS
: spécifie l'adresse IP d'une instance existante dans le réseau VPC. Pour les routes statiques IPv6 (Preview), l'instance doit être de type double pile. Pour connaître les restrictions importantes concernant les adresses IP de prochain saut valides, consultez la section Prochains sauts et caractéristiques.--next-hop-vpn-tunnel=VPN_TUNNEL_NAME
et--next-hop-vpn-tunnel-region=REGION
: envoyez les paquets à un tunnel VPN classique existant à l'aide d'un routage statique.--next-hop-ilb=FORWARDING_RULE
et--next-hop-ilb-region=REGION
: envoyez les paquets à un équilibreur de charge réseau passthrough interne. Spécifiez la règle de transfert par son nom (ou adresse IPv4 ou IPv6 (Preview)) et sa région. La version IP de la règle de transfert que vous spécifiez doit correspondre à la version IP de la route statique que vous créez.
Pour que la route statique personnalisée ne s'applique qu'à certaines VM identifiées par tag réseau, ajoutez l'option
--tags
et spécifiez un ou plusieurs tags réseau. Pour plus d'informations sur la manière dont les tags réseau et les routes statiques personnalisées fonctionnent ensemble, consultez la section Routes applicables de la page "Présentation des routes". Vous pouvez utiliser des tags avec n'importe quelle route statique personnalisée.
Pour en savoir plus sur la syntaxe de la gcloud CLI, consultez la documentation du SDK.
API
Créez une route statique personnalisée.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes { "name": "ROUTE_NAME", "network": "NETWORK_NAME", "destRange": "DESTINATION_RANGE", "priority": PRIORITY, "NEXT_HOP_SPECIFICATION" }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel votre route est créée.ROUTE_NAME
: nom de la route.NETWORK
: nom du réseau VPC contenant la route.DESTINATION_RANGE
: plage d'adresses IPv4 ou IPv6 de destination à laquelle cette route s'applique. La destination la plus large possible est0.0.0.0/0
pour IPv4 ou::/0
pour IPv6.PRIORITY
: priorité de la route, qui peut être comprise entre0
(priorité la plus élevée) et65535
(priorité la plus basse).NEXT_HOP_SPECIFICATION
: prochain saut de la route statique. Utilisez l'un des paramètres suivants ou une combinaison de ces paramètres :nextHopGateway: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/gateways/default-internet-gateway
: envoie les paquets vers Internet et les API et services Google.nextHopInstance: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
: envoie les paquets à l'interface réseau d'une instance de VM. Spécifiez l'instance de VM par nom et par zone. Si la destination de la route est une adresse IPv6, l'instance de VM doit être de type double pile.nextHopIp: ADDRESS
: spécifie l'adresse IP d'une instance existante dans le réseau VPC. Pour les routes statiques IPv6 (Preview), l'instance doit être de type double pile. Pour connaître les restrictions importantes concernant les adresses IP de prochain saut valides, consultez la section Prochains sauts et caractéristiques.nextHopVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels/VPN_TUNNEL_NAME
: envoie les paquets à un tunnel VPN classique existant à l'aide d'un routage statique.nextHopIlb: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE
: envoie les paquets à un équilibreur de charge réseau passthrough interne. Spécifiez la règle de transfert par son nom (ou adresse IPv4 ou IPv6 (Preview)) et sa région. La version IP de la règle de transfert que vous spécifiez doit correspondre à la version IP de la route statique que vous créez.
Pour que la route statique personnalisée ne s'applique qu'à certaines VM identifiées par tag réseau, ajoutez le champ tags
et spécifiez un ou plusieurs tags réseau. Pour plus d'informations sur la manière dont les tags réseau et les routes statiques personnalisées fonctionnent ensemble, consultez la section Routes applicables de la page "Présentation des routes". Vous pouvez utiliser des tags avec n'importe quelle route statique personnalisée.
Pour plus d'informations, reportez-vous à la méthode routes.insert
.
Terraform
Vous pouvez créer une route statique à l'aide d'un module Terraform.
Cette route statique crée une route par défaut vers Internet.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Go
Java
Python
Ajouter une route IPv4 par défaut
La route statique IPv4 par défaut (0.0.0.0/0
) dont la passerelle de prochain saut (next-hop-gateway
) est définie sur default-internet-gateway
est automatiquement configurée pour chaque réseau VPC. Suivez la procédure ci-dessous pour recréer cette route si nécessaire.
Console
Dans la console Google Cloud, accédez à la page Routes.
Cliquez sur l'onglet Gestion des routes.
Cliquez sur Créer une route.
Spécifiez un nom et une description pour la route.
Sélectionnez un réseau existant pour la route.
Dans le champ Plage d'adresses IP de destination, saisissez
0.0.0.0/0
.Spécifiez une priorité pour la route. La priorité peut être comprise entre
0
(priorité la plus élevée) et65535
(priorité la plus basse).Pour Saut suivant, sélectionnez Passerelle Internet par défaut.
Cliquez sur Créer.
gcloud
Recréez la route IPv4 par défaut pour un réseau.
gcloud compute routes create ROUTE_NAME \ --destination-range=0.0.0.0/0 \ --network=NETWORK \ --next-hop-gateway=default-internet-gateway
Remplacez les éléments suivants :
ROUTE_NAME
: nom de la route.NETWORK
: nom du réseau VPC contenant la route.
API
Recréez la route IPv4 par défaut pour un réseau.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes { "destRange": "0.0.0.0/0", "name": "ROUTE_NAME", "network": "NETWORK_NAME", "nextHopGateway": "projects/PROJECT_ID/global/gateways/default-internet-gateway" }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel votre route est créée.ROUTE_NAME
: nom de la route.NETWORK_NAME
: nom du réseau VPC contenant la route.
Ajouter une route IPv6 par défaut
La route statique IPv6 par défaut (::/0
) dont la passerelle de saut suivant (next-hop-gateway
) est définie sur default-internet-gateway
est automatiquement configurée pour le réseau VPC lorsque vous créez un sous-réseau à double-pile avec accès aux adresses IP externes. Vous pouvez supprimer la route pour bloquer tout le trafic IPv6 des VM vers Internet. Vous pouvez recréer la route si nécessaire.
Console
Dans la console Google Cloud, accédez à la page Routes.
Cliquez sur l'onglet Gestion des routes.
Cliquez sur Créer une route.
Spécifiez un nom et une description pour la route.
Sélectionnez un réseau existant pour la route.
Dans le champ Plage d'adresses IP de destination, saisissez
::/0
.Spécifiez une priorité pour la route. La priorité peut être comprise entre
0
(priorité la plus élevée) et65535
(priorité la plus basse).Pour Saut suivant, sélectionnez Passerelle Internet par défaut.
Cliquez sur Créer.
gcloud
Recréez la route IPv6 par défaut pour un réseau.
gcloud compute routes create ROUTE_NAME \ --destination-range=::/0 \ --network=NETWORK \ --next-hop-gateway=default-internet-gateway
Remplacez les éléments suivants :
ROUTE_NAME
: nom pour la route.NETWORK
: nom du réseau VPC contenant la route.
API
Recréez la route IPv6 par défaut pour un réseau.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes { "destRange": "::/0", "name": "ROUTE_NAME", "network": "NETWORK_NAME", "nextHopGateway": "projects/PROJECT_ID/global/gateways/default-internet-gateway" }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel votre route est créée.ROUTE_NAME
: nom de la route.NETWORK_NAME
: nom du réseau VPC contenant la route.
Modifier une route statique
Vous ne pouvez pas modifier ou mettre à jour une route statique après l'avoir créée. Pour modifier une route statique, vous devez la supprimer et créer une route de remplacement.
Supprimer une route statique
Pour supprimer une route, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Routes.
Cliquez sur l'onglet Gestion des routes.
Cochez la case située à côté de la règle que vous souhaitez supprimer.
Cliquez sur
Supprimer.Cliquez à nouveau sur Supprimer pour confirmer votre choix.
gcloud
Supprimez une route statique personnalisée à l'aide de la commande suivante de la gcloud CLI :
gcloud compute routes delete ROUTE_NAME
Remplacez ROUTE_NAME
par le nom du point de la route que vous souhaitez supprimer.
API
Supprimez une route statique personnalisée pour la retirer de votre réseau VPC à l'aide de la méthode routes.delete
:
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes/ROUTE_NAME
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet dans lequel se trouve votre route.ROUTE_NAME
: nom de la route à supprimer
Go
Java
Python
Propagation des modifications de route
Lorsque vous ajoutez ou supprimez une route statique, celle-ci se propage à toutes les régions et instances de VM de votre réseau VPC. L'état d'opération de routage PENDING
ou RUNNING
indique que la modification de la route est mise en file d'attente.
Après mise en file d'attente, l'état de l'opération de routage passe à DONE
. Pour utiliser une nouvelle route ou arrêter d'en utiliser une ancienne, la propagation à toutes les instances de VM de votre réseau VPC et de vos réseaux d'appairage de réseaux VPC peut prendre 30 secondes supplémentaires.
Si vous ajoutez ou supprimez simultanément plusieurs routes statiques, les modifications peuvent être appliquées dans n'importe quel ordre. Rien ne garantit que l'ordre dans lequel vous soumettez les modifications de route soit l'ordre dans lequel elles sont traitées. Différentes instances peuvent prendre connaissance des modifications à différents moments.
Si vous devez apporter des modifications de route interdépendantes, vous ne devez effectuer les modifications de manière séquentielle qu'après que l'état de la modification précédente a été défini sur DONE
et que 30 secondes supplémentaires sont écoulées.
Activer le transfert IP pour les instances
Par défaut, le transfert IP est désactivé et Google Cloud effectue une vérification stricte de l'adresse source. Sous réserve de la configuration effective du pare-feu de sortie, une VM peut émettre des paquets avec les sources suivantes :
- Adresse IPv4 interne principale de la carte d'interface réseau (NIC) d'une instance.
- Toutes les plages d'adresses IP d'alias configurées sur la carte d'interface réseau d'une instance.
- Si une plage d'adresses IPv6 est configurée sur le sous-réseau et que l'instance est de type double pile, l'une des adresses IPv6 attribuées à la carte d'interface réseau.
- L'adresse IP interne ou externe associée à une règle de transfert, pour l'équilibrage de charge passthrough ou le transfert de protocole, si l'instance est un backend pour un équilibreur de charge réseau passthrough interne, un équilibreur de charge réseau passthrough externe, ou est référencée par une instance cible.
Pour être utilisable comme prochain saut d'une route, une VM doit transférer des paquets dont les sources ne correspondent pas à l'une des adresses IP ou plages d'adresses IP de la liste précédente. Pour transférer des paquets avec des adresses sources arbitraires, vous devez activer le transfert IP :
- Lorsque vous créez ou mettez à jour une VM, suivez les instructions de la présente section pour activer le transfert IP. L'activation du transfert IP s'applique à toutes les cartes d'interface réseau (NIC) de la VM.
- Outre les étapes de la présente section, vous devez activer le transfert IP dans le système d'exploitation invité de la VM. Pour effectuer cette opération sous Linux, définissez la valeur de l'un des paramètres de noyau suivants, ou les deux, sur
1
:net.ipv4.ip_forward
(pour IPv4) ounet.ipv6.conf.all.forwarding
(pour IPv6).
Pour activer le transfert IP lorsque vous créez une VM, procédez comme suit.
Console
Dans la console Google Cloud, accédez à la page Instances de VM.
Cliquez sur Créer une instance.
Dans la section Options avancées, développez la section Mise en réseau, disques, sécurité, gestion, location unique.
Développez la section Mise en réseau.
Dans la section Transfert IP, cochez la case Activer.
gcloud
Lorsque vous créez une instance, ajoutez l'option --can-ip-forward
à votre commande :
gcloud compute instances create ... --can-ip-forward
API
Lorsque vous créez une instance, utilisez le champ canIpForward
pour activer le transfert IP :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "canIpForward": true, ...other fields }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant l'instanceZONE
: zone Google Cloud contenant l'instance
Pour en savoir plus, consultez la section sur la méthode instances.insert
.
Terraform
Vous pouvez utiliser la ressource Terraform pour créer une instance de VM sur laquelle le transfert IP est activé.
Dans cet exemple, les valeurs des arguments Terraform peuvent être modifiées.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Après avoir activé le transfert IP, continuez le processus de création de VM.
Pour activer le transfert IP sur une VM existante, mettez à jour la propriété d'instance canIpForward
.
Étapes suivantes
- Pour plus d'informations sur le routage, consultez la page Routes.
- Pour en savoir plus sur les réseaux VPC Google Cloud, consultez la présentation du cloud privé virtuel (VPC).
- Pour obtenir des instructions sur la création et la modification des réseaux VPC, consultez la page Créer et gérer des réseaux VPC.