Créer une passerelle VPN haute disponibilité vers 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 VPN haute disponibilité 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é.

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. Vous devez créer dans Google Cloud une ressource de passerelle VPN externe pour chaque appareil ou service de passerelle de pairs.

Pour obtenir des schémas de cette topologie, consultez la page Topologies.

Pour plus d'informations sur le choix d'un type de VPN, consultez la section Choisir une option de VPN.

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 Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Cloud.

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

  3. Vérifiez que la facturation est activée pour votre projet Google 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
      
  1. Vous pouvez également afficher un ID de projet déjà défini :
        gcloud config list --format='text(core.project)'
      

Types de redondance

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

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

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

Lors de la configuration d'une passerelle VPN haute disponibilité externe vers Amazon Web Services, la topologie compatible nécessite deux passerelles privées AWS, A et B. Chaque passerelle doit disposer de deux adresses IP publiques. Cette topologie engendre quatre adresses IP publiques 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 la disponibilité de 99,99 % garantie par le contrat de niveau de service. Pour ce faire, configurez les tunnels de la façon suivante :
    • De l'interface 0 du VPN haute disponibilité à l'interface 0 d'AWS
    • De l'interface 0 du VPN haute disponibilité à l'interface 1 d'AWS
    • De l'interface 1 du VPN haute disponibilité à l'interface 2 d'AWS
    • De l'interface 1 du VPN haute disponibilité à l'interface 3 d'AWS

Aperçu des étapes de configuration avancée du VPN haute disponibilité avec Amazon Web Services (AWS) :

  1. Créez une passerelle VPN haute disponibilité et un routeur Cloud Router. Deux adresses IP publiques sont automatiquement créées du côté GCP.
  2. Créez deux passerelles privées virtuelles AWS. Quatre adresses IP publiques sont automatiquement créées du côté AWS.
  3. Créez deux connexions et deux passerelles client AWS Site-to-Site VPN (une pour chaque passerelle virtuelle privée AWS). Spécifiez une plage distincte d'adresses IP de tunnel de liaison locale par tunnel, soit quatre au total. Par exemple, 169.254.1.4/30.
  4. Téléchargez les fichiers de configuration AWS correspondants au type d'appareil générique.
  5. Créez quatre tunnels VPN sur la passerelle VPN haute disponibilité.
  6. Configurez les sessions BGP sur le routeur Cloud Router à l'aide des adresses IP BGP. Vous les trouverez dans les fichiers de configuration téléchargés.

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

Avant de créer une passerelle VPN haute disponibilité et une paire de tunnels, 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, de sorte que toutes les instances du routeur Cloud Router appliquent les routes vers les ressources sur site to on-premises apprises à tous les sous-réseaux du réseau VPC. En mode de routage global, 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 paire de 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 Cloud VPN

  1. Accédez à la page VPN dans 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 publiques sont automatiquement attribuées à chaque interface de votre passerelle. Pour les prochaines étapes de configuration, notez les détails de la configuration de votre passerelle.

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 On-prem or 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, 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. Consultez la page Topologies pour obtenir des exemples de chaque type.
    3. Dans le champ correspondant à chaque interface VPN de pairs, spécifiez l'adresse IP publique utilisée pour l'interface. Pour plus d'informations, consultez la section Configurer la passerelle VPN de pairs.
    4. Cliquez sur Créer.

