Créer des connexions VPN haute disponibilité entre Google Cloud et Azure

Ce tutoriel explique comment créer des connexions VPN (réseau privé virtuel) haute disponibilité entre Google Cloud et Microsoft Azure. Vous pouvez utiliser ces services VPN haute disponibilité pour la communication directe entre les réseaux VPC (cloud privé virtuel) dans Google Cloud et les passerelles de réseau virtuel Microsoft Azure.

Dans ce document, nous partons du principe que vous maîtrisez les concepts de base des réseaux VPC, du protocole BGP (Border Gateway Protocol), des VPN et des tunnels IPsec (Internet Protocol Security).

Google Cloud fournit un service VPN haute disponibilité pour connecter votre réseau VPC à des environnements s'exécutant en dehors de Google Cloud, tels que Microsoft Azure, via une connexion VPN IPsec. Un VPN haute disponibilité fournit un contrat de niveau de service garantissant une disponibilité de 99,99 % lorsqu'il est configuré conformément aux bonnes pratiques de Google.

Présentation de l'architecture

Le schéma suivant illustre l'architecture décrite dans ce document.

Présentation de l'architecture.

L'architecture présentée dans le schéma comprend les composants suivants :

  • Cloud Router : service Google Cloud entièrement distribué et géré servant à fournir un routage dynamique à l'aide du protocole BGP pour vos réseaux VPC.
  • Passerelle VPN haute disponibilité : passerelle VPN gérée par Google s'exécutant sur Google Cloud. Chaque passerelle VPN haute disponibilité est une ressource régionale dotée de deux interfaces : interface 0 et 1. Chacune de ces interfaces possède sa propre adresse IP externe.
  • Tunnels VPN : connexions de la passerelle VPN haute disponibilité sur Google Cloud à la passerelle VPN de pairs sur Azure, à travers laquelle circule le trafic chiffré.
  • Passerelle de réseau virtuel : deux réseaux privés définis dans le service cloud Azure.

Chacune des connexions de passerelle de réseau virtuel comporte deux tunnels préconfigurés pour pointer vers une seule passerelle client, qui est ici une interface de passerelle VPN haute disponibilité dans Google Cloud. Avec cette configuration, le nombre minimal de tunnels Cloud VPN requis pour atteindre la disponibilité de 99,99 % garantie par le contrat de niveau de service est de deux.

Adresses IP requises pour les procédures

Pour réaliser les procédures décrites dans ce document, vous utilisez diverses adresses IP dans Google Cloud et Azure. Certaines de ces adresses IP sont attribuées automatiquement lorsque vous créez une ressource.

Vous définissez les adresses IP qui ne sont pas attribuées automatiquement en fonction des adresses IP disponibles et des besoins de votre organisation.

Les ressources Google Cloud nécessitent les adresses IP suivantes :

  • La création d'un sous-réseau pour un réseau cloud privé virtuel nécessite une plage d'adresses IP définie par l'utilisateur.
  • Une fois la passerelle VPN haute disponibilité créée, Google Cloud lui attribue automatiquement deux adresses IP externes. Google attribue une adresse IP à chacune des deux interfaces de la passerelle. Vous avez besoin des adresses IP de ces interfaces pour configurer les passerelles réseau locales dans Azure.
  • Lorsque vous créez des tunnels VPN haute disponibilité dans Google Cloud, chaque tunnel nécessite une interface BGP vers le routeur Cloud Router et une interface BGP vers la passerelle de réseau virtuel de type actif-actif (passerelle VPN) dans Azure. Pour chaque tunnel, choisissez deux adresses IPv4 d'appairage BGP de liaison locale dans un bloc /30 des plages 169.254.21.* et 169.254.22.*. Il s'agit des plages valides pour les adresses IPv4 d'appairage BGP Azure APIPA. Vous devez sélectionner quatre adresses IP au total.

    Les adresses IPv4 d'appairage BGP que vous sélectionnez doivent être uniques parmi tous les routeurs cloud dans toutes les régions d'un réseau VPC.

Les ressources Azure nécessitent les adresses IP suivantes :

  • Lorsque vous créez le réseau virtuel (VNet), celui-ci nécessite un espace d'adresses IP pour le réseau et un espace d'adresses IP pour le sous-réseau du réseau. Vous pouvez utiliser les espaces d'adressage par défaut ou saisir des espaces d'adressage définis par l'utilisateur.
  • Lorsque vous créez la passerelle de réseau virtuel de type actif-actif (passerelle VPN), celle-ci nécessite une plage d'adresses de sous-réseau. Vous pouvez utiliser la plage par défaut ou saisir une plage définie par l'utilisateur.
  • Lorsque vous configurez le protocole BGP pour la passerelle VPN de type actif-actif, la passerelle nécessite deux adresses IP d'appairage BGP APIPA. Comme indiqué précédemment, les plages valides pour les adresses IP d'appairage BGP Azure APIPA sont 169.254.21.* et 169.254.22.*.
  • Une fois que vous avez créé une passerelle VPN de type actif-actif, Azure attribue automatiquement une adresse IP externe à chacune des interfaces de la passerelle. Vous avez besoin de ces adresses IP pour configurer la passerelle VPN de pairs dans Google Cloud.

Lorsque vous définissez des adresses IP, veillez à utiliser un ensemble unique d'adresses IP pour chaque réseau.

