Créer des routeurs cloud

Cloud Router permet d'échanger dynamiquement des routes entre un réseau cloud privé virtuel (VPC) et votre réseau sur site. Après avoir créé un routeur cloud, vous pouvez établir des sessions BGP entre celui-ci et votre routeur sur site.

Lorsque vous créez un routeur Cloud Router, vous pouvez utiliser ses annonces de routage par défaut ou spécifier des annonces personnalisées. Par défaut, Cloud Router annonce les sous-réseaux de sa région pour le routage dynamique régional ou tous les sous-réseaux d'un réseau VPC pour le routage dynamique global. Avec les annonces de routage personnalisées, vous choisissez les routes annoncées par le routeur cloud, telles que des adresses IP statiques externes ou des plages CIDR spécifiques.

Pour en savoir plus, consultez les sections suivantes de la présentation de Cloud Router :

Avant de commencer

Si vous souhaitez utiliser les exemples de ligne de commande de ce guide, procédez comme suit :

  1. Installez la dernière version de l'outil de ligne de commande gcloud ou appliquez la mise à jour correspondante.
  2. Définissez une région et une zone par défaut.

Si vous voulez utiliser les exemples d'API de ce guide, configurez l'accès aux API.

Créer un routeur cloud

Pour créer un routeur cloud, procédez comme suit.

Console

  1. Dans Google Cloud Console, accédez à la page Créer un routeur Cloud Router.

    Accéder à la page Créer un Cloud Router

  2. Spécifiez les détails du routeur cloud :

    • Nom : nom du routeur cloud. Ce nom est affiché dans Cloud Console et permet à l'outil de ligne de commande gcloud de référencer le routeur cloud (par exemple, my-router).
    • Description (facultatif) : description du routeur cloud.
    • Réseau : réseau VPC qui contient les instances à joindre (par exemple, my-network).
    • Région : région dans laquelle localiser le routeur cloud, par exemple asia-east1.
    • Numéro ASN Google : numéro ASN privé (64512-65534, 4200000000-4294967294 ) pour le routeur Cloud Router que vous configurez. Il peut s'agir de n'importe quel numéro ASN privé que vous n'utilisez pas déjà en tant que numéro ASN de pair dans la même région et sur le même réseau, par exemple 65001. Cloud Router nécessite l'utilisation d'un numéro  ASN privé, mais votre numéro ASN sur site peut être public ou privé.
    • Intervalle keepalive du pair BGP : intervalle entre deux messages keepalive BGP successifs envoyés au routeur pair. Cette valeur doit être un entier compris entre 20 et 60 qui spécifie le nombre de secondes de l'intervalle. La valeur par défaut est de 20 secondes. Pour plus d'informations, consultez la page Gérer les timers BGP.
  3. Facultatif : Pour spécifier des annonces de routage personnalisées, consultez la section Routes annoncées. Pour plus d'informations sur les étapes suivantes, consultez la page Annonces de routage personnalisées.

    1. Pour spécifier des Routes, sélectionnez Créer des routes personnalisées.
    2. Indiquez si vous souhaitez annoncer les sous-réseaux disponibles pour le routeur cloud. Cette option imite le comportement par défaut du routeur cloud.
    3. Pour ajouter une route annoncée, sélectionnez Ajouter une route personnalisée, puis configurez-la.
  4. Pour enregistrer vos paramètres et créer un routeur cloud, cliquez sur Créer. Votre nouveau routeur cloud apparaît sur la page listant les routeurs cloud. Pour afficher ses détails et configurer une session BGP, sélectionnez-le.

gcloud

  • Pour créer un routeur cloud dans la région contenant les instances à joindre, exécutez la commande create :

    gcloud compute routers create ROUTER_NAME \
        --project=PROJECT_ID \
        --network=NETWORK \
        --asn=ASN_NUMBER \
        --region=REGION
    

    Remplacez l'élément suivant :

    • ROUTER_NAME : nom du routeur cloud.
    • PROJECT_ID : ID du projet contenant le routeur cloud.
    • NETWORK : réseau VPC contenant les instances que vous souhaitez joindre.
    • ASN_NUMBER : n'importe quellenuméro ASN privé (64512-65534, 4200000000-4294967294 ) que vous n'utilisez pas déjà dans le réseau sur site. Cloud Router nécessite l'utilisation d'un numéro  ASN privé, mais votre numéro ASN sur site peut être public ou privé.
    • REGION : région dans laquelle localiser le routeur cloud. Le routeur cloud annonce tous les sous-réseaux de la région dans laquelle il se trouve.
  • Pour créer un routeur cloud avec des annonces de routage personnalisées, définissez --advertisement-mode sur custom et utilisez les indicateurs --set-advertisement-ranges et --set-advertisement-groups pour spécifier les annonces de routage.

    L'option --set-advertisement-ranges accepte une liste de plages CIDR. L'option --set-advertisement-groups accepte les groupes définis par Google que le routeur cloud annonce de manière dynamique. Actuellement, la seule valeur valide est all_subnets. Elle annonce les sous-réseaux en fonction du mode de routage dynamique du réseau VPC (comme pour les annonces par défaut).

    L'exemple suivant annonce les sous-réseaux et les plages d'adresses IP personnalisées 1.2.3.4et 6.7.0.0/16 :

    gcloud compute routers create ROUTER_NAME \
        --project=PROJECT_ID \
        --network=NETWORK \
        --asn=ASN_NUMBER \
        --advertisement-mode custom \
        --set-advertisement-groups all_subnets \
        --set-advertisement-ranges 1.2.3.4,6.7.0.0/16
    
  • Pour définir le timer keepalive d'un pair BGP, utilisez l'option --keepalive-interval, qui définit l'intervalle entre les messages keepalive BGP envoyés au routeur pair. Cette valeur doit être un nombre entier compris entre 20 et 60 qui spécifie le nombre de secondes de l'intervalle. La valeur par défaut est de 20 secondes.