Créer des tunnels VPN

  • Si vous avez configuré votre ressource de passerelle VPN de pairs avec une seule interface, vous allez configurer votre tunnel unique dans la boîte de dialogue du tunnel VPN unique sur l'écran Créer un VPN. Vous devez créer un second tunnel pour un contrat de niveau de service garantissant une disponibilité de 99,99 %.
  • Si vous avez configuré votre passerelle VPN de pairs avec deux ou quatre interfaces, vous devez configurer les boîtes de dialogue associées qui s'affichent en bas de l'écran Créer un VPN.
  1. Sous Cloud Router, si ce n'est pas déjà fait, créez un routeur Cloud Router 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 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 est utilisé pour toutes les sessions BGP gérées par le même routeur Cloud Router, et il ne peut pas être modifié ultérieurement.
    2. Cliquez sur Créer pour créer le nouveau routeur.
  2. Le cas échéant, sous Interface de passerelle VPN cloud associée, sélectionnez la combinaison interface VPN haute disponibilité et adresse IP que vous souhaitez associer à votre passerelle VPN de pairs pour ce tunnel.
  3. Sous Interface de passerelle VPN de pairs associée, sélectionnez la combinaison interface de passerelle VPN de pairs et 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 du protocole 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 du tunnel pour toutes les boîtes de dialogue de tunnel restantes sur l'écran Créer un VPN.
  4. Lorsque vous avez configuré tous les tunnels, cliquez sur Créer et continuer.

Créer des sessions BGP

  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 routes annoncées.
    4. Spécifiez l'Adresse IP BGP de Cloud Router et l'Adresse IP du pair BGP. Ces adresses doivent utiliser chacune une adresse de liasion locale du bloc CIDR 169.254.0.0/16 dans le même sous-réseau /30. Assurez-vous que ces adresses ne correspondent pas à l'adresse réseau ou à l'adresse de diffusion du sous-réseau.
    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 de Cloud Router 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 relatives à la passerelle VPN haute disponibilité et au profil de 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 que vous devez 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éez 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é. Effectuez cette opération dans les cas suivants :

  • Lorsque vous avez configuré une passerelle VPN haute disponibilité vers une passerelle VPN de pairs comportant une seule interface VPN de pairs.
  • Si vous avez configuré précédemment 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 %.

    1. Accédez à la page VPN dans Google Cloud Console.
      Accéder à la page VPN
    2. Cliquez sur le bouton Créer un tunnel VPN.
    3. Dans le menu déroulant, sélectionnez la passerelle qui nécessite le second tunnel.
    4. Cliquez sur Continuer.
    5. Choisissez un routeur Cloud Router. Si vous n'avez pas configuré de routeur Cloud Router, suivez la procédure Créer des tunnels VPN pour en créer un.
    6. Pour la Passerelle VPN de pairs, sélectionnez l'option Sur site ou autre que Google Cloud.
    7. Sous Nom de la passerelle VPN de pairs, sélectionnez la ressource de passerelle VPN de pairs utilisée par le nouveau tunnel. Vous pouvez vérifier les noms des passerelles VPN de pairs existantes pour cette passerelle VPN en cliquant sur le lien Afficher tous les tunnels existants sous Nom de la passerelle VPN en haut de l'écran.
    8. Vous pouvez recevoir un avertissement indiquant qu'un tunnel avec la même interface de passerelle VPN de pairs est déjà associé à la même interface de passerelle VPN cloud locale. Pour résoudre ce problème, sélectionnez l'autre interface VPN haute disponibilité sous Interface de passerelle VPN cloud associée.
    9. Pour terminer la configuration du tunnel, suivez le reste des étapes comme indiqué dans la procédure Créer des tunnels VPN.

gcloud