Objectifs

  • Créer un réseau virtuel Azure (VNet) et une passerelle de réseau virtuel de type actif-actif (passerelle VPN).
  • Créer les composants nécessaires sur Google Cloud : un réseau VPC, un routeur Cloud Router, une passerelle VPN haute disponibilité, une passerelle VPN de pairs et deux tunnels VPN haute disponibilité avec des sessions BGP.
  • Créer deux passerelles réseau locales et deux connexions VPN dans Azure. Vérifier la configuration du routeur Cloud Router et l'état de vos tunnels VPN haute disponibilité dans Google Cloud.
  • Tester la connexion Cloud VPN entre le réseau VPC sur Google Cloud et le réseau virtuel (VNet) sur Azure.

Coûts

Les procédures décrites dans ce document impliquent l'utilisation de composants payants de Google Cloud, y compris :

Afin d'obtenir une estimation des coûts pour les composants Google Cloud, utilisez le simulateur de coût Google Cloud.

Les procédures décrites dans ce document impliquent l'utilisation de composants payants des services cloud Microsoft Azure, y compris :

  • Passerelles VPN
  • Passerelles réseau locales

Afin d'obtenir une estimation des coûts pour les composants Azure, utilisez le simulateur de coût Azure.

Avant de commencer

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

  2. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  3. Activez l'API Compute Engine

    Activer l'API

  4. Dans la console Google Cloud, activez Cloud Shell.

    Activer Cloud Shell

  5. Assurez-vous que vous disposez des rôles d'administrateur requis pour configurer les composants réseau :

    • Administrateur réseau : compute.networkAdmin
    • Administrateur de sécurité : compute.securityAdmin
    • Administrateur de Compute : compute.admin

    Pour plus d'informations sur les objectifs de ces rôles, consultez la section Rôles IAM pour les postes liés à la mise en réseau.

Créer un réseau VNet et une passerelle VPN de type actif-actif sur Azure

Dans Azure, vous devez configurer les composants suivants :

  • Un réseau virtuel Azure (VNet) qui permet aux ressources Azure de communiquer avec votre VPN Google Cloud.
  • Une passerelle de réseau virtuel de type actif-actif (passerelle VPN) qui permet aux deux instances des machines virtuelles (VM) de la passerelle d'établir des tunnels VPN vers votre VPN Google Cloud.

Créer un réseau VNet

Un réseau VNet permet aux ressources Azure de communiquer en toute sécurité les unes avec les autres, avec Internet et avec d'autres réseaux (tels que Cloud VPN). Pour en savoir plus sur la création d'un réseau VNet, consultez la documentation Azure sur la création d'un réseau VNet.

  1. Connectez-vous au portail Azure.
  2. Dans le champ Rechercher dans les ressources, services et documents (G+/), saisissez virtual network.
  3. Dans la liste des résultats de la place de marché, sélectionnez Réseau virtuel.
  4. Sur la page Réseau virtuel, sélectionnez Créer.
  5. Dans l'onglet Informations de base de la page Créer un réseau virtuel, configurez les paramètres VNet suivants pour les Détails du projet et Détails de l'instance :

    1. Dans le champ Abonnement, vérifiez que l'abonnement répertorié est correct. Pour modifier l'abonnement, sélectionnez-le dans la liste.
    2. Pour spécifier le groupe de ressources, cliquez sur Créer nouveau pour créer un groupe et saisissez un nom tel que azure‑to‑google‑resgroup comme nom du groupe de ressources.
    3. Dans le champ Nom, saisissez le nom de votre réseau VNet, par exemple azure‑to‑google‑network.
    4. Dans le champ Région, sélectionnez un emplacement pour votre VNet.

      L'emplacement que vous sélectionnez détermine l'emplacement de stockage des ressources que vous déployez sur ce réseau virtuel.

  6. Dans l'onglet Adresses IP, dans le champ Espace d'adressage IPv4, utilisez l'espace d'adressage et le sous-réseau par défaut créés par Azure.

  7. Dans l'onglet Sécurité, gardez les valeurs fournies pour Hôte bastion, Protection DDos Standard et Pare-feu, qui sont par défaut définies sur la valeur Désactiver.

  8. Pour valider les paramètres du réseau VNet, sélectionnez Vérifier + Créer.

  9. Une fois les paramètres validés, sélectionnez Créer.

Créer une passerelle VPN de type actif-actif

Les procédures suivantes permettent de créer la passerelle VPN de type actif-actif :

  • La première procédure définit les détails du projet et de l'instance.
  • La deuxième procédure spécifie l'adresse IP de la passerelle.

Vous ne créez la passerelle VPN de type actif-actif que cette fois. Vous devez créer vos composants Google Cloud avant de pouvoir configurer les tunnels nécessaires dans Azure. Pour en savoir plus sur la création d'une passerelle VPN de type actif-actif, consultez la section Configurer des passerelles VPN de type actif-actif à l'aide du portail dans la documentation Azure.

