Créer une passerelle VPN haute disponibilité connectée à une passerelle VPN de pairs

Cette page explique comment créer une passerelle VPN haute disponibilité qui se connecte à une passerelle VPN de pairs.

Les passerelles VPN haute disponibilité utilisent l'API HA VPN et fournissent un contrat de niveau de service garantissant une disponibilité de 99,99 %. Cette configuration utilise une paire de tunnels, avec un tunnel sur chaque interface de passerelle VPN haute disponibilité. Pour recevoir un contrat de niveau de service garantissant une disponibilité de 99,99 %, vous devez configurer des tunnels VPN sur les deux interfaces de passerelle VPN haute disponibilité.

Il existe deux composants de passerelle à configurer pour le VPN haute disponibilité :

  • Une passerelle VPN haute disponibilité dans Google Cloud.
  • Votre passerelle ou vos passerelles VPN de pairs : une ou plusieurs applications ou appareils de passerelle VPN physique dans le réseau de pairs auquel la passerelle VPN haute disponibilité se connecte. La passerelle de pairs peut être soit une passerelle VPN sur site, soit une passerelle hébergée par un autre fournisseur cloud.

    Créez une ressource de passerelle VPN externe dans Google Cloud pour chaque appareil ou service de passerelle de pairs. Remarque : Tous les scénarios de passerelles de pairs sont représentés dans Google Cloud par une seule ressource de VPN de pairs externe.

Pour en savoir plus sur Cloud VPN, consultez les ressources suivantes :

Si vous souhaitez déployer un VPN haute disponibilité sur Cloud Interconnect, consultez la présentation du VPN haute disponibilité sur Cloud Interconnect.

Conditions requises

Types de redondance

L'API VPN haute disponibilité contient une option pour REDUNDANCY_TYPE, qui représente le nombre d'interfaces que vous configurez pour la ressource de passerelle VPN externe.

Lorsque vous configurez une ressource de passerelle VPN externe, les commandes gcloud déduisent automatiquement les valeurs suivantes de REDUNDANCY_TYPE à partir du nombre d'interfaces que vous indiquez dans l'ID d'interface :

  • Une interface VPN externe correspond à SINGLE_IP_INTERNALLY_REDUNDANT.
  • Deux interfaces VPN externes correspondent à TWO_IPS_REDUNDANCY.
  • Quatre interfaces VPN externes correspondent à FOUR_IPS_REDUNDANCY.

Lorsque vous configurez des passerelles VPN externes, vous devez utiliser les numéros d'identification d'interface suivants pour le nombre indiqué d'interfaces VPN externes :

  • Pour une interface VPN externe, utilisez la valeur 0.
  • Pour deux interfaces VPN externes, utilisez les valeurs 0 et 1.
  • Pour quatre interfaces VPN externes, utilisez les valeurs 0, 1, 2 et 3.

Créer des passerelles de pairs entre VPN haute disponibilité et AWS

Lors de la configuration d'une passerelle VPN haute disponibilité externe vers Amazon Web Services (AWS), vous pouvez utiliser une passerelle de transit ou une passerelle réseau privé virtuel. Seule la passerelle de transit est compatible avec le routage ECMP (Equal-Cost Multi-Path). Lorsque le protocole ECMP est activé, il répartit équitablement le trafic entre les tunnels actifs. La topologie compatible nécessite deux connexions AWS Site-to-Site VPN, A et B, chacune ayant deux adresses IP externes. Cette topologie engendre quatre adresses IP externes au total dans AWS : A1, A2, B1 et B2.

  1. Configurez les quatre adresses IP AWS comme une seule passerelle VPN haute disponibilité externe à l'aide de FOUR_IPS_REDUNDANCY, où :
    • l'adresse IP AWS 0 équivaut à A1 ;
    • l'adresse IP AWS 1 équivaut à A2 ;
    • l'adresse IP AWS 2 équivaut à B1 ;
    • l'adresse IP AWS 3 équivaut à B2.
  2. Créez quatre tunnels sur la passerelle VPN haute disponibilité pour atteindre le contrat de niveau de service de 99,99 % à l'aide de la configuration suivante :
    • interface 0 VPN haute disponibilité vers interface 0 AWS
    • interface 0 VPN haute disponibilité vers interface 1 AWS
    • interface 1 VPN haute disponibilité vers interface 2 AWS
    • interface 1 VPN haute disponibilité vers interface 3 AWS

Configurez un VPN haute disponibilité avec AWS :

  1. Dans Google Cloud, créez une passerelle VPN haute disponibilité et un routeur Cloud Router dans la région de votre choix. Deux adresses IP externes sont alors créées, une pour chaque interface de passerelle. Notez les adresses IP externes à utiliser à l'étape suivante.
  2. Dans AWS, créez deux passerelles client à l'aide des éléments suivants :
    • L'option de routage Dynamique
    • Le numéro ASN Google du routeur Cloud Router
    • Adresses IP externes de la passerelle VPN haute disponibilité Google Cloud interfaces 0 et 1
  3. Suivez la procédure correspondant à l'option de VPN AWS que vous utilisez :
    • Passerelle de transit
      1. Créez un rattachement de passerelle de transit avec un VPN pour la première passerelle client (interface 0) et utilisez l'option de routage Dynamique.
      2. Répétez l'étape précédente pour la deuxième passerelle client (interface 1).
    • Passerelle réseau privé virtuel
      1. Créez une connexion Site-to-Site VPN pour la première passerelle client (interface 0) à l'aide des éléments suivants :
        • Le type de passerelle cible Passerelle réseau privé virtuel
        • L'option de routage Dynamique
      2. Répétez l'étape précédente pour la deuxième passerelle client (interface 1).
  4. Téléchargez les fichiers de configuration AWS pour les deux connexions que vous avez créées. Ces fichiers contiennent les informations dont vous aurez besoin lors des étapes suivantes de cette procédure, y compris les clés d'authentification pré-partagées, les adresses IP externes des tunnels et les adresses IP internes des tunnels.
  5. Dans Google Cloud, procédez comme suit :
    1. Créez une passerelle VPN de pairs avec quatre interfaces en utilisant les adresses IP externes AWS contenues dans les fichiers téléchargés à l'étape précédente.
    2. Créez quatre tunnels VPN sur la passerelle VPN haute disponibilité que vous avez créée à l'étape 1. Pour chaque tunnel, configurez l'interface de passerelle VPN haute disponibilité avec l'interface de passerelle VPN de pairs et les clés pré-partagées appropriées, en utilisant les informations contenues dans les fichiers de configuration AWS que vous avez téléchargés.
    3. Configurez des sessions BGP sur le routeur Cloud Router à l'aide des adresses IP BGP contenues dans les fichiers de configuration AWS téléchargés.

Créer des routeurs cloud

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

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 (Border Gateway Protocol).

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

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.

  4. Installez Google Cloud CLI.
  5. Pour initialiser gcloudCLI, exécutez la commande suivante :

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

    Accéder au sélecteur de projet

  7. Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.

  8. Installez Google Cloud CLI.
  9. Pour initialiser gcloudCLI, exécutez la commande suivante :

    gcloud init
  1. Si vous utilisez Google Cloud CLI, 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
        
  1. Vous pouvez également afficher un ID de projet déjà défini en exécutant la commande suivante :

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

