Créer des passerelles VPN haute disponibilité pour connecter deux réseaux Google Cloud

Cette page explique comment connecter deux réseaux cloud privés virtuels à l'aide d'une configuration de passerelle VPN haute disponibilité. Vous pouvez connecter deux réseaux VPC existants à condition que les plages d'adresses IP de sous-réseau principales et secondaires de chaque réseau ne se chevauchent pas.

Pour obtenir un schéma de cette topologie, consultez la page sur les topologies.

Pour plus d'informations sur le choix d'un type de VPN, consultez la page Choisir un produit de connectivité réseau.

Pour découvrir les bonnes pratiques à suivre avant de configurer Cloud VPN, consultez la page Bonnes pratiques pour Cloud VPN.

Exigences

Consignes et exigences générales

Lors de la création de cette configuration, assurez-vous de remplir les conditions suivantes afin de recevoir un contrat de niveau de service garantissant une disponibilité de 99,99 % :

  • Placez une passerelle VPN haute disponibilité dans chaque réseau VPC.
  • Placez les deux passerelles VPN haute disponibilité dans la même région Google Cloud.
  • Configurez un tunnel sur chaque interface de chaque passerelle.
  • Faites correspondre les interfaces de passerelle comme décrit dans les instructions ci-dessous.

Bien qu'il soit possible de connecter deux réseaux VPC via un seul tunnel entre des passerelles VPN haute disponibilité ou des passerelles VPN classiques, ce type de configuration n'est pas considéré comme hautement disponible et ne remplit pas les conditions du contrat de niveau de service garantissant une disponibilité de 99,99 %.

Créer des routeurs cloud

Lorsque vous configurez une nouvelle passerelle VPN haute disponibilité, vous pouvez créer un routeur cloud ou en utiliser un que vous utilisez déjà avec des tunnels Cloud VPN ou des rattachements d'interconnexion (VLAN) existants. Cependant, le routeur Cloud Router que vous utilisez ne doit pas déjà gérer une session BGP pour un rattachement d'interconnexion (VLAN) associé à une interconnexion partenaire, en raison des exigences spécifiques du numéro ASN du rattachement.

Gérer les autorisations

Les passerelles VPN haute disponibilité ne vous appartiennent pas toujours, à vous ou à votre organisation Google Cloud. Lorsque vous créez une passerelle VPN haute disponibilité ou que vous vous connectez à une passerelle dont vous n'êtes pas le propriétaire, vous devez donc considérer les exigences suivantes en matière d'autorisation :

  • Si vous êtes le propriétaire du projet pour lequel vous créez une passerelle VPN haute disponibilité, configurez les autorisations recommandées sur celle-ci.
  • Si vous souhaitez vous connecter à une passerelle VPN haute disponibilité hébergée dans une organisation ou un projet Google Cloud qui ne vos appartient pas, vous devez demander l'autorisation compute.vpnGateways.use au propriétaire.

Avant de commencer

  • Consultez les informations sur le fonctionnement du routage dynamique dans Google Cloud.
  • Assurez-vous que votre passerelle VPN de pairs est compatible avec le protocole BGP.

Configurez les éléments suivants dans Google Cloud pour faciliter la configuration de Cloud VPN :

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder à la page de sélection du projet

  3. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  4. Installez et initialisez le SDK Cloud.
  1. Si vous utilisez des commandes gcloud, définissez votre ID de projet à l'aide de la commande suivante. Dans les instructions gcloud 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.
  gcloud config set project PROJECT_ID

Vous pouvez également afficher un ID de projet déjà défini :

  gcloud config list --format='text(core.project)'

Créer un réseau et un sous-réseau cloud privé virtuel personnalisé

Avant de créer une passerelle et une paire de tunnels VPN haute disponibilité, vous devez créer un réseau cloud privé virtuel et au moins un sous-réseau dans la région où sera située la passerelle VPN haute disponibilité.

Les exemples de ce document utilisent également le mode de routage dynamique global d'un réseau VPC, qui se comporte comme suit :

  • Toutes les instances de Cloud Router appliquent les routes "sur site" qu'elles ont apprises à tous les sous-réseaux du réseau VPC.
  • Les routes vers tous les sous-réseaux du réseau VPC sont partagées avec les routeurs sur site.

À titre de référence, ce document crée une passerelle VPN haute disponibilité dans chacun des deux réseaux VPC :

NETWORK_1 contient les sous-réseaux suivants :

  • Un sous-réseau nommé SUBNET_NAME_1 dans la région REGION_1 utilisant la plage d'adresses IP RANGE_1
  • Un sous-réseau nommé SUBNET_NAME_2 dans la région REGION_2 utilisant la plage d'adresses IP RANGE_2

NETWORK_2 contient les sous-réseaux suivants :

  • Un sous-réseau nommé SUBNET_NAME_3 dans la région REGION_1 utilisant la plage d'adresses IP RANGE_3
  • Un sous-réseau nommé SUBNET_NAME_4 dans la région REGION_3 utilisant la plage d'adresses IP RANGE_4

Créer deux passerelles VPN haute disponibilité entièrement configurées qui s'interconnectent

Suivez les instructions de cette section pour créer une passerelle VPN haute disponibilité, des tunnels, une ressource de passerelle VPN de pairs et des sessions BGP.

Console

L'assistant de configuration VPN inclut toutes les étapes de configuration requises pour créer une passerelle VPN haute disponibilité, des tunnels, une ressource de passerelle VPN de pairs et des sessions BGP.

Créer une passerelle VPN cloud

  1. Accédez à la page "VPN" de Google Cloud Console.
    Accéder à la page "VPN"
    1. Si vous créez une passerelle pour la première fois, sélectionnez le bouton Créer une connexion VPN.
    2. Sélectionnez l'assistant de configuration VPN.
  2. Sélectionnez la case d'option correspondant à une passerelle VPN haute disponibilité.
  3. Cliquez sur Continuer.
  4. Spécifiez un nom de passerelle VPN.
  5. Sous Réseau VPC, sélectionnez un réseau existant ou le réseau par défaut.
  6. Sélectionnez une région.
  7. Cliquez sur Créer et continuer.
  8. L'écran de la console est actualisé et affiche les informations relatives à votre passerelle. Deux adresses IP externes sont automatiquement attribuées à chaque interface de votre passerelle. Notez les détails de la configuration de votre passerelle pour les prochaines étapes de configuration.

Créer une ressource de passerelle VPN de pairs

La ressource de passerelle VPN de pairs représente votre passerelle autre que Google Cloud dans Google Cloud.

  1. Sur l'écran Créer un VPN, sous Passerelle VPN de pairs, sélectionnez Google Cloud.
  2. Sous Projet, sélectionnez un projet Google Cloud qui contiendra la nouvelle passerelle.
  3. Sous Nom de la passerelle VPN, sélectionnez l'autre VPN haute disponibilité que vous configurez en parallèle.
  4. Passez à l'étape suivante : Créer des tunnels VPN