Définir les détails de la passerelle

  1. Connectez-vous au portail Azure.
  2. Dans le champ Rechercher dans les ressources, services et documents (G+/), saisissez virtual network gateway.
  3. Sous Services dans les résultats de la recherche, recherchez et sélectionnez Passerelles de réseau virtuel.
  4. Sur la page Passerelle de réseau virtuel, sélectionnez Créer.
  5. Dans l'onglet Informations de base de la page Créer une passerelle de réseau virtuel, spécifiez les valeurs suivantes pour les options des sections Détails du projet et Détails de l'instance :

    1. Dans la liste Abonnement, sélectionnez l'abonnement que vous souhaitez utiliser.
    2. Facultatif : dans le champ Plage d’adresses de sous-réseau de la passerelle, saisissez la plage d'adresses du sous-réseau.
    3. Vérifiez que Groupe de ressources affiche le groupe de ressources correspondant au réseau virtuel que vous sélectionnez sur cette page.
    4. Dans le champ Nom, saisissez le nom de votre passerelle, par exemple azure‑to‑google‑gateway.
    5. Pour Région, sélectionnez la même région que celle utilisée lors de la création de votre réseau VNET.
    6. Pour Type de passerelle, sélectionnez VPN.
    7. Comme Type de VPN, sélectionnez le type de VPN Basé sur le routage.

    8. Dans la liste des SKU, sélectionnez le code SKU de la passerelle que vous souhaitez utiliser.

      Les codes SKU répertoriés dans la liste déroulante dépendent du type de VPN que vous sélectionnez.

    9. Dans la liste Génération, sélectionnez la génération que vous souhaitez utiliser.

    10. Dans la liste Réseau virtuel, sélectionnez le réseau VNet que vous avez créé précédemment.

  6. Restez sur cette page pour la procédure suivante.

Définir les adresses IP de la passerelle

  1. Dans l'onglet Informations de base de la page Créer une passerelle de réseau virtuel, procédez comme suit pour créer les adresses IP externes utilisées par la passerelle VPN de type actif-actif :

    1. Pour Adresse IP publique, sélectionnez Créer.

      Azure attribue automatiquement l'adresse IP externe à votre passerelle VPN de type actif-actif.

    2. Dans le champ Nom de l'adresse IP publique, saisissez un nom pour votre instance d'adresse IP externe, par exemple azure‑to‑google‑network‑ip1.

    3. Pour Activer le mode actif-actif, sélectionnez Activé.

    4. Facultatif : si cette option est disponible dans votre région, configurez la zone de disponibilité. Par exemple, vous pouvez sélectionner Redondance de zones.

    5. Pour Deuxième adresse IP publique, sélectionnez Créer.

    6. Dans le champ Nom de l'adresse IP publique, saisissez le nom de la deuxième adresse IP externe, par exemple azure‑to‑google‑network‑ip2.

    7. Pour Configurer BGP, sélectionnez Activé.

    8. Dans le champ Numéros de systèmes autonomes (ASN), définissez le numéro ASN sur une valeur autorisée et valide.

      Vous utilisez cette valeur ASN lorsque vous configurez les sessions BGP pour les tunnels dans Google Cloud. Enregistrez cette valeur en tant que AZURE_ASN pour faire référence à cette passerelle VPN de type actif-actif.

    9. Dans le champ Adresse IP BGP Azure APIPA personnalisée, saisissez la première adresse IP BGP APIPA et enregistrez la valeur en tant que AZURE_BGP_IP_0. Les plages d'adresses IP BGP Azure APIPA valides sont 169.254.21.* et 169.254.22.*.

    10. Dans le champ Deuxième adresse IP BGP Azure APIPA personnalisée, saisissez la deuxième adresse IP BGP APIPA et enregistrez la valeur en tant que AZURE_BGP_IP_1. Vous utiliserez ces variables pour configurer les sessions BGP dans Google Cloud.

  2. Pour exécuter la validation, sélectionnez Vérifier + créer.

  3. Une fois la validation terminée, sélectionnez Créer pour déployer la passerelle VPN.

Afficher et enregistrer les adresses IP externes de la passerelle VPN de type actif-actif

Vous avez besoin des adresses IP externes qu'Azure a automatiquement attribuées à la passerelle VPN de type actif-actif. Vous utiliserez ces adresses IP pour créer la ressource de passerelle VPN de pairs dans Google Cloud.

  1. Sur la page Présentation de la passerelle de type actif-actif que vous venez de créer, recherchez les adresses IP externes de la passerelle.
  2. Enregistrez les adresses IP que vous voyez à l'écran :
    • Enregistrez la première adresse IP externe sous le nom AZURE_GW_IP_0.
    • Enregistrez la deuxième adresse IP externe sous le nom AZURE_GW_IP_1.

Par la suite, ce document désigne ces adresses IP en tant que AZURE_GW_IP_0 et AZURE_GW_IP_1.

Créer vos composants Google Cloud

Sur Google Cloud, vous devez configurer les composants suivants :

  • Un réseau VPC
  • Une passerelle VPN haute disponibilité
  • Un routeur Cloud Router
  • Une passerelle VPN de pairs
  • Des tunnels VPN haute disponibilité avec sessions BGP

Les procédures suivantes partent du principe que vous avez configuré Google Cloud comme décrit dans la section Avant de commencer. Si vous n'avez pas encore effectué ces étapes, faites-le maintenant.

Créer un réseau VPC, un sous-réseau, une passerelle VPN haute disponibilité et un routeur Cloud Router sur Google Cloud