Créer un réseau VPC et un sous-réseau personnalisés

Avant de créer une passerelle VPN haute disponibilité et une paire de tunnels, créez un réseau cloud privé virtuel (VPC) et au moins un sous-réseau dans la région où se trouve la passerelle VPN haute disponibilité :

Pour activer le protocole IPv6 pour les passerelles VPN haute disponibilité, vous devez activer l'allocation d'adresses internes IPv6 lors de la création du VPC. De plus, les sous-réseaux doivent être configurés pour utiliser des adresses internes IPv6.

Vous devez également configurer le protocole IPv6 sur les VM du sous-réseau.

Le sous-réseau VPC doit être configuré pour utiliser des adresses IPv6 internes. Lorsque vous utilisez la CLI gcloud, vous devez configurer le sous-réseau avec l'indicateur --ipv6-access-type=INTERNAL. Cloud Router n'annonce pas dynamiquement les routes pour les sous-réseaux configurés pour utiliser des adresses IPv6 externes (--ipv6-access-type=EXTERNAL).

Pour en savoir plus sur l'utilisation de plages IPv6 internes dans votre réseau et sous-réseaux VPC, consultez la section Spécifications IPv6 internes.

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 to on-premises 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.

Créer une passerelle VPN haute disponibilité et une paire de tunnels vers un VPN de pairs

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

Créer une passerelle VPN haute disponibilité

Console

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

Pour créer une passerelle VPN haute disponibilité, procédez comme suit :

  1. Dans Google Cloud Console, accédez à la page VPN.

    Accéder au VPN

  2. Si vous créez une passerelle pour la première fois, cliquez sur Créer une connexion VPN.

  3. Sélectionnez l'assistant de configuration VPN.

  4. Si vous disposez déjà d'une passerelle VPN haute disponibilité, sélectionnez son bouton d'options.

  5. Cliquez sur Continuer.

  6. Spécifiez un nom de passerelle VPN.

  7. Sous Réseau VPC, sélectionnez un réseau existant ou le réseau par défaut.

  8. Sélectionnez une Région.

  9. Sélectionnez un type de pile pour la passerelle VPN, soit IPv4 (pile unique), soit IPv4 et IPv6 (double pile).

  10. Cliquez sur Créer et continuer.

  11. 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.

gcloud

Pour créer une passerelle VPN haute disponibilité, exécutez la commande suivante. Lorsque la passerelle est créée, deux adresses IPv4 externes sont automatiquement attribuées, une pour chaque interface de passerelle.

gcloud compute vpn-gateways create GW_NAME \
    --network=NETWORK \
    --region=REGION  \
    --stack-type=IP_STACK

Remplacez les éléments suivants :

  • GW_NAME : nom de la passerelle
  • NETWORK : nom de votre réseau Google Cloud
  • REGION : région Google Cloud dans laquelle vous créez la passerelle et le tunnel
  • IP_STACK : option facultative à utiliser pour la pile IP. Indiquez IPV4_ONLY ou IPV4_IPV6. Si vous ne spécifiez pas cette option, le type de pile par défaut est IPV4_ONLY.

La passerelle que vous créez doit ressembler à l'exemple de résultat suivant. Une adresse IPv4 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

API

Pour créer la configuration complète d'une passerelle VPN haute disponibilité, utilisez les commandes API suivantes dans les sections suivantes. Toutes les valeurs de champs utilisées dans ces sections sont des exemples de valeurs.

Pour créer une passerelle VPN haute disponibilité, envoyez une requête POST à l'aide de la méthode vpnGateways.insert :

   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",
     "stackType": "IPV4_IPV6"
   }

Le champ stackType est facultatif. Les seules valeurs valides sont IPV4_IPV6 ou IPV4_ONLY. Si vous ne spécifiez pas de stackType, la valeur par défaut est IPV4_ONLY.

Créer une ressource de passerelle VPN de pairs

Console

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

Pour créer une ressource de passerelle VPN de pairs, procédez comme suit :

  1. Sur la page Créer un VPN, sous Passerelle VPN de pairs, sélectionnez Sur site ou non Google Cloud.
  2. Sous Nom de la passerelle VPN de pairs, sélectionnez une passerelle de pairs existante ou cliquez sur Créer une passerelle VPN de pairs.

    Si vous choisissez une passerelle existante, Google Cloud Console sélectionne le nombre de tunnels à configurer en fonction du nombre d'interfaces de pairs que vous avez configurées sur la passerelle de pairs existante.

    Pour créer une nouvelle passerelle de pairs, procédez comme suit :

    1. Spécifiez un Nom pour la passerelle VPN de pairs.
    2. Sous Interfaces de passerelle VPN de pairs, sélectionnez les interfaces one, two ou four, en fonction du type d'interfaces de votre passerelle de pairs. Pour obtenir des exemples sur chaque type, consultez la page Topologies.
    3. Dans le champ correspondant à chaque interface VPN de pairs, spécifiez l'adresse IP externe utilisée pour l'interface. Pour plus d'informations, consultez la page Configurer la passerelle VPN de pairs.
    4. Cliquez sur Create (Créer).

gcloud

Créez une ressource de passerelle VPN externe qui fournit à Google Cloud des informations sur votre ou vos passerelles VPN de pairs. En fonction des recommandations de haute disponibilité pour votre passerelle VPN de pairs, vous pouvez créer des ressources de passerelle VPN externe pour les différents types de passerelles VPN sur site suivants :

  • Deux appareils de passerelle VPN de pairs distincts, où les deux appareils sont redondants entre eux et où chaque appareil possède sa propre adresse IP externe.
  • Une passerelle VPN de pairs unique utilisant deux interfaces distinctes, chacune avec sa propre adresse IP externe. Pour ce type de passerelle de pairs, vous pouvez créer une passerelle VPN externe unique avec deux interfaces.
  • Une passerelle VPN de pairs unique avec une seule adresse IP externe.

Option 1 : Créer une ressource de passerelle VPN externe pour deux appareils de passerelle VPN de pairs

  • Pour ce type de passerelle de pairs, chaque interface de la passerelle VPN externe possède une adresse IP externe et chaque adresse provient de l'un des appareils de passerelle VPN de pairs.

    gcloud compute external-vpn-gateways create PEER_GW_NAME \
       --interfaces 0=PEER_GW_IP_0,1=PEER_GW_IP_1
    

    Remplacez les éléments suivants :

    • PEER_GW_NAME : nom représentant la passerelle de pairs
    • PEER_GW_IP_0 : adresse IP externe d'une passerelle de pairs
    • PEER_GW_IP_1 : adresse IP externe d'une autre passerelle de pairs

    La ressource de passerelle VPN externe créée doit ressembler à l'exemple suivant où PEER_GW_IP_0 et PEER_GW_IP_1 indiquent les adresses IP externes réelles des interfaces de la passerelle de pairs :

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/peer-gw].
    NAME      INTERFACE0    INTERFACE1
    peer-gw   PEER_GW_IP_0  PEER_GW_IP_1
    