Créer des tunnels VPN

  • En sélectionnant Créer un tunnel VPN unique, vous configurez un seul tunnel sur le reste de l'écran Créer un VPN. Toutefois, vous devrez créer par la suite un second tunnel pour obtenir un contrat de niveau de service garantissant une disponibilité de 99,99 % avec l'autre passerelle VPN haute disponibilité.
  • Si vous sélectionnez Créer une paire de tunnels VPN (recommandé), vous devez configurer les deux boîtes de dialogue associées qui s'affichent en bas de l'écran Créer un VPN.
  1. Sous Haute disponibilité, vous pouvez sélectionner soit une paire de tunnels vers l'autre passerelle VPN haute disponibilité, soit un seul tunnel. Vous pouvez ajouter un second tunnel ultérieurement, comme décrit à la fin de cette procédure.
  2. Sous Cloud Router, si ce n'est pas déjà fait, créez un routeur Cloud Router en spécifiant les options indiquées ci-dessous. Vous pouvez utiliser un routeur Cloud Router existant tant que celui-ci ne gère pas déjà une session BGP pour un rattachement d'interconnexion associé à une interconnexion partenaire.
    1. Pour créer un routeur Cloud Router, spécifiez un Nom, une Description facultative et un numéro ASN Google pour le nouveau routeur. Vous pouvez utiliser n'importe quel ASN privé (64512 à 65534, 4200000000 à 4294967294) que vous n'utilisez pas ailleurs sur votre réseau. Ce numéro sert pour toutes les sessions BGP gérées par le même routeur Cloud Router. Vous ne pouvez pas le modifier ultérieurement.
    2. Cliquez sur Créer pour créer le routeur.
  3. Effectuez la procédure suivante dans le même écran ou dans la boîte de dialogue de chaque tunnel en bas de l'écran.
  4. Si vous configurez un seul tunnel, sous Interface passerelle Cloud VPN associée, sélectionnez la combinaison interface/adresse IP du VPN haute disponibilité de cette passerelle pour l'associer à l'interface passerelle de l'autre passerelle VPN haute disponibilité. Pour les configurations à deux tunnels, cette option et l'option Interface passerelle VPN de pairs associée ne sont pas disponibles, car les combinaisons d'interface appropriées sont configurées pour vous.
    1. Spécifiez un nom pour le tunnel.
    2. Spécifiez une Description facultative.
    3. Spécifiez la version IKE. Le paramètre par défaut IKE v2 est recommandé si votre routeur de pairs le permet.
    4. Spécifiez une clé pré-partagée IKE à l'aide de votre clé secrète partagée, qui doit correspondre à la clé secrète partagée du tunnel partenaire que vous avez créé sur votre passerelle de pairs. Si vous n'avez pas configuré de clé secrète partagée sur votre passerelle VPN de pairs et que vous souhaitez en générer une, cliquez sur le bouton Générer et copier. Veillez à enregistrer la clé pré-partagée dans un emplacement sécurisé, car elle ne peut pas être récupérée une fois que vous avez créé vos tunnels VPN.
    5. Cliquez sur OK.
    6. Répétez les étapes de création de tunnel pour toutes les boîtes de dialogue de tunnel restantes sur l'écran Créer un VPN.
  5. Lorsque vous avez configuré tous les tunnels, cliquez sur Créer et continuer.

Créer des sessions BGP

Définir la priorité des routes annoncées (facultatif)

L'exemple suivant crée des sessions BGP sur des instances Cloud Router en annonçant les routes vers les réseaux de pairs du routeur à travers des priorités de base non modifiées.

Utilisez cette configuration pour les configurations en mode actif/actif où les valeurs des priorités des deux côtés des deux tunnels doivent correspondre. Si vous omettez les valeurs de priorité de base annoncées, les deux pairs BGP seront associés aux mêmes valeurs de priorité annoncées.
Pour les configurations en mode actif/passif, vous pouvez contrôler la priorité de base annoncée des routes "vers Google Cloud" que Cloud Router partage avec votre passerelle VPN de pairs en définissant la priorité des routes annoncées.
Pour créer une configuration en mode actif/passif, définissez une priorité de route annoncée plus élevée pour une session BGP et le tunnel VPN correspondant que pour l'autre session BGP et son tunnel VPN.

Pour plus d'informations sur la priorité de base annoncée, consultez la section Métriques de routage.

Vous pouvez également affiner les routes annoncées à l'aide d'annonces personnalisées. Pour ce faire, ajoutez l'option --advertisement-mode=CUSTOM et spécifiez des plages d'adresses IP avec --set-advertisement-ranges.

Pour créer des sessions BGP, procédez comme suit :

  1. Si vous ne souhaitez pas configurer de sessions BGP, cliquez sur le bouton Configurer les sessions BGP ultérieurement. Vous serez redirigés vers l'écran Résumé et rappel.
  2. Si vous souhaitez configurer des sessions BGP maintenant, cliquez sur le bouton Configurer du premier tunnel VPN.
  3. Sur l'écran Créer une session BGP, procédez comme suit :
    1. Spécifiez un nom pour la session BGP.
    2. Spécifiez le numéro ASN du pair configuré pour la passerelle VPN de pairs.
    3. (Facultatif) Spécifiez la priorité des routages présentés.
    4. Spécifiez l'Adresse IP BGP du routeur cloud et l'Adresse IP du pair BGP. Assurez-vous que les adresses IP répondent aux exigences suivantes :
      • Chaque adresse IP BGP doit appartenir au même masque CIDR /30 au sein du bloc 169.254.0.0/16.
      • Les adresses IP BGP ne peuvent pas correspondre à la première adresse (adresse réseau) ou à la dernière adresse (adresse de diffusion) du masque CIDR /30.
      • Chaque plage d'adresses IP BGP pour chaque session BGP doit être unique parmi tous les routeurs cloud de toutes les régions d'un réseau VPC.
    5. (Facultatif) Cliquez sur le menu déroulant Routes annoncées et créez des routes personnalisées.
    6. Cliquez sur Enregistrer et continuer.
  4. Répétez les étapes précédentes pour les autres tunnels configurés sur la passerelle, en utilisant une adresse IP BGP du routeur cloud et une adresse IP du pair BGP différentes pour chaque tunnel.
  5. Lorsque vous avez configuré toutes les sessions BGP, cliquez sur Enregistrer la configuration BGP.

