Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Utiliser des routes basées sur des règles

Les routes basées sur des règles vous permettent de sélectionner un saut suivant en fonction de l'adresse IP de destination d'un paquet. Cette page explique comment créer, répertorier, décrire et supprimer des routes basées sur des règles.

Avant de commencer

Rôles requis

Pour obtenir les autorisations nécessaires pour utiliser des routes basées sur des règles, demandez à votre administrateur de vous accorder le rôle IAM d'administrateur de réseaux Compute (roles/compute.networkAdmin) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Créer des routes basées sur des règles

Lorsque vous créez une route basée sur des règles, vous pouvez spécifier un ou plusieurs critères correspondants. Le trafic est redirigé vers l'équilibreur de charge TCP/UDP interne spécifié s'il correspond à tous les critères de votre choix. Si vous ne spécifiez aucun critère de correspondance, la route est appliquée à tout le trafic IPv4 au sein du réseau VPC.

Créer une route basée sur des règles pour le trafic au sein d'un réseau VPC

gcloud

Pour créer une route basée sur des règles pour le trafic au sein d'un réseau VPC, utilisez la commande policy-based-routes create.

gcloud network-connectivity policy-based-routes create ROUTE_NAME \
    --source-range=IP_RANGE_A \
    --destination-range=IP_RANGE_B \
    --ip-protocol=IP_PROTOCOL \
    --network="projects/PROJECT_ID/global/networks/NETWORK" \
    --tags=NETWORK_TAGS \
    --next-hop-ilb-ip=LOAD_BALANCER_IP \
    --description=DESCRIPTION \
    --priority=PRIORITY

Remplacez les éléments suivants :

  • ROUTE_NAME: nom de la route basée sur des règles
  • IP_RANGE_A: plage CIDR de l'adresse IP source
  • IP_RANGE_B: plage CIDR de l'adresse IP de destination
  • IP_PROTOCOL : Protocole IP du trafic à rediriger Les options sont ALL, TCP ou UDP. La valeur par défaut est ALL.
  • PROJECT_ID : ID du projet
  • NETWORK: nom du réseau dans lequel transférer le trafic
  • NETWORK_TAGS: un ou plusieurs tags réseau facultatifs. La route basée sur des règles s'applique à toutes les instances comportant au moins un de ces tags. Vous pouvez fournir plusieurs tags dans une liste séparée par des virgules.
  • LOAD_BALANCER_IP: adresse IP de l'équilibreur de charge TCP/UDP interne.
  • DESCRIPTION: description facultative de la route
  • PRIORITY: priorité de la route basée sur des règles par rapport aux autres routes basées sur des règles.

Pour acheminer le trafic de réponse de la même manière qu'une route basée sur des règles, créez une deuxième route basée sur des règles avec les mêmes sauts suivants et protocoles, mais remplacez les plages d'adresses IP source et de destination.

gcloud network-connectivity policy-based-routes create RETURN_ROUTE_NAME \
    --source-range=IP_RANGE_B \
    --destination-range=IP_RANGE_A \
    --ip-protocol=IP_PROTOCOL \
    --network="projects/PROJECT_ID/global/networks/NETWORK" \
    --tags=NETWORK_TAGS \
    --next-hop-ilb-ip=LOAD_BALANCER_IP \
    --description=DESCRIPTION \
    --priority=PRIORITY

Remplacez RETURN_ROUTE_NAME par le nom de la route de retour.

API