Créer la passerelle VPN haute disponibilité

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

  1. Créez une passerelle VPN haute disponibilité. Lorsque la passerelle est créée, deux adresses IP externes sont automatiquement attribuées, une pour chaque interface de passerelle.

    Dans les commandes ci-dessous, remplacez les options suivantes :

    • Remplacez network par le nom de votre réseau Google Cloud.
    • Remplacez region par la région Google Cloud dans laquelle vous devez créer la passerelle et le tunnel.
    • Remplacez gw-name par le nom de la passerelle.
          gcloud compute vpn-gateways create gw-name \
            --network network \
            --region region
        

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

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

    • Remplacez router-name par le nom du routeur Cloud Router situé dans la même région que la passerelle VPN cloud.
    • Remplacez google-asn par un 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 Cloud Router, et il ne peut pas être modifié ultérieurement.
          gcloud compute routers create router-name \
            --region region \
            --network network \
            --asn google-asn
        

    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 une ressource de passerelle VPN externe

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 une 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 publique.
  • Une passerelle VPN de pairs utilisant deux interfaces distinctes, chacune avec sa propre adresse IP publique. 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 publique.

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

  1. Pour ce type de passerelle de pairs, chaque interface de la passerelle VPN externe possède une adresse IP publique et chaque adresse provient de l'un des appareils de passerelle VPN de pairs. Dans la commande gcloud ci-dessous, remplacez les options suivantes :

    • Remplacez peer-gw_name par un nom représentant la passerelle de pairs.
    • Remplacez peer-gw-ip-0 par les adresses IP publiques d'une passerelle de pairs.
    • Remplacez peer-gw-ip-1 par l'adresse IP publique d'une autre passerelle de pairs.
          gcloud compute external-vpn-gateways create peer-gw-name \
            --interfaces 0=peer-gw-ip-0,1=peer-gw-ip-1 \
        

    La ressource de passerelle VPN externe créée doit ressembler à l'exemple suivant où peer-gw-ip-0 et peer-gw-ip-1 affichent les adresses publiques réelles des interfaces de 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

  1. Pour ce type de passerelle de pairs, créez une passerelle VPN externe unique avec deux interfaces. Dans la commande gcloud ci-dessous, remplacez les options suivantes :

    • Remplacez peer-gw-name par un nom représentant la passerelle de pairs.
    • Remplacez peer-gw-ip-0 par l'adresse IP publique d'une interface de la passerelle de pairs.
    • Remplacez peer-gw-ip-1 par l'adresse IP publique d'une autre interface de la passerelle de pairs.

          gcloud compute external-vpn-gateways create peer-gw-name \
           --interfaces 0=on-prem-gw-ip-0,1=on-prem-gw-ip-1 \
          

      La ressource de passerelle VPN externe créée doit ressembler à l'exemple suivant où peer-gw-ip-0 et peer-gw-ip-1 affichent les adresses publiques réelles des interfaces de 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 publique

  1. Pour ce type de passerelle de pairs, créez une passerelle VPN externe avec une interface. Dans la commande gcloud ci-dessous, remplacez les options suivantes :

    • Remplacez peer-gw-name par un nom représentant la passerelle de pairs.
    • Remplacez peer-gw-ip-0 par l'adresse IP publique de l'interface de la passerelle de pairs.
          gcloud compute external-vpn-gateways create peer-gw-name \
            --interfaces 0=peer-gw-ip-0 \
        

    La ressource de passerelle VPN externe créée doit ressembler à l'exemple suivant où peer-gw-ip-0 affiche les adresses publiques 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
        