Résumé et rappel

  1. La section Résumé de cet écran répertorie les informations concernant les profils de la passerelle VPN haute disponibilité et de la passerelle VPN de pairs.
  2. Pour chaque tunnel VPN, vous pouvez afficher l'état du tunnel VPN, le nom de la session BGP, l'état de la session BGP et la valeur MED (priorité de route annoncée).
  3. La section Rappel de cet écran répertorie les étapes à suivre pour disposer d'une connexion VPN entièrement opérationnelle entre Cloud VPN et votre VPN de pairs.
  4. Cliquez sur OK après avoir vérifié les informations affichées sur cet écran.

Créer un tunnel supplémentaire sur une passerelle à tunnel unique

Suivez les étapes de cette section pour configurer un deuxième tunnel sur la deuxième interface d'une passerelle VPN haute disponibilité. Si vous avez configuré un tunnel sur une passerelle VPN haute disponibilité vers une autre passerelle VPN haute disponibilité, mais que vous souhaitez recevoir un contrat de niveau de service assurant une disponibilité de 99,99 %, vous devez configurer un second tunnel.

  1. Accédez à la page "VPN" de Google Cloud Console.
    Accéder à la page "VPN"
    1. Recherchez le VPN haute disponibilité auquel vous souhaitez ajouter le tunnel.
    2. Cliquez sur le bouton Ajouter un tunnel VPN.
    3. Sous Passerelle VPN de pairs, sélectionnez Google Cloud.
    4. Sous Projet, sélectionnez un projet Google Cloud qui contiendra la nouvelle passerelle.
    5. Sous Nom de la passerelle VPN, sélectionnez l'autre passerelle VPN haute disponibilité à laquelle se connecte le nouveau tunnel.
    6. Sélectionnez Ajouter le second tunnel VPN au tunnel VPN existant pour assurer la haute disponibilité.
    7. Sous Sélectionner un tunnel VPN existant, vérifiez que le tunnel existant est bien sélectionné. Vous pouvez cliquer sur un lien pour afficher tous les tunnels existants en haut du même écran.
    8. Spécifiez un nom de tunnel.
    9. Spécifiez la même version du protocole IKE que celle utilisée par le tunnel de l'autre passerelle.
    10. Spécifiez une clé pré-partagée IKE à l'aide de votre clé secrète partagée, qui doit correspondre à la clé secrète partagée du tunnel partenaire que vous avez créé sur votre passerelle de pairs. Si vous n'avez pas configuré de clé secrète partagée sur votre passerelle VPN de pairs et que vous souhaitez en générer une, cliquez sur le bouton Générer et copier. Veillez à enregistrer la clé pré-partagée dans un emplacement sécurisé, car elle ne peut pas être récupérée une fois que vous avez créé vos tunnels VPN.
    11. Cliquez sur Créer et continuer.
    12. Configurez et enregistrez une session BGP comme indiqué précédemment. Sinon, vous pourrez la configurer ultérieurement.
    13. Consultez l'écran Résumé et rappel pour obtenir des informations de configuration, puis cliquez sur OK.

gcloud

Créer des passerelles VPN haute disponibilité

Pour créer deux passerelles VPN haute disponibilité, exécutez les commandes suivantes dans l'ordre indiqué :

  1. Créez une passerelle VPN haute disponibilité sur chaque réseau de la région REGION_1. Lorsque les passerelles sont créées, deux adresses IP externes sont automatiquement attribuées, une pour chaque interface de passerelle. Notez ces adresses IP que vous utiliserez ultérieurement dans les étapes de configuration.

    Dans les commandes suivantes, remplacez les options comme indiqué ci-dessous :

    • Remplacez GW_NAME_1 et GW_NAME_2 par le nom de chaque passerelle.
    • Remplacez toutes les autres options par les valeurs que vous avez utilisées précédemment.

    Créer la première passerelle

      gcloud compute vpn-gateways create GW_NAME_1 \
        --network NETWORK_1 \
        --region REGION_1
    

    La passerelle que vous créez doit ressembler à l'exemple suivant. Une adresse IP externe a été attribuée automatiquement à chaque interface de passerelle :

      Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-a].
      NAME        INTERFACE0    INTERFACE1     NETWORK    REGION
      ha-vpn-gw-a 203.0.113.16  203.0.113.23   network-a  us-central1
    

    Créer la deuxième passerelle

      gcloud compute vpn-gateways create GW_NAME_2 \
        --network NETWORK_2 \
        --region REGION_1
    
      Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-b].
      NAME        INTERFACE0   INTERFACE1    NETWORK    REGION
      ha-vpn-gw-b 203.0.114.18 203.0.114.25  network-b  us-central1
    

Créer chaque routeur Cloud Router

Les instructions suivantes supposent que vous n'avez pas encore créé de routeurs Cloud à utiliser pour la gestion des sessions BGP de vos tunnels VPN haute disponibilité.

Vous pouvez utiliser un routeur Cloud existant dans chaque réseau VPC, sauf si ces routeurs gèrent déjà une session BGP pour un rattachement d'interconnexion associé à une interconnexion partenaire.

  1. Pour créer un routeur Cloud dans chaque réseau, exécutez les commandes suivantes dans l'ordre indiqué. Dans les commandes suivantes, remplacez les options comme indiqué ci-dessous :

    • Remplacez les champs ASN_1 et ASN_2 par des numéros ASN privés (64512 - 65534, 4200000000 - 4294967294) que vous n'utilisez pas encore. Cet exemple utilise le numéro ASN 65001 pour les deux interfaces du routeur ROUTER_NAME_1 et ASN 65002 pour les deux interfaces du routeur ROUTER_NAME_2.
    • Remplacez toutes les autres options par les valeurs que vous avez utilisées précédemment.

    Créer le premier routeur

      gcloud compute routers create ROUTER_NAME_1 \
        --region REGION_1 \
        --network NETWORK_1 \
        --asn ASN_1
    

    Le routeur que vous créez doit ressembler à l'exemple de résultat suivant :

      Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
      NAME     REGION      NETWORK
      router-a us-central1 network-a
    

    Créer le deuxième routeur

      gcloud compute routers create ROUTER_NAME_2 \
        --region REGION_1 \
        --network NETWORK_2 \
        --asn ASN_2
    

    Le routeur que vous créez doit ressembler à l'exemple de résultat suivant :

      Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-b].
      NAME     REGION      NETWORK
      router-b us-central1 network-b
    