Sur Google Cloud, vous créez un réseau VPC, une passerelle VPN haute disponibilité, un routeur Cloud Router. Puis, vous configurez les règles de pare-feu sur Google Cloud.

  1. Dans Google Cloud Shell, assurez-vous que vous travaillez dans le projet Cloud que vous avez créé ou sélectionné :

    gcloud config set project YOUR_PROJECT_ID
    
    export PROJECT_ID=`gcloud config list   --format="value(core.project)"`
    

    Remplacez YOUR_PROJECT_ID par l'ID de votre projet Cloud.

  2. Créez un réseau VPC personnalisé avec un seul sous-réseau :

    gcloud compute networks create NETWORK \
        --subnet-mode SUBNET_MODE \
        --bgp-routing-mode BGP_ROUTING_MODE
    

    Remplacez les éléments suivants :

    • NETWORK : nom du réseau, par exemple google‑to‑azure‑vpc.
    • SUBNET_MODE : mode de sous-réseau défini sur custom.
  3. BGP_ROUTING_MODE : mode de routage BGP défini sur global.

    La commande doit ressembler à l'exemple suivant :

    gcloud compute networks create google-to-azure-vpc \
        --subnet-mode custom \
        --bgp-routing-mode global
    
  4. Créez un sous-réseau pour héberger les VM de test :

    gcloud compute networks subnets create SUBNET_NAME \
        --network NETWORK \
        --region SUBNET_REGION \
        --range SUBNET_IP_ADDRESS_RANGE
    

    Remplacez les éléments suivants :

    La commande doit ressembler à l'exemple suivant :

    gcloud compute networks subnets create subnet-central1  \
        --network google-to-azure-vpc \
        --region us-central1 \
        --range 10.1.1.0/24
    
  5. Créez la passerelle VPN haute disponibilité :

    gcloud compute vpn-gateways create HA_VPN_GATEWAY_NAME \
        --network NETWORK \
        --region REGION
    

    Remplacez HA_VPN_GATEWAY_NAME par le nom de la passerelle VPN haute disponibilité.

    La commande doit ressembler à l'exemple suivant :

    gcloud compute vpn-gateways create ha-vpn-gw-a \
       --network google-to-azure-vpc \
       --region us-central1
    

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

    Created [https://www.googleapis.com/compute/v1/projects/YOUR_PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-a].
    NAME          INTERFACE0     INTERFACE1     NETWORK     REGION
    ha-vpn-gw-a   203.0.113.1   203.0.113.2   google-to-azure-vpc   us-central1
    

    La sortie affiche les adresses IPv4 externes attribuées automatiquement à chaque interface de passerelle (INTERFACE0 et INTERFACE1). Vous avez besoin de ces adresses IP lorsque vous configurez les passerelles réseau locales sur Azure :

    • Notez l'adresse IP de INTERFACE0 dans HA_VPN_INT_0.
    • Notez l'adresse IP de INTERFACE1 dans HA_VPN_INT_1.
  6. Créez un routeur Cloud Router :

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

    Remplacez les éléments suivants :

    • ROUTER_NAME : nom de votre routeur Cloud Router.
    • REGION : région dans laquelle vous créez la passerelle et les tunnels VPN haute disponibilité.
    • GOOGLE_ASN : numéro ASN (Autonomous System Number) privé du routeur Cloud Router que vous créez. Il peut s'agir de n'importe quel numéro ASN privé compris dans les plages 64512-65534 ou 4200000000-4294967294 que vous n'utilisez pas déjà en tant que numéro ASN de pair dans la même région et sur le même réseau.

    La commande doit ressembler à l'exemple suivant :

    gcloud compute routers create cloud-router \
        --region us-central1 \
        --network google-to-azure-vpc \
        --asn 65534
    

Créer une passerelle VPN de pairs pour le VPN Azure

Dans cette section, vous créez une ressource de passerelle VPN externe qui fournit à Google Cloud les informations concernant votre passerelle VPN de type actif-actif dans Azure. Vous créez une passerelle VPN de pairs unique utilisant deux interfaces distinctes, chacune avec sa propre adresse IP externe.

Créez une passerelle VPN de pairs haute disponibilité dotée de deux interfaces :

gcloud compute external-vpn-gateways create AZURE_GW_NAME \
     --interfaces 0=AZURE_GW_IP_0,1=AZURE_GW_IP_1

Remplacez les éléments suivants :

  • AZURE_GW_NAME : nom de votre passerelle VPN de type actif-actif.
  • AZURE_GW_IP_0 : adresse IP externe d'une interface de la passerelle de pairs.
  • AZURE_GW_IP_1 : adresse IP externe d'une autre interface de la passerelle de pairs

La ressource de passerelle VPN de pairs que vous avez créée doit ressembler à l'exemple suivant, où AZURE_GW_IP_0 et AZURE_GW_IP_1 indiquent les adresses IP externes réelles des interfaces de la passerelle de pairs :

gcloud compute external-vpn-gateways create azure-peer-gw \
     --interfaces 0=203.0.113.1,1=203.0.113.2

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

Créer des tunnels VPN

Vous devez créer deux tunnels VPN : un tunnel pour chaque interface de la passerelle VPN de pairs. Lorsque vous configurez des tunnels VPN vers Azure, vous devez utiliser le protocole de chiffrement IKEv2.

Pour les commandes utilisées dans cette section, 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.
  • AZURE_GW_NAME : nom de la passerelle de pairs externe créée précédemment.
  • AZURE_GW_INT_NUM_0 et AZURE_GW_INT_NUM_1 : numéros d'interface configurés précédemment sur la passerelle de pairs externe.
  • IKE_VERS : utilisez 2 pour IKEv2.
  • SHARED_SECRET : votre clé pré-partagée (secret partagé), qui doit correspondre à la clé pré-partagée que vous spécifiez lors de la configuration des connexions VPN dans Azure. Pour obtenir des recommandations, consultez la section Générer une clé pré-partagée sécurisée.
  • HA_VPN_GATEWAY_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.

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

  1. Créez le tunnel VPN pour l'interface 0 :

    gcloud compute vpn-tunnels create TUNNEL_NAME_IF0 \
       --peer-external-gateway=AZURE_GW_NAME \
       --peer-external-gateway-interface=AZURE_GW_INT_NUM_0  \
       --region=REGION \
       --ike-version=IKE_VERS \
       --shared-secret=SHARED_SECRET \
       --router=ROUTER_NAME \
       --vpn-gateway=HA_VPN_GATEWAY_NAME \
       --interface=INT_NUM_0
    

    La commande doit ressembler à l'exemple suivant :

    gcloud compute vpn-tunnels create azure-tunnel-1 \
       --peer-external-gateway azure-peer-gw \
       --peer-external-gateway-interface 0  \
       --region us-central1  \
       --ike-version 2 \
       --shared-secret xo2aTKHipD/oE1GAXgj3lMwjBmJXZjqD \
       --router cloud-router \
       --vpn-gateway ha-vpn-gw-a \
       --interface 0
    
  2. Créez le tunnel VPN pour l'interface 1 :

    gcloud compute vpn-tunnels create TUNNEL_NAME_IF1 \
      --peer-external-gateway=AZURE_GW_NAME \
      --peer-external-gateway-interface=AZURE_GW_INT_NUM_1 \
      --region=REGION \
      --ike-version=IKE_VERS \
      --shared-secret=SHARED_SECRET \
      --router=ROUTER_NAME \
      --vpn-gateway=HA_VPN_GATEWAY_NAME \
      --interface=INT_NUM_1
    

    La commande doit ressembler à l'exemple suivant :

    gcloud compute vpn-tunnels create azure-tunnel-2 \
       --peer-external-gateway azure-peer-gw \
       --peer-external-gateway-interface 1  \
       --region us-central1  \
       --ike-version 2 \
       --shared-secret xo2aTKHipD/oE1GAXgj3lMwjBmJXZjqD \
       --router cloud-router \
       --vpn-gateway ha-vpn-gw-a \
       --interface 1
    

Créer des sessions BGP

Pour le routage dynamique, vous utilisez Cloud Router afin d'établir des sessions BGP entre Google Cloud et Azure. Nous vous recommandons d'utiliser le routage dynamique au lieu du routage statique dans la mesure du possible, comme expliqué dans la Présentation de Cloud VPN et dans la section Réseaux et options de routage pour les tunnels Cloud VPN.

Vous devez créer une session BGP pour chaque tunnel VPN. Chaque session BGP se compose d'une interface BGP vers le routeur Cloud Router et d'un pair BGP. Vous créez un pair BGP pour chacun des deux tunnels VPN que vous venez de créer.

Pour les commandes utilisées dans cette section, remplacez les éléments suivants :

  • ROUTER_NAME : nom que vous avez attribué au routeur Cloud Router.
  • 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.
  • MASK_LENGTH : spécifiez 30 ; chaque session BGP figurant sur le même routeur Cloud Router doit utiliser un masque CIDR /30 unique appartenant au bloc 169.254.0.0/16.
  • GOOGLE_BGP_IP_0 et GOOGLE_BGP_IP_1 : adresses IP d'appairage BGP pour les interfaces de passerelle VPN haute disponibilité que vous configurez ; chaque tunnel utilise une interface de passerelle distincte. Étant donné que les plages autorisées pour les adresses IP d'appairage BGP Azure APIPA sont 169.254.21.* et 169.254.22.*, vous devez sélectionner une adresse IP disponible dans le CIDR /30 de ces plages pour vos adresses IP d'appairage BGP pour Cloud Router.
  • AZURE_BGP_IP_0 et AZURE_BGP_IP_1 : adresses IP d'appairage BGP APIPA que vous avez déjà configurées sur la passerelle VPN Azure de type actif-actif ; chaque tunnel utilise une adresse distincte.
  • TUNNEL_NAME_IF0 et TUNNEL_NAME_IF1 : tunnels associés à l'interface de passerelle VPN haute disponibilité que vous avez configurée
  • AZURE_ASN : numéro ASN que vous avez configuré pour la passerelle VPN de pairs de type actif-actif dans Azure.
  • BGP_PEER_NAME_1 et BGP_PEER_NAME_2, avec des noms uniques pour chaque pair BGP. Par exemple, azure‑bgp‑peer‑1 et azure‑bgp‑peer‑2.

Pour créer des sessions BGP pour les tunnels VPN, procédez comme suit :

  1. Pour le premier tunnel VPN, 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_IF0 \
       --ip-address=GOOGLE_BGP_IP_0 \
       --region=REGION
    

    La commande doit ressembler à l'exemple suivant :

    gcloud compute routers add-interface cloud-router \
       --interface-name azure-tunnel-1-int-0 \
       --mask-length 30 \
       --vpn-tunnel azure-tunnel-1 \
       --ip-address 169.254.21.2 \
       --region us-central1
    
  2. Pour le premier tunnel VPN, ajoutez un pair BGP à l'interface :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=BGP_PEER_NAME_1 \
       --peer-asn=AZURE_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --peer-ip-address=AZURE_BGP_IP_0 \
       --region=REGION
    

    La commande doit ressembler à l'exemple suivant :

    gcloud compute routers add-bgp-peer cloud-router \
       --peer-name azure-bgp-peer-1 \
       --peer-asn 65515 \
       --interface azure-tunnel-1-int-0 \
       --peer-ip-address 169.254.21.1 \
       --region us-central1
    
  3. Pour le second tunnel VPN, 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_IF0 \
       --ip-address=GOOGLE_BGP_IP_1 \
       --region=REGION
    

    La commande doit ressembler à l'exemple suivant :

    gcloud compute routers add-interface cloud-router \
       --interface-name azure-tunnel-2-int-1 \
       --mask-length 30 \
       --vpn-tunnel azure-tunnel-2 \
       --ip-address 169.254.22.2 \
       --region us-central1
    
  4. Pour le second tunnel VPN, ajoutez un pair BGP à l'interface :

    gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=BGP_PEER_NAME_2 \
       --peer-asn=AZURE_ASN \
       --interface=ROUTER_INTERFACE_NAME_1 \
       --peer-ip-address=AZURE_BGP_IP_1 \
       --region=REGION
    

    La commande doit ressembler à l'exemple suivant :

    gcloud compute routers add-bgp-peer cloud-router \
      --peer-name azure-bgp-peer-2 \
      --peer-asn 65515 \
      --interface azure-tunnel-2-int-1 \
      --peer-ip-address 169.254.22.1 \
      --region us-central1
    

Créer des passerelles réseau locales et des connexions VPN dans Azure

Une fois les composants Google Cloud créés et configurés, revenez à votre environnement Azure pour finir de connecter Google Cloud à Azure. Pour terminer cette connexion, vous devez créer les composants suivants dans Azure :

  • Deux passerelles réseau locales représentant votre VPN Google Cloud dans Azure.
  • Deux connexions VPN correspondant aux deux tunnels VPN haute disponibilité que vous avez configurés dans Google Cloud.

Créer deux passerelles réseau locales

Une passerelle réseau locale est un objet spécifique qui représente votre réseau Google Cloud dans Azure. Lorsque vous créez une passerelle réseau locale, vous spécifiez les informations suivantes :

  • Le nom de la passerelle réseau locale
  • L'adresse IP de l'interface VPN haute disponibilité à utiliser dans la connexion
  • Adresse IP du routeur Google Cloud Router auquel vous souhaitez créer une connexion.
  • Les préfixes d'adresse IP qui sont acheminés via la passerelle VPN vers le routeur Cloud Router. Les préfixes d'adresse que vous spécifiez sont les préfixes situés sur votre VPN cloud. Si votre réseau privé virtuel cloud change ou si vous devez modifier l'adresse IP externe du routeur Cloud Router, vous pouvez mettre à jour les valeurs ultérieurement.

Vous devez créer deux passerelles réseau locales : une qui se connecte à la première interface de tunnel VPN haute disponibilité sur Google Cloud et l'autre qui se connecte à la deuxième interface de tunnel VPN haute disponibilité.

Pour en savoir plus, consultez la section Créer une passerelle réseau locale du tutoriel Créer une connexion VPN site à site dans le portail Azure de la documentation Azure.

Pour créer la première passerelle réseau locale, procédez comme suit :

  1. Connectez-vous au portail Azure.
  2. Dans le champ Rechercher dans les ressources, services et documents (G+/), saisissez passerelle réseau locale.
  3. Dans les résultats de recherche, sous Place de marché, localisez et sélectionnez Passerelle réseau locale.
  4. Cliquez sur Créer.
  5. Dans l'onglet Informations de base de la page Créer une passerelle réseau locale, spécifiez les valeurs suivantes pour votre passerelle réseau locale :

    1. Dans la liste Abonnement, vérifiez que l'abonnement approprié est affiché.
    2. Dans la liste Groupe de ressources, sélectionnez le groupe de ressources que vous avez créé pour le réseau VNet précédemment dans ce document.
    3. Comme Région, sélectionnez l'emplacement où réside votre réseau VNet.
    4. Dans le champ Nom, saisissez le nom de votre passerelle réseau locale, par exemple azure-to-google-locgateway1.
    5. Comme Point de terminaison, sélectionnez Adresse IP.
    6. Dans le champ Adresse IP, saisissez l'adresse IP de l'INTERFACE0 de votre VPN haute disponibilité (c'est-à-dire saisissez HA_VPN_INT_0).
    7. Dans le champ Espace d'adressage, saisissez les plages d'adresses du réseau représenté par ce réseau local.

      Vous pouvez ajouter plusieurs plages d'espaces d'adressage. Assurez-vous que les plages que vous spécifiez ici ne chevauchent pas les plages des autres réseaux auxquels vous souhaitez vous connecter.

  6. Sur l'onglet Avancé, configurez les paramètres BGP comme suit :

    1. Pour Configurer les paramètres BGP, sélectionnez Oui.
    2. Dans le champ Numéro de système autonome (ASN), saisissez le numéro ASN de votre routeur Cloud Router (c'est-à-dire, GOOGLE_ASN).
    3. Dans le champ Adresse IP du pair BGP, saisissez l'adresse IP BGP du routeur Cloud Router du tunnel 1 (soit GOOGLE_BGP_IP_0).
  7. Pour valider la configuration de la passerelle réseau locale, cliquez sur Vérifier et créer en bas de la page.

  8. Une fois la validation terminée, cliquez sur Créer pour créer la passerelle réseau locale.

Pour créer la deuxième passerelle réseau locale, procédez comme suit :

  1. Dans le portail Azure, dans Rechercher dans les ressources, services et documents (G+/), saisissez local network gateway.
  2. Dans les résultats de recherche, sous Place de marché, localisez et sélectionnez Passerelle réseau locale.
  3. Dans l'onglet Informations de base de la page Créer une passerelle réseau locale, spécifiez les valeurs suivantes pour votre passerelle réseau locale :

    1. Dans la liste Abonnement, vérifiez que l'abonnement approprié est affiché.
    2. Dans la liste Groupe de ressources, sélectionnez le groupe de ressources que vous avez créé pour le réseau VNet précédemment dans ce document.
    3. Pour Région, sélectionnez la même région que celle de votre réseau VNet.
    4. Dans le champ Nom, saisissez le nom de votre passerelle réseau locale, par exemple azure-to-google-locgateway2.
    5. Comme Point de terminaison, sélectionnez Adresse IP.
    6. Dans le champ Adresse IP, saisissez l'adresse IP de l'INTERFACE1 de votre VPN haute disponibilité (c'est-à-dire saisissez HA_VPN_INT_1).
    7. Dans le champ Espace d'adressage, saisissez les plages d'adresses du réseau représenté par ce réseau local.

    Vous pouvez ajouter plusieurs plages d'espaces d'adressage. Assurez-vous que les plages que vous spécifiez ici ne chevauchent pas les plages des autres réseaux auxquels vous souhaitez vous connecter.

  4. Sur l'onglet Avancé, configurez les paramètres BGP comme suit :

    1. Pour Configurer les paramètres BGP, sélectionnez Oui.
    2. Dans le champ Numéro de système autonome (ASN), saisissez le numéro ASN de votre routeur Cloud Router (c'est-à-dire, GOOGLE_ASN).
    3. Dans le champ Adresse IP du pair BGP, saisissez l'adresse IP BGP du routeur Cloud Router du tunnel 1 (soit GOOGLE_BGP_IP_1).
  5. Pour valider la configuration de la passerelle réseau locale, cliquez sur Vérifier et créer en bas de la page.

  6. Une fois la validation terminée, cliquez sur Créer pour créer la passerelle réseau locale.

Créer deux connexions VPN

Pour créer les connexions VPN dans Azure, vous avez besoin des clés prépartagées, ou SHARED_SECRET, que vous avez configurées lorsque vous avez mis en place les tunnels VPN haute disponibilité sur Google Cloud.

  1. Dans le portail Azure, recherchez la passerelle VPN de type actif-actif que vous avez créée dans la section Créer une passerelle VPN de type actif-actif.
  2. Sélectionnez Connexions.
  3. En haut de la page Connexions, sélectionnez + Ajouter.
  4. Sur la page Ajouter une connexion, spécifiez les valeurs suivantes pour votre première connexion :
    1. Dans le champ Nom, saisissez un nom pour la connexion, par exemple azure-vnet-to-google1.
    2. Comme Type de connexion, sélectionnez Site à site (IPsec).
    3. Pour Passerelle réseau locale, spécifiez la première passerelle réseau locale que vous avez créée, par exemple azure-to-google-locgateway1.
    4. Comme Clé partagée (PSK), spécifiez la clé partagée que vous avez configurée pour le premier tunnel VPN haute disponibilité.
    5. Sélectionnez Activer BGP.
    6. Dans le champ IKE Protocol (Protocole IKE), sélectionnez IKEv2.
    7. Cliquez sur OK.
    8. Sur la page Connexions, sélectionnez + Ajouter pour ajouter une deuxième connexion ayant les valeurs suivantes :
    9. Dans le champ Nom, saisissez un nom pour la connexion, par exemple azure-vnet-to-google2.
    10. Comme Type de connexion, sélectionnez Site à site (IPsec).
    11. Pour Passerelle réseau locale, spécifiez la deuxième passerelle réseau locale que vous avez créée, par exemple azure-to-google-locgateway2.
    12. Comme Clé partagée (PSK), spécifiez la clé partagée que vous avez configurée pour le deuxième tunnel VPN haute disponibilité.
    13. Sélectionnez Activer BGP.
    14. Dans le champ IKE Protocol (Protocole IKE), sélectionnez IKEv2.
    15. Cliquez sur OK.
  5. Sur la page Connexions, vérifiez que l'état des deux connexions apparaît comme Connecté.

Vérifier la configuration

Dans Google Cloud, vous pouvez vérifier la configuration de votre VPN haute disponibilité en examinant (opération list) d'abord la configuration de votre routeur Cloud Router, puis en vérifiant l'état des tunnels VPN haute disponibilité.

  1. Dans Cloud Shell, répertoriez les adresses IP d'appairage BGP choisies par Cloud Router :

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

    La commande doit ressembler à l'exemple suivant :

    gcloud compute routers get-status cloud-router \
        --region us-central1 \
    --format='flattened(result.bgpPeerStatus[].name,result.bgpPeerStatus[].ipAddress,result.bgpPeerStatus[].peerIpAddress)'
    

    Le résultat attendu pour un routeur Cloud Router gérant deux tunnels VPN haute disponibilité (index 0 et index 1) doit ressembler à l'exemple suivant :

    result.bgpPeerStatus[0].ipAddress:     169.254.21.2
    result.bgpPeerStatus[0].name:          azure-bgp-peer-1
    result.bgpPeerStatus[0].peerIpAddress: 169.254.21.1
    result.bgpPeerStatus[1].ipAddress:     169.254.22.2
    result.bgpPeerStatus[1].name:          azure-bgp-peer-2
    result.bgpPeerStatus[1].peerIpAddress: 169.254.22.1
    
  2. Dans Cloud Shell, affichez l'état du premier tunnel VPN haute disponibilité :

    gcloud compute vpn-tunnels describe TUNNEL_NAME_IF0 \
       --region=REGION
    

    Remplacez les éléments suivants :

    • TUNNEL_NAME_IF0 : tunnel associé à la première interface de passerelle VPN haute disponibilité que vous avez configurée.
    • REGION : région dans laquelle vous avez déployé la passerelle VPN haute disponibilité.

    La commande doit ressembler à l'exemple suivant :

    gcloud compute vpn-tunnels describe azure-tunnel-1 -–region=us-central1
    

    Le résultat attendu pour le tunnel doit ressembler à l'exemple suivant :

    creationTimestamp: '2022-09-28T17:13:21.592-07:00'
    description: ''
    detailedStatus: Tunnel is up and running.
    id: '278561789474069966'
    ikeVersion: 2
    kind: compute#vpnTunnel
    localTrafficSelector:
    -   0.0.0.0/0
    name: azure-tunnel-1
    peerExternalGateway: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/global/externalVpnGateways/azure-peer-gw
    peerExternalGatewayInterface: 0
    peerIp: 203.0.113.1
    region: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1
    remoteTrafficSelector:
    -   0.0.0.0/0
    router: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/routers/cloud-router
    selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/vpnTunnels/azure-tunnel-1
    sharedSecret: '*************'
    sharedSecretHash: ALDZGgSMUxj8KFahMoG_L0Fz9paz
    status: ESTABLISHED
    vpnGateway: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/vpnGateways/ha-vpn-gw-a
    vpnGatewayInterface: 0
    
  3. Dans Cloud Shell, affichez l'état du deuxième tunnel VPN haute disponibilité :

    gcloud compute vpn-tunnels describe TUNNEL_NAME_IF1 \
       --region=REGION
    

    Remplacez les éléments suivants :

    • TUNNEL_NAME_IF1 : tunnel associé à la deuxième interface de passerelle VPN haute disponibilité que vous avez configurée.
    • REGION : région dans laquelle vous avez déployé la passerelle VPN haute disponibilité.

    La commande doit ressembler à l'exemple suivant :

    gcloud compute vpn-tunnels describe azure-tunnel-2 --region=us-central1
    

    Le résultat attendu pour le tunnel doit ressembler à l'exemple suivant :

    creationTimestamp: '2022-09-28T17:13:21.592-07:00'
    description: ''
    detailedStatus: Tunnel is up and running.
    id: '5665972275117479944'
    ikeVersion: 2
    kind: compute#vpnTunnel
    localTrafficSelector:
    -   0.0.0.0/0
    name: azure-tunnel-2
    peerExternalGateway: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/global/externalVpnGateways/azure-peer-gw
    peerExternalGatewayInterface: 1
    peerIp: 203.0.113.2
    region: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1
    remoteTrafficSelector:
    -   0.0.0.0/0
    router: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/routers/cloud-router
    selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT-ID/regions/us-central1/vpnTunnels/azure-tunnel-2
    sharedSecret: '*************'
    sharedSecretHash: ALDZGgSMUxj8KFahMoG_L0Fz9ddd
    

Tester la connectivité

Pour tester les connexions VPN haute disponibilité, vous devez d'abord créer des VM de chaque côté du tunnel.

Ensuite, vous devez vous assurer d'avoir défini des règles de pare-feu dans Google Cloud qui autorisent le trafic ICMP entrant en provenance des sous-réseaux du réseau Azure. Une fois les VM et les règles de pare-feu en place, vous pouvez tester la connectivité à l'aide de la commande ping et la bande passante à l'aide de iperf.

  1. Créez des VM de test de chaque côté des tunnels afin de tester les requêtes ping.

    Vous devez également configurer le pare-feu du réseau Azure afin d'autoriser le trafic entrant en provenance des préfixes de sous-réseau utilisés dans votre cloud privé virtuel.

  2. Sur Google Cloud, configurez une règle de pare-feu qui autorise le trafic ICMP entrant en provenance de votre VPN Azure :

    gcloud compute firewall-rules create RULE_NAME \
        --network NETWORK \
        --direction ingress \
        --action allow \
        --source-ranges AZURE_VNET_RANGE \
        --rules icmp \
    

    Remplacez AZURE_VNET_RANGE par la plage d'adresses IP attribuée à votre réseau VNet Azure.

    La commande doit ressembler à l'exemple suivant :

    gcloud compute firewall-rules create allow-azure-icmp \
      --network google-to-azure-vpc \
      --direction ingress \
      --action allow \
      --source-ranges 10.0.0.0/16 \
      --rules icmp
    
  3. Testez la connexion à l'aide de la commande ping.

  4. Mesurez la bande passante entre vos machines de test à l'aide de iperf.

Effectuer un nettoyage

Supprimez les ressources Google Cloud et Azure que vous avez créées au cours de ce tutoriel.

Supprimer le projet Google Cloud

Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, vous pouvez supprimer le projet :

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Supprimer le groupe de ressources Azure

Supprimez le groupe de ressources Azure Resource Manager que vous avez créé lors de la création du réseau VNet. Dans le cadre de ce tutoriel, le nom de l'exemple de groupe de ressources est azure-to-google-resgroup.

Pour en savoir plus, consultez la page Suppression d’un groupe de ressources et de ressources Azure Resource Manager.

Étapes suivantes