Créer 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é de pairs des tunnels VPN comme 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

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

    Dans les commandes suivantes pour créer chaque tunnel, remplacez les options suivantes :

    • Remplacez tunnel-name-if0 et tunnel-name-if1 par le nom du tunnel. Nommez les tunnels en incluant le nom de l'interface de la passerelle peut aider à les identifier successivement.
    • Remplacez gw-name par le nom de la passerelle VPN haute disponibilité.
    • (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 peer-gw-name par le nom de la passerelle de pairs externe créée précédemment.
    • Remplacez peer-ext-gw-if0 et peer-ext-gw-if1 par le numéro d'interface configuré précédemment sur la passerelle de pairs externe.
    • Remplacez ike-vers par 1 pour IKEv1, ou 2 pour IKEv2. Si possible, utilisez la version IKEv2 du protocole IKE. Si votre passerelle de pairs nécessite la version IKEv1, remplacez -ike-version 2 par --ike-version 1.
    • Remplacez shared-secret par votre clé secrète partagée, qui doit correspondre à la clé secrète partagée du tunnel partenaire créé sur la passerelle de pairs. Pour obtenir des recommandations, consultez la section Générer une clé pré-partagée efficace.
    • Remplacez int-num-0 par le numéro 0 sur la première interface de la passerelle VPN haute disponibilité que vous avez créée précédemment.
    • Remplacez int-num-1 par le numéro 1 sur la deuxième interface de la passerelle VPN haute disponibilité que vous avez créée précédemment.

            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
          

      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 publique

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

    Dans les commandes suivantes pour créer chaque tunnel, remplacez les options suivantes :

    • Remplacez tunnel-name-if0 et tunnel-name-if1 par le nom du tunnel. Nommer les tunnels en incluant le nom de l'interface de la passerelle peut aider à les identifier successivement.
    • Remplacez peer-gw-name par le nom de la passerelle de pairs externe créée précédemment.
    • Remplacez peer-ext-gw-if0 par le 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.
    • Remplacez ike-vers par 1 pour IKEv1, ou 2 pour IKEv2. Si possible, utilisez la version IKEv2 du protocole IKE. Si votre passerelle de pairs nécessite la version IKEv1, remplacez -ike-version 2 par --ike-version 1.
    • Remplacez shared-secret par votre clé secrète partagée, qui doit correspondre à la clé secrète partagée du tunnel partenaire créé sur la passerelle de pairs. Pour obtenir des recommandations, consultez la section Générer une clé pré-partagée efficace.
    • Remplacez int-num-0 par le numéro 0 sur la première interface de la passerelle VPN haute disponibilité que vous avez créée précédemment.
    • Remplacez int-num-1 par le numéro 1 sur la deuxième interface de la passerelle VPN haute disponibilité que vous avez créée précédemment.
          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
        

    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
        

Créer des interfaces Cloud Router et des pairs BGP

  1. Créez une interface BGP et un pair BGP Cloud Router pour chaque tunnel que vous avez précédemment configuré sur les interfaces de passerelle VPN haute disponibilité.
    Dans les commandes ci-dessous, remplacez les options suivantes :

    • Remplacez router-interface-name-0 et router-interface-name-1 par un nom pour l'interface BGP Cloud Router. Il peut être utile d'utiliser des noms associés aux noms des tunnels configurés précédemment.
    • Si vous utilisez la méthode de configuration manuelle, remplacez ip-address-0 et ip-address-1 par l'adresse IP BGP de l'interface de passerelle VPN haute disponibilité que vous configurez. Chaque tunnel utilise une interface de passerelle différente.
    • Utilisez une longueur du masque (mask-length) de 30.
      .
    • Remplacez tunnel-name-0 et tunnel-name-1 par le tunnel associé à l'interface de passerelle VPN haute disponibilité que vous avez configurée.

    Choisissez la méthode de configuration automatique ou manuelle pour configurer les interfaces BGP et les pairs BGP :

    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 par le nom de l'interface VPN de pairs et 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 \
              --peer-asn peer-asn \
              --interface router-interface-name-0 \
              --region region \
          

      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 par le nom de l'interface VPN de pairs et 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 \
              --peer-asn peer-asn \
              --interface router-interface-name-1 \
              --region region \
          

    Manuel

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

    1. 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). Pour chaque tunnel, attribuez l'une de ces adresses IP BGP au routeur Cloud Router et l'autre adresse IP BGP à votre passerelle VPN de pairs. Vous devez également configurer votre appareil VPN de pairs pour qu'il utilise l'adresse IP BGP de pairs. Utilisez les options suivantes dans les commandes ci-dessous :
      • google-bgp-ip-0 représente l'adresse IP BGP de l'interface du routeur Cloud Router pour le tunnel sur l'interface 0 de la passerelle VPN cloud. on-prem-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 l'interface 1 de la passerelle VPN cloud. on-prem-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. Indiquez le nom de l'interface en remplaçant router-interface-name-0.

          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 pair-name par le nom du pair, et [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 \
              --peer-asn peer-asn \
              --interface router-interface_name-0 \
              --peer-ip-address on-prem-bgp-ip-0 \
              --region region \
          

      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. Indiquez le nom de l'interface en remplaçant router-interface-name-1.

          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 par le nom du pair, et 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 \
              --peer-asn peer-asn \
              --interface router-interface-name-1 \
              --peer-ip-address on-prem-bgp-ip-1 \
              --region region \
          

Vérifier la configuration du routeur Cloud Router

  1. Répertoriez les adresses IP BGP sélectionnées par le routeur Cloud Router. Si vous avez ajouté une nouvelle interface à un routeur Cloud Router existant, les adresses IP BGP de la nouvelle interface doivent être répertoriées en indiquant le numéro d'index le plus élevé. L'adresse IP du pair correspond à l'adresse IP BGP que vous devez utiliser 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 Routeur qui gère deux tunnels VPN cloud (index 0) et (index 1) ressemble à l'exemple suivant, où :

    • google-bgp-ip-0 représente l'adresse IP BGP de l'interface du routeur Cloud Router pour le tunnel sur l'interface 0 de la passerelle VPN cloud et on-prem-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 l'interface 1 de la passerelle VPN cloud et on-prem-bgp-ip-1 représente l'adresse IP BGP de son 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 [ON_PREM_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 [ON_PREM_BGP_IP_1]
        

    Vous pouvez également utiliser la commande suivante pour obtenir la liste complète de la configuration du routeur Cloud Router :

        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
        
  2. Pour terminer la configuration de la passerelle, passez à la section Terminer la configuration.

API

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

Étape 1 : Pour créer une passerelle VPN haute disponibilité, envoyez une requête POST avec la méthode vpnGateways.insert :

     POST https://www.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 : Pour créer un routeur Cloud Router, envoyez une requête POST avec la méthode routers.insert :

     POST https://www.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"
     }
    