Créer des tunnels VPN

  1. Exécutez la séquence de commandes suivante pour créer deux tunnels VPN sur chaque passerelle VPN haute disponibilité.

    • Le tunnel créé à partir de l'interface 0 de la passerelle GW_NAME_1 doit se connecter à l'adresse IP externe associée à l'interface 0 de la passerelle GW_NAME_2 dans le réseau NETWORK_2, et
    • Le tunnel de l'interface 1 de la passerelle GW_NAME_1 doit se connecter à l'adresse IP externe associée à l'interface 1 de la passerelle GW_NAME_2.
    • Lorsque vous créez des tunnels VPN sur la passerelle GW_NAME_1 dans le réseau NETWORK_1, vous devez spécifier les informations de la passerelle GW_NAME_2 dans le réseau NETWORK_2. Google connecte automatiquement le tunnel entre l'interface 0 de la passerelle GW_NAME_1 et l'interface 0 de la passerelle GW_NAME_2, et l'interface 1 de la passerelle GW_NAME_1 et l'interface 1 de la passerelle GW_NAME_2.

    Créer deux tunnels sur la passerelle GW_NAME_1

    1. Créez deux tunnels VPN (un pour chaque interface) de la passerelle GW_NAME_1 dans le réseau NETWORK_1. Dans les commandes suivantes, remplacez les options comme indiqué ci-dessous :

      • Remplacez TUNNEL_NAME_GW1_IF0 et TUNNEL_NAME_GW1_IF1 par un nom pour chaque tunnel provenant de la passerelle GW_NAME_1. Nommer les tunnels en incluant le nom de l'interface de la passerelle peut aider à les identifier ultérieurement.
      • Utilisez GW_NAME_2 pour la valeur de --peer-gcp-gateway.
      • Remplacez REGION par la région où se trouve la passerelle GW_NAME_1.
      • (Facultatif) --vpn-gateway-region correspond à la région de la passerelle VPN haute disponibilité à utiliser. Sa valeur doit être identique à celle de --region. Si cette option n'est pas spécifiée, elle est définie automatiquement. Cette option ignore la valeur par défaut de la propriété "compute/region" pour cet appel de commande.
      • Remplacez IKE_VERS par 2 pour IKEv2. Étant donné que les deux tunnels se connectent à une autre passerelle VPN haute disponibilité, l'utilisation d'IKEv2 est recommandée.
      • Remplacez SHARED_SECRET par votre clé secrète partagée, qui doit être la même que celle que vous utilisez pour le tunnel correspondant créé à partir de la passerelle GW_NAME_2 sur l'interface 0 et l'interface 1. Pour obtenir des recommandations, consultez la section Générer une clé pré-partagée sécurisée.
      • Remplacez INT_NUM_0 par le numéro 0 pour la première interface sur la passerelle GW_NAME_1.
      • Remplacez INT_NUM_1 par le numéro 1 pour la deuxième interface sur la passerelle GW_NAME_1.
      • Si la passerelle GCP du pair (peer-gcp-gateway) se trouve dans un projet différent du tunnel VPN et de la passerelle VPN locale, utilisez l'option --peer-gcp-gateway comme URI complet ou comme nom relatif pour spécifier le projet. L'exemple d'option suivant est un nom relatif : --peer-gcp-gateway projects/other-project/regions/us-central1/vpnGateways/ha-vpn-gw-b.
      • La région --peer-gcp-gateway-region, qui correspond à la passerelle VPN haute disponibilité côté pair à laquelle le tunnel VPN est connecté, doit se trouver dans la même région que le tunnel VPN. Si elle n'est pas spécifiée, la région est définie automatiquement.

      Créer le premier tunnel sur la passerelle GW_NAME_1 de l'interface INT_NUM_0

        gcloud compute vpn-tunnels create TUNNEL_NAME_GW1_IF0\
          --peer-gcp-gateway GW_NAME_2 \
          --region REGION_1 \
          --ike-version IKE_VERS \
          --shared-secret SHARED_SECRET \
          --router ROUTER_NAME_1 \
          --vpn-gateway GW_NAME_1 \
          --interface INT_NUM_0
      

      Créer le deuxième tunnel sur la passerelle GW_NAME_1 de l'interface INT_NUM_1

        gcloud compute vpn-tunnels create TUNNEL_NAME_GW1_IF1 \
          --peer-gcp-gateway GW_NAME_2 \
          --region REGION_1 \
          --ike-version IKE_VERS \
          --shared-secret SHARED_SECRET \
          --router ROUTER_NAME_1 \
          --vpn-gateway GW_NAME_1 \
          --interface INT_NUM_1
      

      Le résultat de la commande doit ressembler à l'exemple suivant :
        Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-b-if-0].
        NAME               REGION       VPN_GATEWAY     INTERFACE  PEER_GCP_GATEWAY
        tunnel-a-to-b-if-0 us-central1  ha-vpn-gw-a     0          ha-vpn-gw-b
        Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-b-if-1].
        NAME               REGION       VPN_GATEWAY     INTERFACE  PEER_GCP_GATEWAY
        tunnel-a-to-b-if-1 us-central1  ha-vpn-gw-a     1          ha-vpn-gw-b
      

    Créer deux tunnels sur la passerelle GW_NAME_2

    1. Créez deux tunnels VPN (un pour chaque interface) de la passerelle GW_NAME_2 dans le réseau NETWORK_2.
      • Le tunnel créé à partir de l'interface 0 de la passerelle GW_NAME_2 doit se connecter à l'adresse IP externe associée à l'interface 0 de la passerelle GW_NAME_1 dans le réseau NETWORK_1, et
      • Le tunnel de l'interface 1 de la passerelle GW_NAME_2 doit se connecter à l'adresse IP externe associée à l'interface 1 de la passerelle GW_NAME_1.
      • Remplacez REGION par la région où se trouve la passerelle GW_NAME_2.
      • (Facultatif) --vpn-gateway-region correspond à la région de la passerelle VPN à utiliser. Sa valeur doit être identique à celle de --region. Si cette option n'est pas spécifiée, elle est définie automatiquement. Cette option ignore la valeur par défaut de la propriété "compute/region" pour cet appel de commande.

        Dans les commandes suivantes, remplacez les options comme indiqué ci-dessous :
      • Remplacez TUNNEL_NAME_GW2_IF0 et TUNNEL_NAME_GW2_IF1 par un nom pour chaque tunnel provenant de la passerelle GW_NAME_2. Nommer les tunnels en incluant le nom de l'interface de la passerelle peut aider à les identifier ultérieurement.
      • Utilisez GW_NAME_1 pour la valeur de --peer-gcp-gateway.
      • La valeur de la région de la passerelle GCP du pair (--peer-gcp-gateway-region) doit se trouver dans la même région que le tunnel VPN. Si elle n'est pas spécifiée, la valeur est définie automatiquement. Dans cet exemple, la région est REGION_1.
      • Remplacez IKE_VERS par 2 pour IKEv2. Étant donné que ces tunnels se connectent aux deux tunnels créés à l'étape précédente, ils doivent utiliser la même version du protocole IKE (IKEv2 est la version recommandée).
      • Remplacez SHARED_SECRET par votre clé secrète partagée, qui doit correspondre à la clé secrète partagée du tunnel partenaire que vous avez créé pour chaque interface de la passerelle GW_NAME_1. Pour obtenir des recommandations, consultez la section Générer une clé pré-partagée sécurisée.
      • Remplacez GW_NAME_2 par le nom de la deuxième passerelle configurée lors de l'étape de configuration des passerelles.
      • Remplacez INT_NUM_0 par le numéro 0 pour la première interface sur la passerelle GW_NAME_2.
      • Remplacez INT_NUM_1 par le numéro 1 pour la deuxième interface sur la passerelle GW_NAME_2.
      • Si la passerelle GCP du pair (peer-gcp-gateway) se trouve dans un projet différent du tunnel VPN et de la passerelle VPN locale, utilisez l'option --peer-gcp-gateway comme URI complet ou comme nom relatif pour spécifier le projet. L'exemple d'option suivant est un nom relatif : --peer-gcp-gateway projects/other-project/regions/us-central1/vpnGateways/ha-vpn-gw-b.
      • La région --peer-gcp-gateway-region, qui correspond à la passerelle VPN haute disponibilité côté pair à laquelle le tunnel VPN est connecté, doit se trouver dans la même région que le tunnel VPN. Si elle n'est pas spécifiée, la région est définie automatiquement.

    Créer le premier tunnel sur la passerelle GW_NAME_2 de l'interface INT_NUM_0

      gcloud compute vpn-tunnels create TUNNEL_NAME_GW2_IF0 \
       --peer-gcp-gateway GW_NAME_1 \
       --region REGION_1 \
       --ike-version IKE_VERS \
       --shared-secret SHARED_SECRET \
       --router ROUTER_NAME_2 \
       --vpn-gateway GW_NAME_2 \
       --interface INT_NUM_0
    

    Créer le deuxième tunnel sur la passerelle GW_NAME_2 de l'interface INT_NUM_1

      gcloud compute vpn-tunnels create TUNNEL_NAME_GW2_IF1 \
        --peer-gcp-gateway GW_NAME_1 \
        --region REGION_1 \
        --ike-version IKE_VERS \
        --shared-secret SHARED_SECRET \
        --router ROUTER_NAME_2 \
        --vpn-gateway GW_NAME_2 \
        --interface INT_NUM_1
    

    Le résultat de la commande doit ressembler à l'exemple suivant :
      Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-b-to-a-if-0].
      NAME                REGION       VPN_GATEWAY     INTERFACE  PEER_GCP_GATEWAY
      tunnel-b-to-a-if-0  us-central1  ha-vpn-gw-b     0          ha-vpn-gw-a
      Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-b-to-a-if-1].
      NAME                REGION       VPN_GATEWAY     INTERFACE  PEER_GCP_GATEWAY
      tunnel-b-to-a-if-1  us-central1  ha-vpn-gw-b     1          ha-vpn-gw-a
    

    Après cette étape, attendez quelques minutes, puis vérifiez l'état de chaque tunnel VPN.

    L'état d'un tunnel VPN ne passe à Established (Établi) que lorsque le tunnel partenaire correspondant est également disponible et correctement configuré. Un protocole IKE et une association de sécurité enfant doivent également être négociés entre eux.

    Par exemple, le tunnel tunnel-a-to-b-if-0 sur la passerelle ha-vpn-gw-a ne peut être établi que si le tunnel tunnel-b-to-a-if-0 sur la passerelle ha-vpn-gw-b est configuré et disponible.