Option 2 : Créer une ressource de passerelle VPN externe pour une passerelle VPN de pairs avec deux interfaces distinctes

  • Pour ce type de passerelle de pairs, créez une passerelle VPN externe unique avec deux interfaces :

    gcloud compute external-vpn-gateways create PEER_GW_NAME \
       --interfaces 0=PEER_GW_IP_0,1=PEER_GW_IP_1
    

    Remplacez les éléments suivants :

    • PEER_GW_NAME : nom représentant la passerelle de pairs
    • PEER_GW_IP_0 : adresse IP externe d'une interface de la passerelle de pairs
    • PEER_GW_IP_1 : adresse IP externe d'une autre interface de la passerelle de pairs

    La ressource de passerelle VPN externe créée doit ressembler à l'exemple suivant où PEER_GW_IP_0 et PEER_GW_IP_1 indiquent les adresses IP externes réelles des interfaces de la passerelle de pairs :

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/peer-gw].
    NAME     INTERFACE0    INTERFACE1
    peer-gw  PEER_GW_IP_0  PEER_GW_IP_1
    

Option 3 : Créer une ressource de passerelle VPN externe pour une seule passerelle VPN de pairs avec une seule adresse IP externe

  • Pour ce type de passerelle de pairs, créez une passerelle VPN externe avec une interface :

    gcloud compute external-vpn-gateways create PEER_GW_NAME \
       --interfaces 0=PEER_GW_IP_0
    

    Remplacez les éléments suivants :

    • PEER_GW_NAME : nom représentant la passerelle de pairs
    • PEER_GW_IP_0 : adresse IP externe de l'interface de la passerelle de pairs

    La ressource de passerelle VPN externe créée doit ressembler à l'exemple suivant, où PEER_GW_IP_0 indique les adresses IP externes réelles de l'interface de passerelle de pairs :

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/peer-gw].
    NAME       INTERFACE0
    peer-gw    PEER_GW_IP_0
    

API

Pour créer une ressource de passerelle VPN externe, envoyez une requête POST à l'aide de la méthode externalVpnGateways.insert.

  • Pour une passerelle VPN (de pairs) externe disposant d'une interface, utilisez l'exemple suivant, mais spécifiez un seul ID d'interface et une adresse IP (ipAddress) avec un type de redondance redundancyType SINGLE_IP_INTERNALLY_REDUNDANT.
  • Pour une passerelle VPN externe avec deux interfaces, ou deux passerelles VPN externes avec une interface chacune, utilisez l'exemple de type de redondance TWO_IPS_REDUNDANCY ci-dessous.
  • Pour une ou plusieurs passerelles VPN externes avec quatre interfaces VPN externes (par exemple, Amazon Web Services (AWS), utilisez l'exemple suivant, mais spécifiez quatre instances de l'ID d'interface et une adresse IP (ipAddress), et utilisez une commande redundancyType FOUR_IPS_REDUNDANCY.

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways
     {
       "name": "my-peer-gateway",
       "interfaces": [
         {
           "id": 0,
           "ipAddress": "192.0.2.1"
         },
         {
           "id": 1,
           "ipAddress": "192.0.2.2"
         }
       ],
       "redundancyType": "TWO_IPS_REDUNDANCY"
     }
    

Créer un routeur cloud

Console

Sous Routeur cloud, si ce n'est pas déjà fait, créez un routeur cloud en spécifiant les options suivantes. Vous pouvez utiliser un routeur Cloud Router existant si le routeur ne gère pas encore une session BGP pour un rattachement de VLAN associé à une interconnexion partenaire.

  1. Pour créer un routeur Cloud Router, spécifiez les éléments suivants :

    • Un nom
    • Une description facultative
    • 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 et ne peut pas être modifié ultérieurement.

  2. Pour créer le routeur, cliquez sur Créer.

gcloud

Pour créer un routeur Cloud Router, exécutez la commande suivante :

gcloud compute routers create ROUTER_NAME \
    --region=REGION \
    --network=NETWORK \
    --asn=GOOGLE_ASN

Remplacez les éléments suivants :

  • ROUTER_NAME : nom du routeur Cloud Router dans la même région que la passerelle Cloud VPN.
  • REGION : région Google Cloud dans laquelle vous créez la passerelle et le tunnel
  • NETWORK : nom de votre réseau Google Cloud
  • GOOGLE_ASN : tout numéro ASN privé (64512 à 65534, 4200000000 à 4294967294) que vous n'utilisez pas déjà dans le réseau de pairs. Ce numéro est utilisé pour toutes les sessions BGP gérées par le même routeur Cloud Router et ne peut pas être modifié ultérieurement

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

API

Vous pouvez utiliser un routeur Cloud Router existant si le routeur ne gère pas encore une session BGP pour un rattachement de VLAN associé à une interconnexion partenaire. Sinon, créez un autre routeur cloud.

Pour créer un routeur Cloud Router, envoyez une requête POST à l'aide de 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"
 }

Créer des tunnels VPN

Console

Si vous avez configuré votre ressource de passerelle VPN de pairs avec une seule interface, sur la page Créer un VPN, configurez votre tunnel unique dans la boîte de dialogue du tunnel VPN unique. Pour obtenir un contrat de niveau de service garantissant une disponibilité de 99,99 %, vous devez créer un second tunnel.

Si vous avez configuré votre ressource de passerelle VPN de pairs avec deux ou quatre interfaces, configurez les boîtes de dialogue associées qui s'affichent en bas de la page Créer un VPN.

Pour créer des tunnels VPN, procédez comme suit :

  1. Le cas échéant, sous Interface de passerelle Cloud VPN associée, sélectionnez la combinaison d'interface VPN haute disponibilité et d'adresse IP que vous souhaitez associer à votre passerelle VPN de pairs pour ce tunnel.
  2. Sous Interface de passerelle VPN de pairs associée, sélectionnez la combinaison d'interface de passerelle VPN de pairs et d'adresse IP que vous souhaitez associer à ce tunnel et à l'interface VPN haute disponibilité. Cette interface doit correspondre à celle de votre routeur de pairs.
    1. Spécifiez un Nom pour le tunnel.
    2. Spécifiez une Description facultative.
    3. Spécifiez la version IKE. Nous vous recommandons d'utiliser IKE v2, le paramètre par défaut, si votre routeur de pairs est compatible. Pour autoriser le trafic IPv6, vous devez sélectionner IKEv2.
    4. Spécifiez une clé pré-partagée IKE à l'aide de votre clé pré-partagée (secret partagé), qui doit correspondre à celle du tunnel partenaire que vous créez sur votre passerelle de pairs. Si vous n'avez pas configuré de clé pré-partagée sur votre passerelle VPN de pairs et que vous souhaitez en générer une, cliquez sur 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. Sur la page Créer un VPN, répétez les étapes de création du tunnel pour toutes les boîtes de dialogue de tunnel restantes.
  3. Lorsque vous avez configuré tous les tunnels, cliquez sur Créer et continuer.

gcloud

Créez deux tunnels VPN, un pour chaque interface sur la passerelle VPN haute disponibilité Lorsque vous créez des tunnels VPN, spécifiez le côté pair des tunnels VPN comme étant la passerelle VPN externe que vous avez créée précédemment. Selon le type de redondance de la passerelle VPN externe, configurez les tunnels en utilisant l'une des deux options suivantes.