Vous pouvez utiliser un routeur Cloud Router existant tant que le routeur ne gère pas encore une session BGP pour un rattachement d'interconnexion associé à une interconnexion partenaire. Sinon, créez un autre routeur Cloud Router.

Étape 3 : Pour créer une ressource de passerelle VPN externe, envoyez une requête POST avec la méthode externalVpnGateways.insert.

  • Pour une passerelle VPN (de pairs) externe disposant d'une interface, utilisez l'exemple ci-dessous, 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 ci-dessous, mais spécifiez quatre instances de l'ID d'interface et de l'adresse IP (ipAddress) et utilisez un type de redondance redundancyType FOUR_IPS_REDUNDANCY.

     POST https://www.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"
     }
    

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

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

     POST https://www.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/external-vpn-gateways/my-peer-gateway",
       "peerExternalGatewayInterface": 0,
       "peerIp": "192.0.2.1",
       "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/vpn-gateways/ha-vpn-gw-a",
       "vpnGatewayInterface": 0
     }
    

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

  • name
  • peerExternalGatewayInterface
  • peerIp
  • sharedSecret ou sharedSecretHash (si nécessaire)
Remplacez vpnGatewayInterface par la valeur de l'autre interface de passerelle VPN haute disponibilité. Dans cet exemple, vous devez remplacer cette valeur par 1.

Étape 5 : Pour créer une interface Cloud Router BGP, envoyez une requête PATCH ou UPDATE avec les 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 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. Répétez cette étape et cette commande pour chaque tunnel VPN sur la deuxième passerelle VPN haute disponibilité.

     PATCH https://www.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 6 : Pour ajouter un pair BGP au routeur Cloud Router d'un tunnel VPN, envoyez une requête POST avec 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).

     POST https://www.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 7 : Vérifiez la configuration du routeur Cloud Router avec la méthode routers.getRouterStatus, en utilisant un corps de requête vide :

    POST https://www.googleapis.com/compute/v1/projects/project-id/regions/region/routers
    

Terminer la configuration

Vous devez suivre la procédure ci-dessous avant de pouvoir utiliser une nouvelle passerelle VPN cloud et ses tunnels VPN :

  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 relative aux règles de pare-feu.
  3. Vérifiez l'état de vos tunnels VPN.

Étapes suivantes