Créer des interfaces Cloud Router et des pairs BGP

Le tableau suivant présente une synthèse des interfaces Cloud Router et des pairs BGP configurés dans cette section. Il indique la relation entre les plages d'adresses IP et les adresses IP de pairs que vous spécifiez pour chaque interface. Par exemple, la première interface de router-1 possède une adresse IP de pair ayant la valeur 169.254.0.2. Elle provient de la plage d'adresses IP de la première interface de router-2, c'est-à-dire 169.254.0.2/30.

Routeur Nom de l'interface BGP Plage d'adresses IP Adresse IP du pair Numéro ASN du pair
router-1 if-tunnel-a-to-b-if-0 169.254.0.1/30 169.254.0.2 65002
router-2 if-tunnel-b-to-a-if-0 169.254.0.2/30 169.254.0.1 65001
router-1 if-tunnel-a-to-b-if-1 169.254.1.1/30 169.254.1.2 65002
router-2 if-tunnel-b-to-a-if-1 169.254.1.2/30 169.254.1.1 65001

Pour plus de précisions, consultez les instructions de cette section, qui incluent un exemple du résultat obtenu après la configuration.

Définir la priorité des routes annoncées (facultatif)

Les exemples suivants créent des sessions BGP sur des instances Cloud Router en annonçant les routes vers les réseaux de pairs correspondants à travers des priorités de base non modifiées. Utilisez cette configuration pour les configurations en mode actif/actif où les valeurs des priorités des deux côtés des deux tunnels doivent correspondre. Comme dans l'exemple, si vous omettez --advertised-base-priority, les deux pairs BGP seront associés aux mêmes valeurs de priorité annoncées.

Pour les configurations en mode actif/passif, vous pouvez contrôler la priorité de base des routes annoncées "vers Google Cloud" que Cloud Router partage avec votre passerelle VPN de pairs à l'aide de l'option --advertised-route-priority lors de l'ajout ou de la mise à jour d'un pair BGP.

Pour créer une configuration en mode actif/passif, définissez une priorité de route annoncée plus élevée pour une session BGP et le tunnel VPN correspondant, que pour l'autre session BGP et son tunnel VPN.

Pour plus d'informations sur la priorité de base annoncée, consultez la section Métriques de routage.

Vous pouvez également affiner les routes annoncées à l'aide d'annonces personnalisées. Pour ce faire, ajoutez l'option --advertisement-mode=CUSTOM et spécifiez des plages d'adresses IP avec --set-advertisement-ranges.