Pour créer une route basée sur des règles pour le trafic au sein d'un réseau VPC, envoyez une requête POST à la méthode policyBasedRoutes.create.

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes?policyBasedRouteId=ROUTE_NAME
{
  "filter": {
    "srcRange": "IP_RANGE_A",
    "destRange": "IP_RANGE_B",
    "ipProtocol": "IP_PROTOCOL",
    "protocolVersion": "IPv4"
  },
  "network": "projects/PROJECT_ID/global/networks/NETWORK",
  "nextHopIlbIp": "LOAD_BALANCER_IP",
  "description": "DESCRIPTION",
  "priority": "PRIORITY",
  "virtualMachine": {
    "tags": [
      "NETWORK_TAGS"
    ]
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet
  • ROUTE_NAME: nom de la route basée sur des règles
  • IP_RANGE_A: plage CIDR de l'adresse IP source
  • IP_RANGE_B: plage CIDR de l'adresse IP de destination
  • IP_PROTOCOL : Protocole IP du trafic à rediriger Les options sont ALL, TCP ou UDP. La valeur par défaut est ALL.
  • NETWORK : nom du réseau
  • LOAD_BALANCER_IP: adresse IP de l'équilibreur de charge TCP/UDP interne.
  • DESCRIPTION: description facultative de la route
  • PRIORITY: priorité de la route basée sur des règles par rapport aux autres routes basées sur des règles.
  • NETWORK_TAGS: un ou plusieurs tags réseau facultatifs. La route basée sur des règles s'applique à toutes les instances comportant au moins un de ces tags. Vous pouvez inclure plusieurs tags au format suivant : "tag1","tag2","tag3".

Pour acheminer le trafic de réponse de la même manière qu'une route basée sur des règles, créez une deuxième route basée sur des règles avec les mêmes sauts suivants et protocoles, mais remplacez les plages d'adresses IP source et de destination.

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes?policyBasedRouteId=RETURN_ROUTE_NAME
{
  "filter": {
    "srcRange": "IP_RANGE_B",
    "destRange": "IP_RANGE_A",
    "ipProtocol": "IP_PROTOCOL",
    "protocolVersion": "IPv4"
  },
  "network": "projects/PROJECT_ID/global/networks/NETWORK",
  "nextHopIlbIp": "LOAD_BALANCER_IP",
  "description": "DESCRIPTION",
  "priority": "PRIORITY",
  "virtualMachine": {
    "tags": [
      "NETWORK_TAGS"
    ]
  }
}

Remplacez RETURN_ROUTE_NAME par le nom de la route de retour.

Créer une route basée sur des règles à utiliser avec une connexion Cloud Interconnect

Vous pouvez créer des routes basées sur des règles pour diriger le trafic depuis un réseau sur site vers un réseau VPC via une connexion Cloud Interconnect. Lorsque vous créez une route basée sur des règles pour le trafic Cloud Interconnect, vous spécifiez une région. La route est activée pour toutes les connexions Cloud Interconnect de cette région. Il n'est pas possible de créer une route basée sur des règles pour une connexion Cloud Interconnect spécifique.

gcloud

Pour créer une route basée sur des règles pour le trafic provenant d'un réseau sur site, utilisez la commande policy-based-routes create.

gcloud network-connectivity policy-based-routes create ROUTE_NAME \
    --interconnect-attachment-region=INTERCONNECT_REGION \
    --tags=NETWORK_TAGS \
    --source-range=IP_RANGE_A \
    --destination-range=IP_RANGE_B \
    --ip-protocol=IP_PROTOCOL \
    --network="projects/PROJECT_ID/global/networks/NETWORK" \
    --next-hop-ilb-ip=LOAD_BALANCER_IP \
    --description=DESCRIPTION \
    --priority=PRIORITY

Remplacez les éléments suivants :

  • ROUTE_NAME: nom de la route basée sur des règles
  • INTERCONNECT_REGION: région des connexions Cloud Interconnect auxquelles appliquer des routes basées sur des règles
  • NETWORK_TAGS: un ou plusieurs tags réseau facultatifs. La route basée sur des règles s'applique à toutes les instances comportant au moins un de ces tags. Vous pouvez fournir plusieurs tags dans une liste séparée par des virgules.
  • IP_RANGE_A: plage CIDR de l'adresse IP source
  • IP_RANGE_B: plage CIDR de l'adresse IP de destination
  • IP_PROTOCOL : Protocole IP du trafic à rediriger Les options sont ALL, TCP ou UDP. La valeur par défaut est ALL.
  • PROJECT_ID : ID du projet
  • NETWORK: nom du réseau dans lequel transférer le trafic
  • LOAD_BALANCER_IP: adresse IP de l'équilibreur de charge TCP/UDP interne.
  • DESCRIPTION: description facultative de la route
  • PRIORITY: priorité de la route basée sur des règles par rapport aux autres routes basées sur des règles.

API

Pour créer une route basée sur des règles pour le trafic provenant d'un réseau sur site, envoyez une requête POST à la méthode policyBasedRoutes.create.

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes?policyBasedRouteId=ROUTE_NAME
{
  "filter": {
    "srcRange": "IP_RANGE_A",
    "destRange": "IP_RANGE_B",
    "ipProtocol": "IP_PROTOCOL",
    "protocolVersion": "IPv4"
  },
  "interconnectAttachment": {
    "region": "INTERCONNECT_REGION"
  },
  "network": "projects/PROJECT_ID/global/networks/NETWORK",
  "nextHopIlbIp": "LOAD_BALANCER_IP",
  "description": "DESCRIPTION",
  "priority": "PRIORITY",
  "virtualMachine": {
    "tags": [
      "NETWORK_TAGS"
    ]
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet
  • ROUTE_NAME: nom de la route basée sur des règles
  • IP_RANGE_A: plage CIDR de l'adresse IP source
  • IP_RANGE_B: plage CIDR de l'adresse IP de destination
  • IP_PROTOCOL : Protocole IP du trafic à rediriger Les options sont ALL, TCP ou UDP. La valeur par défaut est ALL.
  • INTERCONNECT_REGION: région des connexions Cloud Interconnect auxquelles appliquer des routes basées sur des règles
  • NETWORK : nom du réseau
  • LOAD_BALANCER_IP: adresse IP de l'équilibreur de charge TCP/UDP interne.
  • DESCRIPTION: description facultative de la route
  • PRIORITY: priorité de la route basée sur des règles par rapport aux autres routes basées sur des règles.
  • NETWORK_TAGS: un ou plusieurs tags réseau facultatifs. La route basée sur des règles s'applique à toutes les instances comportant au moins un de ces tags. Vous pouvez inclure plusieurs tags au format suivant : "tag1","tag2","tag3".

Vérifier la connectivité d'une route basée sur des règles

Les tests de connectivité se présentent comme un outil de diagnostic qui vous permet de vérifier la connectivité entre les points de terminaison de votre réseau. Il analyse votre configuration et, dans certains cas, procède à la vérification de l'exécution. Les tests de connectivité sont compatibles avec les routes basées sur des règles. Pour exécuter des tests de connectivité avec vos routes basées sur des règles, consultez la page Créer et exécuter des tests de connectivité.

Répertorier les routes basées sur des règles

Vous pouvez répertorier les routes basées sur des règles pour afficher toutes les routes basées sur des règles d'un projet.

gcloud

Pour répertorier les routes basées sur des règles, exécutez la commande policy-based-routes list.

gcloud network-connectivity policy-based-routes list

API

Pour répertorier les routes basées sur des règles, envoyez une requête GET à la méthode policyBasedRoutes.list.

GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes

Remplacez PROJECT_ID par l'ID du projet dans lequel répertorier les routes basées sur des règles.

Décrire les routes basées sur des règles

Vous pouvez décrire une route basée sur des règles pour afficher les détails de la route.

gcloud

Pour décrire une route basée sur des règles, exécutez la commande policy-based-routes describe.

gcloud network-connectivity policy-based-routes describe NAME

Remplacez NAME par le nom de la route à décrire.

API

Pour décrire une route basée sur des règles, envoyez une requête GET à la méthode policyBasedRoutes.get.

GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes/ROUTE_NAME

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet
  • ROUTE_NAME: nom de la route basée sur des règles à décrire

Supprimer les routes basées sur des règles

Vous pouvez supprimer une route basée sur des règles pour la retirer d'un réseau VPC.

gcloud

Pour supprimer une route basée sur des règles, exécutez la commande policy-based-routes delete.

gcloud network-connectivity policy-based-routes delete NAME

Remplacez NAME par le nom de la route à supprimer.

API

Pour supprimer une route basée sur des règles, envoyez une requête DELETE à la méthode policyBasedRoutes.delete.

DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes/ROUTE_NAME

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet
  • ROUTE_NAME: nom de la route basée sur des règles à supprimer