Option 1 : Si la passerelle VPN externe est composée de deux appareils de passerelle VPN de pairs distincts ou d'un seul appareil avec deux adresses IP

  • Dans ce cas, un tunnel VPN doit se connecter à l'interface 0 de la passerelle VPN externe, et l'autre tunnel VPN doit se connecter à l'interface 1 de la passerelle VPN externe.

    gcloud compute vpn-tunnels create TUNNEL_NAME_IF0 \
       --peer-external-gateway=PEER_GW_NAME \
       --peer-external-gateway-interface=PEER_EXT_GW_IF0  \
       --region=REGION \
       --ike-version=IKE_VERS \
       --shared-secret=SHARED_SECRET \
       --router=ROUTER_NAME \
       --vpn-gateway=GW_NAME \
       --interface=INT_NUM_0
    
    gcloud compute vpn-tunnels create TUNNEL_NAME_IF1 \
       --peer-external-gateway=PEER_GW_NAME \
       --peer-external-gateway-interface=PEER_EXT_GW_IF1 \
       --region=REGION \
       --ike-version=IKE_VERS \
       --shared-secret=SHARED_SECRET \
       --router=ROUTER_NAME \
       --vpn-gateway=GW_NAME \
       --interface=INT_NUM_1
    

    Remplacez les éléments suivants :

    • TUNNEL_NAME_IF0 et TUNNEL_NAME_IF1 : nom du tunnel ; nommer les tunnels en incluant le nom de l'interface de la passerelle peut aider à les identifier ultérieurement
    • PEER_GW_NAME : nom de la passerelle de pairs externe créée précédemment
    • PEER_EXT_GW_IF0 et PEER_EXT_GW_IF1 : numéro d'interface configuré précédemment sur la passerelle de pairs externe
    • IKE_VERS : 1 pour IKEv1 ou 2 pour IKEv2 ; si possible, utilisez la version IKEv2 du protocole IKE. Si votre passerelle de pairs nécessite IKEv1, remplacez --ike-version 2 par --ike-version 1. Pour autoriser le trafic IPv6, vous devez spécifier le protocole IKEv2.
    • SHARED_SECRET : votre clé pré-partagée (secret partagé), qui doit correspondre à la clé pré-partagée du tunnel partenaire que vous créez sur votre passerelle de pairs ; pour obtenir des recommandations, consultez la section Générer une clé pré-partagée sécurisée
    • GW_NAME : nom de la passerelle VPN haute disponibilité
    • INT_NUM_0 : numéro 0 pour la première interface de la passerelle VPN haute disponibilité que vous avez créée précédemment.
    • INT_NUM_1 : numéro 1 pour la deuxième interface de la passerelle VPN haute disponibilité que vous avez créée précédemment.
    • 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.

    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-on-prem-if-0].
    NAME                       REGION        GATEWAY       VPN_INTERFACE   PEER_GATEWAY  PEER_INTERFACE
    tunnel-a-to-on-prem-if-0   us-central1   ha-vpn-gw-a   0               peer-gw       0
    
    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1].
    NAME                       REGION        GATEWAY       VPN_INTERFACE   PEER_GATEWAY  PEER_INTERFACE
    tunnel-a-to-on-prem-if-1   us-central1   ha-vpn-gw-a   1               peer-gw       1
    

Option 2 : Si la passerelle VPN externe est une passerelle VPN de pairs avec une seule adresse IP externe

  • Dans ce cas, les deux tunnels VPN doivent se connecter à l'interface 0 de la passerelle VPN externe.

    gcloud compute vpn-tunnels create TUNNEL_NAME_IF0 \
       --peer-external-gateway=PEER_GW_NAME \
       --peer-external-gateway-interface=PEER_EXT_GW_IF0  \
       --region=REGION \
       --ike-version=IKE_VERS \
       --shared-secret=SHARED_SECRET \
       --router=ROUTER_NAME \
       --vpn-gateway=GW_NAME \
       --interface=INT_NUM_0
    
    gcloud compute vpn-tunnels create TUNNEL_NAME_IF1 \
       --peer-external-gateway=PEER_GW_NAME \
       --peer-external-gateway-interface=PEER_EXT_GW_IF0 \
       --region=REGION \
       --ike-version=IKE_VERS \
       --shared-secret=SHARED_SECRET \
       --router=ROUTER_NAME \
       --vpn-gateway=GW_NAME \
       --interface=INT_NUM_1
    

    Remplacez les éléments suivants :

    • TUNNEL_NAME_IF0 et TUNNEL_NAME_IF1 : nom du tunnel ; nommer les tunnels en incluant le nom de l'interface de la passerelle peut aider à les identifier ultérieurement
    • PEER_GW_NAME : nom de la passerelle de pairs externe créée précédemment
    • PEER_EXT_GW_IF0 : numéro d'interface configuré précédemment sur la passerelle de pairs externe
    • 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.
    • IKE_VERS : 1 pour IKEv1 ou 2 pour IKEv2. Si possible, utilisez la version IKEv2 du protocole IKE. Si votre passerelle de pairs nécessite IKEv1, remplacez --ike-version 2 par --ike-version 1. Pour autoriser le trafic IPv6, vous devez spécifier le protocole IKEv2.
    • SHARED_SECRET : votre clé pré-partagée (secret partagé), qui doit correspondre à la clé pré-partagée du tunnel partenaire que vous créez sur votre passerelle de pairs ; pour obtenir des recommandations, consultez la section Générer une clé pré-partagée sécurisée
    • INT_NUM_0 : numéro 0 pour la première interface de la passerelle VPN haute disponibilité que vous avez créée précédemment.
    • INT_NUM_1 : numéro 1 pour la deuxième interface de la passerelle VPN haute disponibilité que vous avez créée précédemment.

    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-on-prem-if-0].
    NAME                       REGION       GATEWAY        VPN_INTERFACE   PEER_GATEWAY   PEER_INTERFACE
    tunnel-a-to-on-prem-if-0   us-central1  ha-vpn-gw-a    0               peer-gw        0
    
    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1].
    NAME                       REGION       GATEWAY        VPN_INTERFACE   PEER_GATEWAY   PEER_INTERFACE
    tunnel-a-to-on-prem-if-1   us-central1  ha-vpn-gw-a    1               peer-gw        0
    

API

Pour créer deux tunnels VPN, un pour chaque interface sur la passerelle VPN haute disponibilité, effectuez une requête POST à l'aide de la méthode vpnTunnels.insert. Pour obtenir un contrat de niveau de service garantissant une disponibilité de 99,99 %, vous devez créer un tunnel sur chaque interface de votre passerelle VPN haute disponibilité.

  1. Pour créer le premier tunnel, exécutez la commande suivante :

       POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
       {
         "name": "ha-vpn-gw-a-tunnel-0",
         "ikeVersion": 2,
         "peerExternalGateway": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/my-peer-gateway",
         "peerExternalGatewayInterface": 0,
         "router": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/router-a",
         "sharedSecret": "SHARED_SECRET",
         "vpnGateway": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnGateways/ha-vpn-gw-a",
         "vpnGatewayInterface": 0
       }
    

    Si vous envisagez d'activer IPv6 dans la session BGP associée à ce tunnel, vous devez spécifier 2 pour ikeVersion.

  2. Pour créer le second tunnel, répétez cette commande, mais modifiez les paramètres suivants :

    • name
    • peerExternalGatewayInterface
    • sharedSecret ou sharedSecretHash (si nécessaire)
    • vpnGatewayInterface : remplacer par la valeur de l'autre interface de passerelle VPN haute disponibilité (dans cet exemple, remplacer cette valeur par 1)