Pour créer des interfaces Cloud Router et des pairs BGP, procédez comme suit :

  1. Créez une interface BGP et un pair BGP sur le routeur ROUTER_NAME_1 pour le tunnel TUNNEL_NAME_GW1_IF0. Cette interface BGP connecte le tunnel TUNNEL_NAME_GW1_IF0 sur l'interface 0 de la passerelle GW_1 à l'interface 0 de la passerelle GW_2 via deux adresses IP BGP. Dans les commandes suivantes, remplacez les options comme indiqué ci-dessous :

    • Remplacez ROUTER_1_INTERFACE_NAME_0 par un nom pour l'interface Cloud Router BGP. Il peut être utile d'utiliser un nom associé au tunnel TUNNEL_NAME_GW1_IF0.
    • Remplacez IP_ADDRESS par une adresse IP BGP du bloc 169.254.0.0/16 qui n'est pas encore utilisée. Cet exemple utilise 169.254.0.1.
    • Utilisez une longueur du masque (MASK_LENGTH) de 30.
    • Remplacez PEER_NAME par un nom décrivant le pair BGP. Il peut être utile d'utiliser un nom associé au tunnel TUNNEL_NAME_GW1_IF0.
    • Remplacez PEER_IP_ADDRESS par une adresse IP BGP du bloc 169.254.0.0/16 qui n'est pas encore utilisée. Cet exemple utilise 169.254.0.2.
    • Remplacez PEER_ASN par le numéro ASN utilisé pour toutes les interfaces de l'autre routeur Cloud Router, ROUTER_NAME_2. Cet exemple utilise le numéro ASN 65002.

      1. Pour créer une interface BGP pour le tunnel TUNNEL_NAME_GW1_IF0, exécutez la commande suivante :

        gcloud compute routers add-interface ROUTER_NAME_1 \
           --interface-name ROUTER_1_INTERFACE_NAME_0 \
           --ip-address IP_ADDRESS \
           --mask-length MASK_LENGTH \
           --vpn-tunnel TUNNEL_NAME_GW1_IF0 \
           --region REGION_1
        
      2. Pour créer un pair BGP pour le tunnel TUNNEL_NAME_GW1_IF0, exécutez la commande suivante :

        gcloud compute routers add-bgp-peer ROUTER_NAME_1 \
           --peer-name PEER_NAME \
           --interface ROUTER_1_INTERFACE_NAME_0 \
           --peer-ip-address PEER_IP_ADDRESS \
           --peer-asn PEER_ASN \
           --region REGION_1
        

        Le résultat de la commande doit ressembler à l'exemple suivant :

         Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
        
  2. Créez une interface BGP et un pair BGP sur le routeur ROUTER_NAME_1 pour le tunnel TUNNEL_NAME_GW1_IF1. Cette interface BGP connecte le tunnel TUNNEL_NAME_GW1_IF1 sur l'interface 1 de la passerelle GW_1 à l'interface 1 de la passerelle GW_2 via deux adresses IP BGP. Dans les commandes suivantes, remplacez les options comme indiqué ci-dessous :

    • Remplacez ROUTER_1_INTERFACE_NAME_1 par un nom de l'interface BGP Cloud Router. Il peut être utile d'utiliser un nom associé au tunnel TUNNEL_NAME_GW1_IF1.
    • Remplacez IP_ADDRESS par une adresse IP BGP du bloc 169.254.0.0/16 qui n'est pas encore utilisée. Cet exemple utilise 169.254.1.1.
    • Utilisez une longueur du masque (MASK_LENGTH) de 30.
    • Remplacez PEER_NAME par un nom décrivant le pair BGP. Il peut être utile d'utiliser un nom associé au tunnel TUNNEL_NAME_GW1_IF1.
    • Remplacez PEER_IP_ADDRESS par une adresse IP BGP du bloc 169.254.0.0/16 qui n'est pas encore utilisée. Cet exemple utilise 169.254.1.2.
    • Remplacez PEER_ASN par le numéro ASN utilisé pour toutes les interfaces de l'autre routeur Cloud Router, ROUTER_NAME_2. Cet exemple utilise le numéro ASN 65002.

      1. Pour créer une interface BGP pour le tunnel TUNNEL_NAME_GW1_IF1, exécutez la commande suivante :

        gcloud compute routers add-interface ROUTER_NAME_1 \
           --interface-name ROUTER_1_INTERFACE_NAME_1 \
           --ip-address IP_ADDRESS \
           --mask-length MASK_LENGTH \
           --vpn-tunnel TUNNEL_NAME_GW1_IF1 \
           --region REGION_1
        
      2. Pour créer un pair BGP pour le tunnel TUNNEL_NAME_GW1_IF1, exécutez la commande suivante :

        gcloud compute routers add-bgp-peer ROUTER_NAME_1  \
           --peer-name PEER_NAME \
           --interface ROUTER1_INTERFACE_NAME_1 \
           --peer-ip-address PEER_IP_ADDRESS \
           --peer-asn PEER_ASN \
           --region REGION_1
        

        Le résultat de la commande doit ressembler à l'exemple suivant :

         Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a ].
        
  3. Vérifiez les paramètres du routeur ROUTER_1 en saisissant la commande suivante :

    gcloud compute routers describe ROUTER_1  \
        --region REGION_1
    

    Le résultat de la commande doit ressembler à l'exemple suivant :

     bgp:
       advertisemode: DEFAULT
       asn: 65001
     bgpPeers:
     — interfaceName: if-tunnel-a-to-b-if-0
       ipAddress: 169.254.0.1
       name: bgp-peer-tunnel-a-to-b-if-0
       peerAsn: 65002
       peerIpAddress: 169.254.0.2
     bgpPeers:
     — interfaceName: if-tunnel-a-to-b-if-1
       ipAddress: 169.254.1.1
       name: bgp-peer-tunnel-a-to-b-if-1
       peerAsn: 65002
       peerIpAddress: 169.254.1.2
     creationTimestamp: '2015-10-19T14:31:52.639-07:00'
     id: '4047683710114914215'
     interfaces:
     — ipRange: 169.254.0.1/30
       linkedVpnTunnel:
     https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-b-if-0
       name: if-tunnel-a-to-b-if-0
     — ipRange: 169.254.1.1/30
       linkedVpnTunnel:
     https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-b-if-1
       name: if-tunnel-a-to-b-if-1
     kind: compute#router
     name: router-a
     network: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/network-a
     region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1
     selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a
    
  4. Créez une interface BGP et un pair BGP sur le routeur ROUTER_NAME_2 pour le tunnel TUNNEL_NAME_GW2_IF0. Cette interface BGP connecte le tunnel TUNNEL_NAME_GW2_IF0 sur l'interface 0 de la passerelle GW_2 à l'interface 0 de la passerelle GW_1 via deux adresses IP BGP. Dans les commandes suivantes, remplacez les options comme indiqué ci-dessous :

    • Remplacez ROUTER_2_INTERFACE_NAME_0 par un nom de l'interface BGP Cloud Router. Il peut être utile d'utiliser un nom associé au tunnel TUNNEL_NAME_GW2_IF0.
    • Remplacez IP_ADDRESS par l'adresse IP BGP utilisée précédemment pour cette passerelle et cette interface. Cet exemple utilise 169.254.0.2.
    • Utilisez une longueur du masque (MASK_LENGTH) de 30.
    • Remplacez PEER_NAME par un nom décrivant le pair BGP. Il peut être utile d'utiliser un nom associé au tunnel TUNNEL_NAME_GW2_IF0.
    • Remplacez PEER_IP_ADDRESS par l'adresse IP utilisée précédemment pour la passerelle et l'interface de pairs. Cet exemple utilise 169.254.0.1.
    • Remplacez PEER_ASN par le numéro ASN utilisé pour toutes les interfaces du routeur ROUTER_NAME_1 et défini précédemment. Cet exemple utilise le numéro ASN 65001.
    1. Pour créer une interface BGP pour le tunnel TUNNEL_NAME_GW2_IF0, exécutez la commande suivante :

      gcloud compute routers add-interface ROUTER_NAME_2 \
         --interface-name ROUTER_2_INTERFACE_NAME_0 \
         --ip-address IP_ADDRESS \
         --mask-length MASK_LENGTH \
         --vpn-tunnel TUNNEL_NAME_GW2_IF0 \
         --region REGION_1
      

      Le résultat de la commande doit ressembler à l'exemple suivant :

    2. Pour créer un pair BGP pour le tunnel TUNNEL_NAME_GW2_IF0, exécutez la commande suivante :

       gcloud compute routers add-bgp-peer ROUTER_NAME_2 \
         --peer-name PEER_NAME \
         --interface ROUTER_2_INTERFACE_NAME_0 \
         --peer-ip-address PEER_IP_ADDRESS \
         --peer-asn PEER_ASN \
         --region REGION_1
      

      Le résultat de la commande doit ressembler à l'exemple suivant :

       Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-b ].
      
  5. Créez une interface BGP et un pair BGP sur le routeur ROUTER_NAME_2 pour le tunnel TUNNEL_NAME_GW2_IF1. Cette interface BGP connecte le tunnel TUNNEL_NAME_GW2_IF1 sur l'interface 1 de la passerelle GW_2 à l'interface 1 de la passerelle GW_1 via deux adresses IP BGP. Dans les commandes suivantes, remplacez les options comme indiqué ci-dessous :

    • Remplacez ROUTER_2_INTERFACE_NAME_1 par un nom de l'interface BGP Cloud Router. Il peut être utile d'utiliser un nom associé au tunnel TUNNEL_NAME_GW2_IF1.
    • Remplacez IP_ADDRESS par l'adresse IP BGP utilisée précédemment pour cette passerelle et cette interface. Cet exemple utilise 169.254.1.2.
    • Utilisez une longueur du masque (MASK_LENGTH) de 30.
    • Remplacez PEER_NAME par un nom décrivant le pair BGP. Il peut être utile d'utiliser un nom associé au tunnel TUNNEL_NAME_GW2_IF1.
    • Remplacez PEER_IP_ADDRESS par une adresse IP BGP du bloc 169.254.0.0/16 qui n'est pas encore utilisée. Cet exemple utilise 169.254.1.1.
    • Remplacez PEER_ASN par le numéro ASN utilisé pour toutes les interfaces du routeur ROUTER_NAME_1 et défini précédemment. Cet exemple utilise le numéro ASN 65001.
    1. Pour créer une interface BGP pour le tunnel TUNNEL_NAME_GW2_IF1, exécutez la commande suivante :

      gcloud compute routers add-interface ROUTER_NAME_2 \
         --interface-name ROUTER_2_INTERFACE_NAME_1 \
         --ip-address IP_ADDRESS \
         --mask-length MASK_LENGTH \
         --vpn-tunnel TUNNEL_NAME_GW2_IF1 \
         --region REGION_1
      

      Le résultat de la commande doit ressembler à l'exemple suivant :

      Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-b ].
      
    2. Pour créer un pair BGP pour le tunnel TUNNEL_NAME_GW2_IF1, exécutez la commande suivante :

      gcloud compute routers add-bgp-peer ROUTER_NAME_2  \
         --peer-name PEER_NAME \
         --interface ROUTER_2_INTERFACE_NAME_1 \
         --peer-ip-address PEER_IP_ADDRESS \
         --peer-asn PEER_ASN \
         --region REGION_1
      

      Le résultat de la commande doit ressembler à l'exemple suivant :

       Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-b ].
      
  6. Vérifiez les paramètres du routeur ROUTER_2 en saisissant la commande suivante :

    gcloud compute routers describe ROUTER_2  \
       --region REGION_1
    

    Le résultat de la commande doit ressembler à l'exemple suivant :

     bgp:
       advertiseMode: DEFAULT
       asn: 65002
     bgpPeers:
     — interfaceName: if-tunnel-b-to-a-if-0
       ipAddress: 169.254.0.2
       name: bgp-peer-tunnel-b-to-a-if-0
       peerAsn: 65001
       peerIpAddress: 169.254.0.1
     bgpPeers:
     — interfaceName: if-tunnel-b-to-a-if-1
       ipAddress: 169.254.1.2
       name: bgp-peer-tunnel-b-to-a-if-1
       peerAsn: 65001
       peerIpAddress: 169.254.1.1
     creationTimestamp: '2015-10-19T14:31:52.639-07:00'
     id: '4047683710114914215'
     interfaces:
     — ipRange: 169.254.0.1/30
       linkedVpnTunnel:
     https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-b-to-a-if-0
       name: if-tunnel-b-to-a-if-0
       — ipRange: 169.254.1.1/30
       linkedVpnTunnel:
     https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-b-to-a-if-1
       name: if-tunnel-b-to-a-if-1
     kind: compute#router
     name: router-b
     network: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/network-b
     region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1
     selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-b
    