API

  • Exécutez la méthode routers.insert :

       POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
       {
         "bgp": {
           "asn": "ASN_NUMBER"
           "keepaliveInterval": KEEPALIVE_INTERVAL
         },
         "name": "ROUTER_NAME",
         "network": "NETWORK"
       }
    

    Remplacez l'élément suivant :

    • PROJECT_ID : ID du projet qui contient le réseau VPC.
    • REGION : région dans laquelle localiser le routeur cloud.
    • ASN_NUMBER : numéro ASN privé (64512-65534, 4200000000-4294967294) pour le routeur Cloud Router que vous configurez. Il peut s'agir de n'importe quel numéro ASN privé que vous n'utilisez pas déjà en tant que numéro ASN de pair dans la même région et sur le même réseau, par exemple 65001. Cloud Router nécessite l'utilisation d'un numéro  ASN privé, mais votre numéro ASN sur site peut être public ou privé.
    • KEEPALIVE_INTERVAL (facultatif) : message keepalive de Cloud Router qui définit l'intervalle entre les messages keepalive BGP envoyés au routeur pair.

      Cette valeur doit être un nombre entier compris entre 20 et 60 qui spécifie le nombre de secondes de l'intervalle. La valeur par défaut est de 20 secondes.

    • ROUTER_NAME : nom du routeur cloud. Ce nom est affiché dans Cloud Console et permet à l'outil de ligne de commande gcloud de référencer le routeur cloud.

    • NETWORK : réseau qui contient les instances à joindre.

  • Pour créer un routeur Cloud Router avec des annonces de routage personnalisées, définissez le champ bgp.advertiseMode sur CUSTOM et utilisez les champs bgp.advertisedGroups[] et bgp.advertisedIpRanges[] pour spécifier les annonces de routage.

    Le champ bgp.advertisedIpRanges[] accepte un tableau de plages CIDR. Le champ bgp.advertisedGroups[] accepte les groupes définis par Google que le routeur cloud annonce de manière dynamique. Actuellement, la seule valeur valide est ALL_SUBNETS. Elle annonce les sous-réseaux en fonction du mode de routage dynamique du réseau VPC (comme pour les annonces par défaut).

    L'exemple suivant annonce les sous-réseaux et les plages d'adresses IP personnalisées 1.2.3.4 et 6.7.0.0/16 :

       POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
       {
         "bgp": {
           "asn": "ASN_NUMBER",
           "advertiseMode": "CUSTOM",
           "advertisedGroups": [
             "ALL_SUBNETS"
           ],
           "advertisedIpRanges": [
             {
               "range": "1.2.3.4",
               "description": "First example range"
             },
             {
               "range": "6.7.0.0/16",
               "description": "Second example range"
             }
           ]
         },
         "name": "ROUTER_NAME",
         "network": "NETWORK"
       }
      

Terraform

Utilisez un module Terraform.

module "cloud_router" {
  source  = "terraform-google-modules/cloud-router/google"
  version = "~> 0.4"

  name   = "my-router"
  region = "us-central1"

  bgp = {
    # The ASN (16550, 64512 - 65534, 4200000000 - 4294967294) can be any private ASN
    # not already used as a peer ASN in the same region and network or 16550 for Partner Interconnect.
    asn = "65001"
  }

  # project = "my-project-id"
  project = var.project
  # network = "my-network"
  network = var.network
}

Étape suivante

  • Pour établir des sessions BGP entre votre routeur cloud et votre routeur sur site, consultez la page Établir des sessions BGP.

  • Pour résoudre les problèmes liés à l'utilisation de Cloud Router, consultez la page Dépannage.