Créer des sessions BGP

Console

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

  1. Si vous ne souhaitez pas configurer de sessions BGP maintenant, cliquez sur Configurer les sessions BGP ultérieurement, ce qui entraîne l'ouverture de la page Résumé et rappel.
  2. Si vous souhaitez configurer des sessions BGP maintenant, sur le premier tunnel VPN, cliquez sur Configurer.
  3. Sur la page 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 annoncés.
    4. Facultatif : cochez la case Activer IPv6 pour autoriser l'échange de préfixes d'adresses IPv6 sur la session BGP.
    5. 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.
    6. Facultatif : si vous avez activé IPv6, vous pouvez allouer les adresses de saut suivant IPv6 automatiquement ou manuellement. Pour allouer les adresses manuellement, procédez comme suit :
      1. Sélectionnez manuellement.
      2. Saisissez l'adresse IPv6 du saut suivant IPv6 de Cloud Router. Cette adresse correspond à l'adresse de saut suivant pour les routes IPv6 annoncées par le routeur Cloud Router. L'adresse doit être comprise dans la plage 2600:2d00:0:2::/64 ou 2600:2d00:0:3::/64.
      3. Saisissez l'adresse IPv6 du saut suivant IPv6 du pair. Cette adresse est l'adresse de saut suivant pour les routes IPv6 reçues par le routeur Cloud Router depuis le pair BGP. L'adresse doit être comprise dans la plage 2600:2d00:0:2::/64 ou 2600:2d00:0:3::/64.
    7. Facultatif : pour l'authentification MD5, sélectionnez Activé. Cela vous permet d'authentifier les sessions BGP entre un routeur Cloud Router et ses pairs. Pour obtenir des instructions sur la configuration de l'authentification MD5, consultez la page Utiliser l'authentification MD5 Vous pouvez également choisir d'activer l'authentification MD5 ultérieurement.
    8. Facultatif : cliquez sur la liste Routes annoncées et créez des routes personnalisées.
    9. Cliquez sur Enregistrer et continuer.
  4. Répétez les étapes précédentes pour les autres tunnels configurés sur la passerelle. Pour chaque tunnel, utilisez une adresse IP BGP Cloud Router et une adresse IP de pair BGP différentes.
  5. Lorsque vous avez configuré toutes les sessions BGP, cliquez sur Enregistrer la configuration BGP.

gcloud

Pour créer une interface BGP Cloud Router et un pair BGP pour chaque tunnel que vous avez précédemment configuré sur les interfaces de passerelle VPN haute disponibilité, procédez comme suit.

Dans les commandes, remplacez les éléments suivants :

  • ROUTER_INTERFACE_NAME_0 et ROUTER_INTERFACE_NAME_1 : nom de l'interface BGP Cloud Router ; il peut être utile d'utiliser des noms associés aux noms des tunnels configurés précédemment
  • Configuration manuelle : IP_ADDRESS_0 et IP_ADDRESS_1 : adresse IP BGP de l'interface de passerelle VPN haute disponibilité que vous configurez ; chaque tunnel utilise une interface de passerelle différente
  • MASK_LENGTH : 30 ; chaque session BGP sur le même routeur Cloud Router doit utiliser un masque CIDR /30 unique du bloc 169.254.0.0/16
  • TUNNEL_NAME_0 et TUNNEL_NAME_1 : tunnel associé à l'interface de passerelle VPN haute disponibilité que vous avez configurée
  • IP_PREFIXES et CUSTOM_ROUTE_PRIORITY: valeurs qui vous permettent de spécifier manuellement les routes apprises pour une session BGP. Pour en savoir plus sur cette fonctionnalité, qui est en version bêta, consultez la page Routes apprises personnalisées.
  • AUTHENTICATION_KEY : clé secrète à utiliser pour l'authentification MD5. Pour en savoir plus sur cette fonctionnalité facultative, consultez la page Utiliser l'authentification MD5.

Attribuez des adresses IPv4 BGP.

Pour configurer les interfaces et les pairs BGP, choisissez la méthode automatique ou manuelle. Ces commandes n'activent pas le protocole IPv6 pour BGP. Si vous souhaitez activer IPv6, exécutez les commandes répertoriées dans la section Attribuer des adresses de saut suivant IPv6.

Automatique

Pour permettre à Google Cloud de choisir automatiquement les adresses IP BGP de liaison locale, procédez comme suit.

Pour le premier tunnel VPN

  1. Ajoutez une interface BGP au routeur Cloud Router :

    gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_0 \
       --mask-length=MASK_LENGTH \
       --vpn-tunnel=TUNNEL_NAME_0 \
       --region=REGION
    

    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. Ajoutez un pair BGP à l'interface pour le premier tunnel ; remplacez PEER_NAME_0 par le nom de l'interface VPN de pairs et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION
    

    Si vous souhaitez spécifier des routes apprises personnalisées pour le pair, ajoutez l'option --set-custom-learned-route-ranges. Vous pouvez également utiliser l'option --custom-learned-route-priority pour définir une valeur de priorité comprise entre 0 et 65535 (inclus) pour les routes. Chaque session BGP peut avoir une valeur de priorité qui s'applique à toutes les routes apprises personnalisées pour la session. Pour en savoir plus sur cette fonctionnalité actuellement en version preview, consultez la page Routes apprises personnalisées.

    Par exemple, pour ajouter des routes apprises personnalisées et définir une priorité pour les routes, exécutez la commande suivante:

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION \
       --set-custom-learned-route-ranges=IP_PREFIXES \
       --custom-learned-route-priority=CUSTOM_ROUTE_PRIORITY
    

    Si vous souhaitez utiliser l'authentification MD5, ajoutez l'option --md5-authentication-key. Utilisez ce champ pour identifier votre clé secrète :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION
       --md5-authentication-key=AUTHENTICATION_KEY
    

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

    Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
    

Pour le deuxième tunnel VPN

  1. Ajoutez une interface BGP au routeur Cloud Router :

    gcloud compute routers add-interface ROUTER_NAME \
     --interface-name=ROUTER_INTERFACE_NAME_1 \
     --mask-length=MASK_LENGTH \
     --vpn-tunnel=TUNNEL_NAME_1 \
     --region=REGION
    
  2. Ajoutez un pair BGP à l'interface pour le deuxième tunnel ; remplacez PEER_NAME_1 par le nom de l'interface VPN de pairs et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --region=REGION
    

    Si vous avez configuré des routes apprises personnalisées sur le premier tunnel, vous souhaiterez peut-être configurer les mêmes routes sur le deuxième tunnel. Par exemple, vous pouvez configurer le deuxième tunnel pour qu'il fonctionne comme sauvegarde pour les routes. Dans ce cas, attribuez aux routes une priorité moins privilégiée (un nombre plus élevé). Si vous souhaitez utiliser les deux tunnels ensemble dans le cadre d'une route multi-chemins à coût égal (ECMP, Equal-Cost Multi-Path), attribuez aux routes la même priorité que sur le premier tunnel. Dans les deux cas, utilisez une commande semblable à celle-ci:

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION \
       --set-custom-learned-route-ranges=IP_PREFIXES \
       --custom-learned-route-priority=CUSTOM_ROUTE_PRIORITY
    

    Si vous souhaitez utiliser l'authentification MD5, utilisez l'option --md5-authentication-key pour fournir votre clé secrète :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --region=REGION \
     --md5-authentication-key=AUTHENTICATION_KEY
    