Passer à l'étape suivante pour terminer la configuration

API

Étape 1 : Pour créer une passerelle VPN haute disponibilité, envoyez une requête POST à la méthode vpnGateways.insert. Répétez cette commande pour créer l'autre passerelle VPN haute disponibilité en utilisant name, network et region pour l'autre passerelle.

 POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnGateways
 {
   "name": "ha-vpn-gw-a",
   "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/network-a"
 }

Étape 2 :

Si vous avez déjà créé un routeur Cloud Router dans chacun des réseaux VPC où réside chacune de vos passerelles VPN haute disponibilité, vous pouvez utiliser ces routeurs Cloud plutôt que d'en créer de nouveaux. Toutefois, si un routeur Cloud gère une session BGP pour un rattachement d'interconnexion associé à une interconnexion partenaire, vous devez en créer un nouveau.

Pour créer un routeur Cloud Router, envoyez une requête POST à la méthode routers.insert.

 POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
 {
   "name": "router-a",
   "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/network-a"
 }

Étape 3 : Pour créer deux tunnels VPN, un pour chaque interface sur une passerelle VPN haute disponibilité, envoyez une requête POST à la méthode vpnTunnels.insert.

Saisissez la commande suivante pour créer le premier tunnel :

 POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
 {
   "name": "ha-vpn-gw-a-tunnel-0",
   "ikeVersion": 2,
   "peerIp": "192.0.2.1",
   "router": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/router-a",
   "sharedSecret": "974;va'oi3-1",
   "vpnGateway": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpn-gateways/ha-vpn-gw-a",
   "vpnGatewayInterface": 0
 }

Pour créer le second tunnel, répétez la commande précédente, mais modifiez les paramètres suivants :

  • name
  • peerIp
  • sharedSecret ou sharedSecretHash (si nécessaire)