Manuel

Pour attribuer manuellement les adresses IPv4 BGP associées à l'interface Google Cloud BGP et au pair, procédez comme suit.

Pour chaque tunnel VPN, choisissez deux adresses IP BGP de liaison locale dans un bloc /30 de la plage 169.254.0.0/16 (quatre adresses au total). Les 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.

Pour chaque tunnel, attribuez l'une de ces adresses IP BGP au routeur cloud et l'autre adresse IP BGP à votre passerelle VPN de pairs. Configurez votre appareil VPN de pairs pour qu'il utilise l'adresse IP BGP des pairs.

Dans les commandes suivantes, remplacez les éléments suivants :

  • GOOGLE_BGP_IP_0 : adresse IP BGP de l'interface de Cloud Router pour le tunnel sur la passerelle Cloud VPN interface 0 ; PEER_BGP_IP_0 représente l'adresse IP BGP de son pair.
  • GOOGLE_BGP_IP_1 : adresse IP BGP de l'interface de Cloud Router pour le tunnel sur la passerelle Cloud VPN interface 1 ; PEER_BGP_IP_1 représente l'adresse IP BGP de son pair.

Pour le premier tunnel VPN

  1. Ajoutez une interface BGP au routeur Cloud Router ; remplacez ROUTER_INTERFACE_NAME_0 par le nom de l'interface :

    gcloud compute routers add-interface ROUTER_NAME \
      --interface-name=ROUTER_INTERFACE_NAME_0 \
      --vpn-tunnel=TUNNEL_NAME_0 \
      --ip-address=GOOGLE_BGP_IP_0 \
      --mask-length 30 \
      --region=REGION
    

    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. Ajoutez un pair BGP à l'interface ; remplacez PEER_NAME_0 par le nom du pair, et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_0 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_0 \
     --peer-ip-address=PEER_BGP_IP_0 \
     --region=REGION
    

    Si vous souhaitez spécifier des routes apprises personnalisées pour le pair, ajoutez l'option --set-custom-learned-route-ranges. Vous pouvez également utiliser l'option --custom-learned-route-priority pour définir une valeur de priorité comprise entre 0 et 65535 (inclus) pour les routes. Chaque session BGP peut avoir une valeur de priorité qui s'applique à toutes les routes apprises personnalisées pour la session. Pour en savoir plus sur cette fonctionnalité actuellement en version preview, consultez la page Routes apprises personnalisées.

    Par exemple, pour ajouter des routes apprises personnalisées et définir une priorité pour les routes, exécutez la commande suivante:

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION \
       --set-custom-learned-route-ranges=IP_PREFIXES \
       --custom-learned-route-priority=CUSTOM_ROUTE_PRIORITY
    

    Si vous souhaitez utiliser l'authentification MD5, utilisez l'option --md5-authentication-key pour fournir votre clé secrète :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
      --peer-name=PEER_NAME_0 \
      --peer-asn=PEER_ASN \
      --interface=ROUTER_INTERFACE_NAME_0 \
      --peer-ip-address=PEER_BGP_IP_0 \
      --region=REGION \
      --md5-authentication-key=AUTHENTICATION_KEY
    

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

    Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
    

Pour le deuxième tunnel VPN

  1. Ajoutez une interface BGP au routeur Cloud Router ; remplacez ROUTER_INTERFACE_NAME_1 par le nom de l'interface :

    gcloud compute routers add-interface ROUTER_NAME \
     --interface-name=ROUTER_INTERFACE_NAME_1 \
     --vpn-tunnel=TUNNEL_NAME_1 \
     --ip-address=GOOGLE_BGP_IP_1 \
     --mask-length 30 \
     --region=REGION
    
  2. Ajoutez un pair BGP à l'interface ; remplacez PEER_NAME_1 par le nom du pair, et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --peer-ip-address=PEER_BGP_IP_1 \
     --region=REGION
    

    Si vous avez configuré des routes apprises personnalisées sur le premier tunnel, vous pouvez spécifier les mêmes routes sur le deuxième tunnel. Par exemple, vous pouvez configurer le deuxième tunnel pour qu'il fonctionne comme sauvegarde pour les routes. Dans ce cas, attribuez aux routes une priorité moins privilégiée (un nombre plus élevé). Si vous souhaitez utiliser les deux tunnels ensemble dans le cadre d'une route multi-chemins à coût égal (ECMP, Equal-Cost Multi-Path), attribuez aux routes la même priorité que sur le premier tunnel. Dans les deux cas, utilisez une commande semblable à celle-ci:

    gcloud beta compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION \
       --set-custom-learned-route-ranges=IP_PREFIXES \
       --custom-learned-route-priority=PRIORITY
    

    Si vous souhaitez utiliser l'authentification MD5, utilisez l'option --md5-authentication-key pour fournir votre clé secrète :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
      --peer-name=PEER_NAME_1 \
      --peer-asn=PEER_ASN \
      --interface=ROUTER_INTERFACE_NAME_0 \
      --peer-ip-address=PEER_BGP_IP_0 \
      --region=REGION \
      --md5-authentication-key=AUTHENTICATION_KEY
    

Attribuer des adresses de saut suivant IPv6

Utilisez les commandes de cette section uniquement si vous souhaitez que les tunnels VPN échangent du trafic IPv4 et IPv6. Si vous ne prévoyez pas d'activer le protocole IPv6 dans la session BGP pour le tunnel, utilisez les commandes répertoriées dans la section Attribuer des adresses BGP IPv4.

Si vous activez le trafic IPv6, vous pouvez choisir de configurer automatiquement ou manuellement les adresses IPv6 du saut suivant du pair BGP.

Automatique

Si vous créez une session BGP qui autorise le trafic IPv6, Google Cloud peut vous attribuer automatiquement des adresses de saut suivant IPv6. Google Cloud attribue les adresses inutilisées de la plage 2600:2d00:0:2::/64 ou 2600:2d00:0:3::/64.

Cette configuration n'a pas de rapport avec la configuration automatique ou manuelle des adresses IPv4 du routeur Cloud Router et du pair BGP. Les commandes suivantes utilisent la configuration automatique. Cependant, vous pouvez également attribuer les adresses IP BGP à l'aide des indicateurs --ip-address et --peer-ip-address décrits sur la page Attribuer des adresses BGP IPv4.

Pour le premier tunnel VPN

  1. Ajoutez une interface BGP au routeur Cloud Router :

    gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_0 \
       --vpn-tunnel=TUNNEL_NAME_0 \
       --region=REGION
    

    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. Ajoutez un pair BGP à l'interface pour le premier tunnel ; remplacez PEER_NAME_0 par le nom de l'interface VPN de pairs et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION
       --enable-ipv6
    

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

    Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
    

Pour le deuxième tunnel VPN

  1. Ajoutez une interface BGP au routeur Cloud Router :

    gcloud compute routers add-interface ROUTER_NAME \
     --interface-name=ROUTER_INTERFACE_NAME_1 \
     --vpn-tunnel=TUNNEL_NAME_1 \
     --region=REGION
    
  2. Ajoutez un pair BGP à l'interface pour le deuxième tunnel ; remplacez PEER_NAME_1 par le nom de l'interface VPN de pairs et remplacez PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --region=REGION
     --enable-ipv6
    

Manuel

Lorsque vous créez une session BGP qui autorise le trafic IPv6, vous pouvez configurer manuellement les adresses de saut suivant IPv6 pour le routeur Cloud Router et le pair BGP.

Cette configuration n'a aucune relation avec le fait que vous choisissiez la configuration automatique ou manuelle des adresses IPv4 du routeur Cloud Router et du pair BGP.

Pour chaque tunnel VPN, choisissez deux adresses de saut suivant IPv6. Les adresses de saut suivant IPv6 que vous spécifiez doivent être uniques parmi tous les routeurs Cloud Router de toutes les régions d'un réseau VPC et sélectionnées dans les plages IPv6 internes pré-allouées par Google : 2600:2d00:0:2::/64 ou 2600:2d00:0:3::/64.

Pour attribuer manuellement les adresses de saut suivant IPv6 de BGP, procédez comme suit.

Pour le premier tunnel VPN

  1. Ajoutez une interface BGP au routeur Cloud Router :

    gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_0 \
       --vpn-tunnel=TUNNEL_NAME_0 \
       --region=REGION
    

    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. Ajoutez un pair BGP à l'interface pour le premier tunnel.

    Dans la commande ci-dessous, remplacez les éléments suivants :

    • PEER_NAME_0 par le nom de l'interface VPN de pairs.
    • PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs.
    • IPV6_NEXTHOP_ADDRESS : adresse du saut suivant pour les routes IPv6 annoncées par Cloud Router. L'adresse doit être comprise dans la plage 2600:2d00:0:2::/64 ou 2600:2d00:0:3::/64.
    • PEER_IPV6_NEXTHOP_ADDRESS : adresse du saut suivant pour les routes IPv6 apprises par Cloud Router à partir du pair BGP. L'adresse doit être comprise dans la plage 2600:2d00:0:2::/64 ou 2600:2d00:0:3::/64.
gcloud compute routers add-bgp-peerROUTER_NAME \
    --peer-name=PEER_NAME_0 \
    --peer-asn=PEER_ASN \
    --interface=ROUTER_INTERFACE_NAME_0 \
    --region=REGION
    --enable-ipv6
    --ipv6-nexthop-address=IPV6_NEXTHOP_ADDRESS \
    --peer-ipv6-nexthop-address=PEER_IPV6_NEXTHOP_ADDRESS
   

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

   Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
   

Pour le deuxième tunnel VPN

  1. Ajoutez une interface BGP au routeur Cloud Router :

    gcloud compute routers add-interface ROUTER_NAME \
     --interface-name=ROUTER_INTERFACE_NAME_1 \
     --vpn-tunnel=TUNNEL_NAME_1 \
     --region=REGION
    
  2. Ajoutez un pair BGP à l'interface pour le deuxième tunnel.

    Dans la commande ci-dessous, remplacez les éléments suivants :

    • PEER_NAME_1 par le nom de l'interface VPN de pairs.
    • PEER_ASN par le numéro ASN configuré pour la passerelle VPN de pairs.
    • IPV6_NEXTHOP_ADDRESS : adresse du saut suivant pour les routes IPv6 annoncées par Cloud Router.
    • PEER_IPV6_NEXTHOP_ADDRESS : adresse du saut suivant pour les routes IPv6 apprises par le routeur Cloud Router à partir du pair BGP
 gcloud compute routers add-bgp-peer ROUTER_NAME \
     --peer-name=PEER_NAME_1 \
     --peer-asn=PEER_ASN \
     --interface=ROUTER_INTERFACE_NAME_1 \
     --region=REGION
     --ipv6-nexthop-address=IPV6_NEXTHOP_ADDRESS \
     --peer-ipv6-nexthop-address=PEER_IPV6_NEXTHOP_ADDRESS
 

API

  1. Pour créer une interface BGP de routeur cloud, envoyez une requête PATCH ou UPDATE à l'aide de la méthode routers.patch ou routers.update. PATCH met uniquement à jour 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 première passerelle VPN haute disponibilité. Pour la deuxième interface BGP, utilisez des valeurs différentes pour name, linkedVpnTunnel et ipRange du même sous-réseau /30 que la plage d'adresses IP ipRange du premier tunnel. 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.

    Répétez cette étape et cette commande pour chaque tunnel VPN sur la deuxième passerelle VPN haute disponibilité.

    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"
        }
      ]
    }
    
  2. Pour ajouter un pair BGP à un routeur Cloud Router pour un tunnel VPN, effectuez une requête POST à l'aide de la méthode routers.insert. Répétez cette commande pour l'autre tunnel VPN, en modifiant toutes les options sauf le nom (name) et le numéro ASN (peerAsn).

    Exemple :

    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"
      }
    ]
    }
    

    La commande suivante fournit un exemple d'ajout d'un pair BGP avec le protocole IPv6 activé et des adresses de saut suivant IPv6 configurées manuellement. Si vous omettez ipv6NexthopAddress et peerIpv6NexthopAddress, les adresses de saut suivant IPv6 sont automatiquement attribuées.

    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",
       "enableIpv6": "true"
       "ipv6NexthopAddress: "2600:2d00::0:2::1"
       "peerIpv6NexthopAddress: "2600:2d00::0:2::2"
      }
    ]
    }
    

    Si vous souhaitez spécifier des routes apprises personnalisées pour le pair, définissez les préfixes IP des routes. Vous pouvez également définir une valeur de priorité comprise entre 0 et 65535 (inclus) pour les routes. Chaque session BGP peut avoir une valeur de priorité qui s'applique à toutes les routes apprises personnalisées pour la session. Pour en savoir plus sur cette fonctionnalité actuellement en version preview, consultez la page Routes apprises personnalisées.

    POST https://compute.googleapis.com/beta/compute/beta/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",
       "enableIpv6": "true",
       "ipv6NexthopAddress": "2600:2d00::0:2::1",
       "peerIpv6NexthopAddress": "2600:2d00::0:2::2",
       "customLearnedRoutePriority": 200,
       "customLearnedIpRanges": [
          {
            "range": "1.2.3.4"
          },
          {
            "range": "6.7.0.0/16"
          },
          {
            "range": "2001:db8:abcd:12::/64"
          }
         ]
        }
      ]
    }
    

    Si vous souhaitez configurer la session pour qu'elle utilise l'authentification MD5, votre requête doit inclure une clé d'authentification, ce qui signifie qu'elle doit fournir la clé et un nom pour cette clé. Elle doit également référencer la clé par nom lors de la création de la session d'appairage BGP. Exemple :

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
     "md5AuthenticationKeys": [
      {
       "name": "bgppeer-1-key",
       "key": "secret_key_value"
       }
      ],
    }
    {
     "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",
       "md5AuthenticationKeyName": "bgppeer-1-key"
      }
    ]
    }
    

Vérifier la configuration

Console