Pour le second tunnel, remplacez le paramètre vpnGatewayInterface par la valeur de l'autre interface de passerelle VPN haute disponibilité. Dans cet exemple, vous devez remplacer cette valeur par 1.

Répétez cette étape pour créer deux tunnels pour votre deuxième passerelle VPN haute disponibilité qui se connectent à votre première passerelle VPN, mais modifiez les paramètres en utilisant les exemples de commandes gcloud comme référence.

Définir la priorité des routes annoncées pour BGP (facultatif)

Les exemples suivants créent des sessions BGP sur des instances Cloud Router en annonçant les routes vers les réseaux de pairs correspondants à travers des priorités de base non modifiées. Utilisez cette configuration pour les configurations en mode actif/actif où les valeurs des priorités des deux côtés des deux tunnels doivent correspondre. Si vous omettez le paramètre advertised-route-priority, les deux pairs BGP seront associés aux mêmes valeurs de priorité annoncées.

Pour les configurations en mode actif/passif, vous pouvez contrôler la priorité de base des routes annoncées vers Google Cloud que Cloud Router partage avec votre passerelle VPN de pairs. Pour configurer cette priorité, utilisez le paramètre advertised-route-priority lors de l'ajout ou de la mise à jour d'un pair BGP.

Pour créer une configuration en mode actif/passif, définissez une priorité de route annoncée plus élevée pour une session BGP et le tunnel VPN correspondant, que pour l'autre session BGP et son tunnel VPN.

Pour plus d'informations sur la priorité de base annoncée, consultez la section Métriques de routage.

Vous pouvez également affiner les routes annoncées à l'aide d'annonces personnalisées. Pour ce faire, ajoutez le paramètre advertiseMode en définissant sa valeur sur custom, et spécifiez des plages d'adresses IP avec le paramètre advertisedIpRanges.

Étape 4 : Pour créer une interface Cloud Router BGP, envoyez une requête PATCH ou UPDATE aux méthodes routers.patch ou routers.update. La requête PATCH ne met à jour que les paramètres que vous incluez. La requête UPDATE met à jour tous les paramètres du routeur Cloud Router. Créez une interface BGP pour chaque tunnel VPN sur la passerelle VPN haute disponibilité.

Les plages d'adresses IP BGP que vous spécifiez doivent être uniques parmi tous les routeurs cloud de toutes les régions d'un réseau VPC.

 PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/{resourceId}
 {
   "interfaces": [
     {
       "name": "if-tunnel-a-to-on-prem-if-0",
       "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
       "ipRange": "169.254.0.1/30"
     }
   ]
 }

Étape 5 : Pour ajouter un pair BGP au routeur Cloud Router pour chaque tunnel VPN, envoyez une requête POST à la méthode routers.insert. Répétez cette commande pour l'autre tunnel VPN, en modifiant toutes les options sauf name et "peerAsn".

Pour créer la configuration complète d'une passerelle VPN haute disponibilité, utilisez les commandes API suivantes.

 POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
 {
   "name": "router-a",
   "network": "network-a",
   "bgpPeers": [
     {
       "interfaceName": "if-tunnel-a-to-on-prem-if-0",
       "ipAddress": "169.254.0.1",
       "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
       "peerAsn": "65002",
       "peerIpAddress": "169.254.0.2",
       "advertiseMode": "DEFAULT"
     }
   ]
  }
 

Étape 6 : Vérifiez la configuration du routeur Cloud Router avec la méthode routers.getRouterStatus, en utilisant un corps de requête vide :

 POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers

Terminer la configuration

Avant de pouvoir utiliser une nouvelle passerelle Cloud VPN et ses tunnels VPN, vous devez suivre la procédure ci-dessous :

  1. Configurez la passerelle VPN de pairs et configurez-y le ou les tunnels correspondants. Reportez-vous aux pages suivantes :
  2. Configurez les règles de pare-feu dans Google Cloud et votre réseau de pairs, si nécessaire. Pour en savoir plus, consultez la page consacrée aux règles de pare-feu.
  3. Vérifiez l'état de vos tunnels VPN et vérifiez la disponibilité de votre passerelle VPN haute disponibilité dans la configuration.
Appliquer une règle d'administration VPN

Appliquer une contrainte de règle d'administration qui limite les adresses IP des passerelles VPN de pairs

Vous pouvez créer une contrainte de règle d'administration Google Cloud qui définit un ensemble d'adresses IP autorisées ou interdites pour l'appairage à des passerelles VPN via des tunnels VPN classiques ou haute disponibilité. Cette contrainte contient une liste d'adresses IP de pairs autorisées ou refusées, appliquée aux tunnels Cloud VPN créés après l'application de la contrainte. Pour en savoir plus, consultez la présentation de Cloud VPN.

Autorisations requises

Pour définir une contrainte d'adresse IP de pair au niveau de l'organisation ou du projet, vous devez d'abord disposer du rôle Administrateur des règles d'administration (orgpolicy.policyAdmin) pour votre organisation.

Définir des contraintes

Pour créer une règle d'administration et l'associer à une organisation, un dossier ou un projet, utilisez les exemples répertoriés dans les sections suivantes et suivez les étapes de la page Utiliser des contraintes.

Restreindre la connectivité à partir d'adresses IP de pairs spécifiques via un tunnel Cloud VPN

Pour n'autoriser que des adresses IP de pairs spécifiques, procédez comme suit :

  1. Recherchez l'ID de votre organisation en saisissant la commande suivante :
    gcloud organizations list

    Le résultat de la commande devrait ressembler au suivant.

          DISPLAY NAME             ID
          example-organization     29252605212
        
  2. Créez un fichier JSON qui définit votre règle. Vous devez fournir une règle sous forme de fichier JSON, comme dans l'exemple suivant :

         {
           "constraint": "constraints/compute.restrictVpnPeersIPs",
           "listPolicy": {
             "allowedValues": [
               "100.1.1.1",
             ],
           }
         }
       
  3. Exécutez la commande gcloud Resource Manager set-policy pour définir la règle d'administration, en transmettant le fichier JSON et en utilisant l'identifiant ORGANIZATION_ID que vous avez obtenu à l'étape précédente.

Restreindre la connectivité à partir de toute adresse IP de pairs via un tunnel Cloud VPN

Pour interdire la création de tout nouveau tunnel Cloud VPN, suivez les étapes décrites dans cet exemple de contrainte.

  1. Recherchez l'ID de votre organisation ou l'ID du nœud dans la hiérarchie des ressources où vous souhaitez définir une règle.
  2. Créez un fichier JSON comme dans l'exemple suivant.

        {
          "constraint": "constraints/compute.restrictVpnPeersIPs",
          "listPolicy": {
            "allValues": "DENY"
          }
        }
    
  3. Transmettez le fichier JSON en saisissant la même commande que celle que vous utiliseriez pour restreindre des adresses IP de pairs spécifiques.