Pour vérifier la configuration, accédez à la page Résumé et rappel :

  1. La section Résumé de cette page répertorie les informations concernant les profils de la passerelle VPN haute disponibilité et de la passerelle VPN de pairs. 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).
  2. La section Rappel de cette page répertorie les étapes à suivre pour disposer d'une connexion VPN entièrement opérationnelle entre Cloud VPN et votre VPN de pairs.
  3. Si vous souhaitez télécharger un modèle de configuration pour votre appareil VPN de pairs, cliquez sur Télécharger la configuration. Pour savoir comment sélectionner votre modèle et afficher la liste des fournisseurs acceptés, consultez la page Télécharger un modèle de configuration VPN de pairs. Vous pouvez également télécharger le modèle de configuration ultérieurement en accédant à la page Passerelles VPN de pairs.
  4. Après la consultation des informations contenues sur cette page, cliquez sur OK.

gcloud

Pour vérifier la configuration du routeur Cloud Router, procédez comme suit :

  • Répertoriez les adresses IP BGP sélectionnées par routeur cloud Si vous avez ajouté une nouvelle interface à un routeur Cloud existant, les adresses IP BGP de la nouvelle interface doivent être répertoriées en indiquant le numéro d'index le plus élevé. Utilisez l'adresse IP BGP peerIpAddress pour configurer votre passerelle VPN de pairs :

    gcloud compute routers get-status ROUTER_NAME \
       --region=REGION \
       --format='flattened(result.bgpPeerStatus[].name,
         result.bgpPeerStatus[].ipAddress, result.bgpPeerStatus[].peerIpAddress)'
    

    Le résultat attendu pour un routeur Cloud Router gérant deux tunnels Cloud VPN (index 0 et index 1) doit ressembler à l'exemple suivant où les conditions suivantes sont remplies :

    • GOOGLE_BGP_IP_0 représente l'adresse IP BGP de l'interface du routeur Cloud Router pour le tunnel sur la passerelle Cloud VPN interface 0 ; PEER_BGP_IP_0 représente l'adresse IP BGP de son pair.
    • GOOGLE_BGP_IP_1 représente l'adresse IP BGP de l'interface du routeur Cloud Router pour le tunnel sur la passerelle Cloud VPN interface 1 ; PEER_BGP_IP_1 représente l'adresse IP BGP du pair.
      result.bgpPeerStatus[0].ipAddress:      169.254.0.1 GOOGLE_BGP_IP_0
      result.bgpPeerStatus[0].name:           bgp-peer-tunnel-a-to-on-prem-if-0
      result.bgpPeerStatus[0].peerIpAddress:  169.254.0.2 PEER_BGP_IP_0
      result.bgpPeerStatus[1].ipAddress:      169.254.1.1 GOOGLE_BGP_IP_1
      result.bgpPeerStatus[1].name:           bgp-peer-tunnel-a-to-on-prem-if-1
      result.bgpPeerStatus[1].peerIpAddress:  169.254.1.2 PEER_BGP_IP_1
    
  • Vous pouvez également utiliser la commande suivante pour obtenir la liste complète de la configuration du routeur cloud :

    gcloud compute routers describe ROUTER_NAME \
       --region=REGION
    

    La liste complète doit ressembler à l'exemple suivant :

    bgp:
      advertiseMode: DEFAULT
      asn: 65001
    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
    - interfaceName: if-tunnel-a-to-on-prem-if-1
      ipAddress: 169.254.1.1
      name: bgp-peer-tunnel-a-to-on-prem-if-1
      peerAsn: 65004
      peerIpAddress: 169.254.1.2
    creationTimestamp: '2018-10-18T11:58:41.704-07:00'
    id: '4726715617198303502'
    interfaces:
    - ipRange: 169.254.0.1/30
      linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-0
      name: if-tunnel-a-to-on-prem-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-on-prem-if-1
      name: if-tunnel-a-to-on-prem-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
    

API

Pour vérifier la configuration du routeur Cloud Router, envoyez une requête GET à l'aide de la méthode routers.getRouterStatus et utilisez un corps de requête vide :

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

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

Console

Pour obtenir un contrat de niveau de service assurant une disponibilité de 99,99 %, configurez un tunnel sur chaque interface VPN haute disponibilité d'une passerelle VPN haute disponibilité.

Configurez un deuxième tunnel dans les cas suivants :

  • Si vous avez configuré une passerelle VPN haute disponibilité vers une passerelle VPN de pairs comportant une seule interface VPN de pairs.
  • Si vous avez précédemment configuré un seul tunnel sur un VPN haute disponibilité pour une passerelle VPN de pairs contenant un nombre quelconque d'interfaces et que vous souhaitez maintenant obtenir un contrat de niveau de service garantissant une disponibilité de 99,99 %.

Pour configurer un deuxième tunnel, suivez la procédure décrite dans la section Ajouter un tunnel entre une passerelle VPN haute disponibilité et une passerelle VPN de pairs.

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

Les sessions BGP que vous créez autorisent chaque routeur Cloud Router à annoncer des routes aux réseaux de pairs. Les annonces utilisent des priorités de base non modifiées.

Utilisez la configuration documentée sur la page Créer une passerelle VPN haute disponibilité et une paire de tunnels vers un VPN de pairs pour configurations de routage active/active, où les priorités des routes annoncées des deux tunnels VPN côté Google Cloud et côté pairs sont correspondent. Pour configurer les mêmes priorités de route annoncées de Google Cloud vers les deux pairs BGP, omettez la priorité de route annoncée côté Google Cloud.

Pour créer une configuration en mode actif/passif, configurez des priorités de routes annoncées inégales pour les deux tunnels VPN haute disponibilité. L'une des priorités de routes annoncées doit être supérieure à l'autre. Exemple :

  • session BGP 1/tunnel 1, priorité des routes = 10
  • session BGP 2/tunnel 2, priorité des routes = 20

Pour en savoir plus sur la priorité de base des routes annoncées, consultez la section Préfixes et priorités annoncés.

Vous pouvez également spécifier les routes annoncées à l'aide d'annonces personnalisées :

  • Ajoutez l'option --advertisement-mode=CUSTOM (gcloud) ou l'option advertiseMode: custom (API).
  • Spécifiez les plages d'adresses IP avec l'option --set-advertisement-ranges (gcloud) ou l'option advertisedIpRanges (API).

Terminer la configuration

Pour pouvoir utiliser une nouvelle passerelle Cloud VPN et ses tunnels VPN associés, procédez comme suit :

  1. Configurez la passerelle VPN de pairs et configurez-y le ou les tunnels correspondants. Pour obtenir des instructions, consultez la page suivante :
  2. Configurez les règles de pare-feu dans Google Cloud et votre réseau de pairs, si nécessaire.
  3. Vérifiez l'état de vos tunnels VPN​LINK. Remarque : Cette étape inclut la vérification de la configuration de haute disponibilité de votre passerelle VPN haute disponibilité.

Étapes suivantes

  • Pour contrôler les adresses IP autorisées pour les passerelles VPN de pairs, consultez la page Limiter les adresses IP pour les passerelles VPN de pairs.
  • Pour utiliser des scénarios à haute disponibilité et à haut débit, ou des scénarios à plusieurs sous-réseaux, consultez la section Configurations avancées.
  • Pour vous aider à résoudre les problèmes courants que vous pouvez rencontrer lors de l'utilisation de Cloud VPN, consultez la page Dépannage.