arrow_back

Configurer un VPN haute disponibilité Google Cloud

Quick tip: Review the prerequisites before you run the lab
Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the student account, which may cause extra charges incurred to your personal account.
Testez vos connaissances et partagez-les avec notre communauté
done
Accédez à plus de 700 ateliers pratiques, badges de compétence et cours

Configurer un VPN haute disponibilité Google Cloud

Atelier 1 heure 15 minutes universal_currency_alt 5 crédits show_chart Avancé
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Testez vos connaissances et partagez-les avec notre communauté
done
Accédez à plus de 700 ateliers pratiques, badges de compétence et cours

Présentation

Un VPN haute disponibilité est une solution Cloud VPN offrant une disponibilité élevée. Ce type de VPN vous permet de connecter en toute sécurité votre réseau local à votre réseau de cloud privé virtuel (VPC) via une connexion VPN IPsec située dans une seule région. Les VPN haute disponibilité garantissent un taux de disponibilité de 99,99 %.

Le VPN haute disponibilité est une solution VPN régionale et par VPC. Les passerelles VPN haute disponibilité possèdent deux interfaces, chacune ayant sa propre adresse IP publique. Lorsque vous créez une passerelle VPN haute disponibilité, deux adresses IP publiques sont automatiquement sélectionnées dans différents pools d'adresses. Lorsque le VPN haute disponibilité est configuré avec deux tunnels, Cloud VPN offre un taux de disponibilité de 99,99 %.

Dans cet atelier, vous allez créer un VPC mondial nommé vpc-demo, avec deux sous-réseaux personnalisés dans et . Dans ce VPC, vous ajouterez une instance Compute Engine dans chaque région. Vous créerez ensuite un second VPC nommé on-prem pour simuler le centre de données sur site d'un client. Dans ce second VPC, vous ajouterez un sous-réseau dans la région et une instance Compute Engine exécutée dans cette région. Enfin, vous ajouterez un VPN haute disponibilité et un routeur cloud dans chaque VPC, puis exécuterez deux tunnels à partir de chaque passerelle VPN haute disponibilité, avant de tester la configuration pour vérifier que le taux de disponibilité de 99,99 % annoncé par le contrat de niveau de service est bien respecté.

Objectifs

Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :

  • Créer deux instances et réseaux VPC
  • Configurer des passerelles VPN haute disponibilité
  • Configurer le routage dynamique avec les tunnels VPN
  • Configurer le mode de routage dynamique global
  • Vérifier et tester la configuration de la passerelle VPN haute disponibilité

Préparation

Pour chaque atelier, nous vous attribuons un nouveau projet Google Cloud et un nouvel ensemble de ressources pour une durée déterminée, sans frais.

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau Détails concernant l'atelier, qui contient les éléments suivants :

    • Le bouton Ouvrir la console Google Cloud
    • Le temps restant
    • Les identifiants temporaires que vous devez utiliser pour cet atelier
    • Des informations complémentaires vous permettant d'effectuer l'atelier
  2. Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).

    L'atelier lance les ressources, puis ouvre la page Se connecter dans un nouvel onglet.

    Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.

    Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
  3. Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.

    {{{user_0.username | "Username"}}}

    Vous trouverez également le nom d'utilisateur dans le panneau Détails concernant l'atelier.

  4. Cliquez sur Suivant.

  5. Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.

    {{{user_0.password | "Password"}}}

    Vous trouverez également le mot de passe dans le panneau Détails concernant l'atelier.

  6. Cliquez sur Suivant.

    Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
  7. Accédez aux pages suivantes :

    • Acceptez les conditions d'utilisation.
    • N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
    • Ne vous inscrivez pas à des essais sans frais.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Pour afficher un menu contenant la liste des produits et services Google Cloud, cliquez sur le menu de navigation en haut à gauche, ou saisissez le nom du service ou du produit dans le champ Recherche.

Activer Google Cloud Shell

Google Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud.

Google Cloud Shell vous permet d'accéder à vos ressources Google Cloud grâce à une ligne de commande.

  1. Dans la barre d'outils située en haut à droite dans la console Cloud, cliquez sur le bouton "Ouvrir Cloud Shell".

  2. Cliquez sur Continuer.

Le provisionnement et la connexion à l'environnement prennent quelques instants. Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Par exemple :

gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.

  • Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list

Résultat :

Credentialed accounts: - @.com (active)

Exemple de résultat :

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project

Résultat :

[core] project =

Exemple de résultat :

[core] project = qwiklabs-gcp-44776a13dea667a6 Remarque : Pour consulter la documentation complète sur gcloud, accédez au guide de présentation de la gcloud CLI.

Tâche 1 : configurer un environnement VPC mondial

Dans cette tâche, vous allez configurer un VPC mondial avec deux sous-réseaux personnalisés et deux instances de VM s'exécutant dans chaque zone.

  1. Dans Cloud Shell, créez un réseau VPC appelé vpc-demo :
gcloud compute networks create vpc-demo --subnet-mode custom

Le résultat devrait ressembler à ceci :

Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/vpc-demo]. NAME: vpc-demo SUBNET_MODE: CUSTOM BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4:
  1. Dans Cloud Shell, créez le sous-réseau vpc-demo-subnet1 dans la région  :
gcloud compute networks subnets create vpc-demo-subnet1 \ --network vpc-demo --range 10.1.1.0/24 --region "{{{project_0.default_region| REGION}}}"
  1. Créez le sous-réseau vpc-demo-subnet2 dans la région  :
gcloud compute networks subnets create vpc-demo-subnet2 \ --network vpc-demo --range 10.2.1.0/24 --region {{{project_0.default_region_2 | REGION 2}}}
  1. Créez une règle de pare-feu afin d'autoriser tout le trafic personnalisé dans le réseau :
gcloud compute firewall-rules create vpc-demo-allow-custom \ --network vpc-demo \ --allow tcp:0-65535,udp:0-65535,icmp \ --source-ranges 10.0.0.0/8

Le résultat devrait ressembler à ceci :

Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/firewalls/vpc-demo-allow-custom]. Creating firewall...done. NAME: vpc-demo-allow-custom NETWORK: vpc-demo DIRECTION: INGRESS PRIORITY: 1000 ALLOW: tcp:0-65535,udp:0-65535,icmp DENY: DISABLED: False
  1. Créez une règle de pare-feu pour autoriser le trafic SSH et ICMP depuis n'importe quelle origine :
gcloud compute firewall-rules create vpc-demo-allow-ssh-icmp \ --network vpc-demo \ --allow tcp:22,icmp
  1. Créez une instance de VM nommée vpc-demo-instance1 dans la zone  :
gcloud compute instances create vpc-demo-instance1 --machine-type=e2-medium --zone {{{ project_0.default_zone | "ZONE" }}} --subnet vpc-demo-subnet1

Le résultat devrait ressembler à ceci :

Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/zones/{{{ project_0.default_zone | "ZONE" }}}/instances/vpc-demo-instance1]. NAME: vpc-demo-instance1 ZONE: {{{ project_0.default_zone | "ZONE" }}} MACHINE_TYPE: e2-standard-2 PREEMPTIBLE: INTERNAL_IP: 10.1.1.2 EXTERNAL_IP: 34.71.135.218 STATUS: RUNNING
  1. Créez une instance de VM nommée vpc-demo-instance2 dans la zone  :
gcloud compute instances create vpc-demo-instance2 --machine-type=e2-medium --zone {{{project_0.default_zone_2 | ZONE2}}} --subnet vpc-demo-subnet2

Tâche 2 : configurer un environnement sur site simulé

Dans cette tâche, vous allez créer un VPC appelé on-prem qui simule un environnement sur site à partir duquel un client se connecte à l'environnement Google Cloud.

  1. Dans Cloud Shell, créez un réseau VPC nommé on-prem :
gcloud compute networks create on-prem --subnet-mode custom

Le résultat devrait ressembler à ceci :

Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/on-prem]. NAME: on-prem SUBNET_MODE: CUSTOM BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4:
  1. Créez un sous-réseau appelé on-prem-subnet1 :
gcloud compute networks subnets create on-prem-subnet1 \ --network on-prem --range 192.168.1.0/24 --region {{{ project_0.default_region | "REGION" }}}
  1. Créez une règle de pare-feu afin d'autoriser tout le trafic personnalisé dans le réseau :
gcloud compute firewall-rules create on-prem-allow-custom \ --network on-prem \ --allow tcp:0-65535,udp:0-65535,icmp \ --source-ranges 192.168.0.0/16
  1. Créez une règle de pare-feu afin d'autoriser le trafic SSH, RDP, HTTP et ICMP vers les instances :
gcloud compute firewall-rules create on-prem-allow-ssh-icmp \ --network on-prem \ --allow tcp:22,icmp
  1. Créez une instance nommée on-prem-instance1 dans la région .
Remarque : Dans la commande ci-dessous, remplacez par une zone de la région , distincte de celle utilisée pour créer l'instance vpc-demo-instance1 dans le sous-réseau vpc-demo-subnet1. gcloud compute instances create on-prem-instance1 --machine-type=e2-medium --zone zone_name --subnet on-prem-subnet1

Tâche 3 : configurer une passerelle VPN haute disponibilité

Dans cette tâche, vous allez créer une passerelle VPN haute disponibilité dans chaque réseau VPC, puis créer des tunnels VPN haute disponibilité sur chaque passerelle Cloud VPN.

  1. Dans Cloud Shell, créez un VPN haute disponibilité dans le réseau vpc-demo :
gcloud compute vpn-gateways create vpc-demo-vpn-gw1 --network vpc-demo --region {{{ project_0.default_region | "REGION" }}}

Le résultat devrait ressembler à ceci :

Creating VPN Gateway...done. NAME: vpc-demo-vpn-gw1 INTERFACE0: 35.242.117.95 INTERFACE1: 35.220.73.93 NETWORK: vpc-demo REGION: {{{ project_0.default_region | "REGION" }}}
  1. Créez un VPN haute disponibilité dans le réseau on-prem :
gcloud compute vpn-gateways create on-prem-vpn-gw1 --network on-prem --region {{{ project_0.default_region | "REGION" }}}
  1. Affichez les détails de la passerelle VPN vpc-demo-vpn-gw1 afin de vérifier ses paramètres :
gcloud compute vpn-gateways describe vpc-demo-vpn-gw1 --region {{{ project_0.default_region | "REGION" }}}

Le résultat devrait ressembler à ceci :

creationTimestamp: '2022-01-25T03:02:20.983-08:00' id: '7306781839576950355' kind: compute#vpnGateway labelFingerprint: 42WmSpB8rSM= name: vpc-demo-vpn-gw1 network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/vpc-demo region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}} selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/vpc-demo-vpn-gw1 vpnInterfaces: - id: 0 ipAddress: 35.242.117.95 - id: 1 ipAddress: 35.220.73.93
  1. Affichez les détails de la passerelle VPN on-prem-vpn-gw1 afin de vérifier ses paramètres :
gcloud compute vpn-gateways describe on-prem-vpn-gw1 --region {{{ project_0.default_region | "Region" }}}

Le résultat devrait ressembler à ceci :

creationTimestamp: '2022-01-25T03:03:34.305-08:00' id: '3697047034868688873' kind: compute#vpnGateway labelFingerprint: 42WmSpB8rSM= name: on-prem-vpn-gw1 network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/on-prem region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}} selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/on-prem-vpn-gw1 vpnInterfaces: - id: 0 ipAddress: 35.242.106.234 - id: 1 ipAddress: 35.220.88.140

Créer des routeurs cloud

  1. Créez un routeur cloud dans le réseau vpc-demo :
gcloud compute routers create vpc-demo-router1 \ --region {{{ project_0.default_region | "REGION" }}} \ --network vpc-demo \ --asn 65001

Le résultat devrait ressembler à ceci :

Creating router [vpc-demo-router1]...done. NAME: vpc-demo-router1 REGION: {{{ project_0.default_region | "REGION" }}} NETWORK: vpc-demo
  1. Créez un routeur cloud dans le réseau on-prem :
gcloud compute routers create on-prem-router1 \ --region {{{ project_0.default_region | "REGION" }}} \ --network on-prem \ --asn 65002

Tâche 4 : créer deux tunnels VPN

Dans cette tâche, vous allez créer des tunnels VPN entre les deux passerelles. Pour configurer un VPN haute disponibilité, vous devez ajouter deux tunnels depuis chaque passerelle vers la configuration à distance. Créez un tunnel sur l'interface0 et connectez-le à l'interface0 sur la passerelle distante. Ensuite, créez un autre tunnel sur l'interface1 et connectez-le à l'interface1 sur la passerelle distante.

Lorsque vous exécutez des tunnels VPN haute disponibilité entre deux VPC Google Cloud, vous devez vous assurer que le tunnel de l'interface0 est connecté à l'interface0 sur la passerelle VPN distante. De même, le tunnel sur l'interface1 doit être connecté à l'interface1 sur la passerelle VPN distante.

Remarque : Dans votre propre environnement, si vous exécutez un VPN haute disponibilité vers une passerelle VPN distante sur site pour un client, vous pouvez mettre en place la connectivité en appliquant l'une des méthodes suivantes :

  • Deux passerelles VPN sur site : chacun des tunnels de chaque interface de la passerelle Cloud VPN doit être connecté à sa propre passerelle de pairs.
  • Une seule passerelle VPN sur site dotée de deux interfaces : chacun des tunnels de chaque interface de la passerelle Cloud VPN doit être connecté à sa propre interface sur la passerelle de pairs.
  • Une seule passerelle VPN sur site à une seule interface : les deux tunnels de chaque interface de la passerelle Cloud VPN doivent être connectés à la même interface sur la passerelle de pairs.

Dans cet atelier, vous allez simuler une configuration sur site avec les deux passerelles VPN dans Google Cloud. Assurez-vous que l'interface0 d'une passerelle se connecte à l'interface0 de l'autre passerelle, et que l'interface1 se connecte à l'interface1 de la passerelle distante.

  1. Créez le premier tunnel VPN dans le réseau vpc-demo :
gcloud compute vpn-tunnels create vpc-demo-tunnel0 \ --peer-gcp-gateway on-prem-vpn-gw1 \ --region {{{ project_0.default_region | "REGION" }}} \ --ike-version 2 \ --shared-secret [SHARED_SECRET] \ --router vpc-demo-router1 \ --vpn-gateway vpc-demo-vpn-gw1 \ --interface 0

Le résultat devrait ressembler à ceci :

Creating VPN tunnel...done. NAME: vpc-demo-tunnel0 REGION: {{{ project_0.default_region | "REGION" }}} GATEWAY: vpc-demo-vpn-gw1 VPN_INTERFACE: 0 PEER_ADDRESS: 35.242.106.234
  1. Créez le deuxième tunnel VPN dans le réseau vpc-demo :
gcloud compute vpn-tunnels create vpc-demo-tunnel1 \ --peer-gcp-gateway on-prem-vpn-gw1 \ --region {{{ project_0.default_region | "REGION" }}} \ --ike-version 2 \ --shared-secret [SHARED_SECRET] \ --router vpc-demo-router1 \ --vpn-gateway vpc-demo-vpn-gw1 \ --interface 1
  1. Créez le premier tunnel VPN dans le réseau on-prem :
gcloud compute vpn-tunnels create on-prem-tunnel0 \ --peer-gcp-gateway vpc-demo-vpn-gw1 \ --region {{{ project_0.default_region | "REGION" }}} \ --ike-version 2 \ --shared-secret [SHARED_SECRET] \ --router on-prem-router1 \ --vpn-gateway on-prem-vpn-gw1 \ --interface 0
  1. Créez le deuxième tunnel VPN dans le réseau on-prem :
gcloud compute vpn-tunnels create on-prem-tunnel1 \ --peer-gcp-gateway vpc-demo-vpn-gw1 \ --region {{{ project_0.default_region | "REGION" }}} \ --ike-version 2 \ --shared-secret [SHARED_SECRET] \ --router on-prem-router1 \ --vpn-gateway on-prem-vpn-gw1 \ --interface 1

Tâche 5 : créer un appairage BGP (Border Gateway Protocol) pour chaque tunnel

Dans cette tâche, vous allez configurer l'appairage BGP pour chaque tunnel VPN entre vpc-demo et le VPC on-prem. Les VPN haute disponibilité nécessitent un routage dynamique pour permettre une disponibilité de 99,99 %.

  1. Créez l'interface de routeur pour le tunnel tunnel0 dans le réseau vpc-demo :
gcloud compute routers add-interface vpc-demo-router1 \ --interface-name if-tunnel0-to-on-prem \ --ip-address 169.254.0.1 \ --mask-length 30 \ --vpn-tunnel vpc-demo-tunnel0 \ --region {{{ project_0.default_region | "REGION" }}}

Le résultat devrait ressembler à ceci :

Updated [https://www.googleapis.com/compute/v1/projects/binal-sandbox/regions/{{{ project_0.default_region | "REGION" }}}/routers/vpc-demo-router1].
  1. Créez le pair BGP pour le tunnel tunnel0 dans le réseau vpc-demo :
gcloud compute routers add-bgp-peer vpc-demo-router1 \ --peer-name bgp-on-prem-tunnel0 \ --interface if-tunnel0-to-on-prem \ --peer-ip-address 169.254.0.2 \ --peer-asn 65002 \ --region {{{ project_0.default_region | "REGION" }}}

Le résultat devrait ressembler à ceci :

Creating peer [bgp-on-prem-tunnel0] in router [vpc-demo-router1]...done.
  1. Créez une interface de routeur pour le tunnel tunnel1 dans le réseau vpc-demo :
gcloud compute routers add-interface vpc-demo-router1 \ --interface-name if-tunnel1-to-on-prem \ --ip-address 169.254.1.1 \ --mask-length 30 \ --vpn-tunnel vpc-demo-tunnel1 \ --region {{{ project_0.default_region | "REGION" }}}
  1. Créez le pair BGP pour le tunnel tunnel1 dans le réseau vpc-demo :
gcloud compute routers add-bgp-peer vpc-demo-router1 \ --peer-name bgp-on-prem-tunnel1 \ --interface if-tunnel1-to-on-prem \ --peer-ip-address 169.254.1.2 \ --peer-asn 65002 \ --region {{{ project_0.default_region | "REGION" }}}
  1. Créez une interface de routeur pour le tunnel tunnel0 dans le réseau on-prem :
gcloud compute routers add-interface on-prem-router1 \ --interface-name if-tunnel0-to-vpc-demo \ --ip-address 169.254.0.2 \ --mask-length 30 \ --vpn-tunnel on-prem-tunnel0 \ --region {{{ project_0.default_region | "REGION" }}}
  1. Créez le pair BGP pour le tunnel tunnel0 dans le réseau on-prem :
gcloud compute routers add-bgp-peer on-prem-router1 \ --peer-name bgp-vpc-demo-tunnel0 \ --interface if-tunnel0-to-vpc-demo \ --peer-ip-address 169.254.0.1 \ --peer-asn 65001 \ --region {{{ project_0.default_region | "REGION" }}}
  1. Créez une interface de routeur pour le tunnel tunnel1 dans le réseau on-prem :
gcloud compute routers add-interface on-prem-router1 \ --interface-name if-tunnel1-to-vpc-demo \ --ip-address 169.254.1.2 \ --mask-length 30 \ --vpn-tunnel on-prem-tunnel1 \ --region {{{ project_0.default_region | "REGION" }}}
  1. Créez le pair BGP pour le tunnel tunnel1 dans le réseau on-prem :
gcloud compute routers add-bgp-peer on-prem-router1 \ --peer-name bgp-vpc-demo-tunnel1 \ --interface if-tunnel1-to-vpc-demo \ --peer-ip-address 169.254.1.1 \ --peer-asn 65001 \ --region {{{ project_0.default_region | "REGION" }}}

Tâche 6 : vérifier les configurations des routeurs

Dans cette tâche, vous allez vérifier la configuration du routeur dans les deux VPC. Vous allez configurer, pour chaque VPC, des règles de pare-feu pour autoriser le trafic entre les VPC et vérifier l'état des tunnels. Vous allez également vérifier, pour chaque VPC, la connectivité privée via VPN entre les VPC et activer le mode de routage global pour le VPC.

  1. Affichez les détails du routeur Cloud vpc-demo-router1 afin de vérifier ses paramètres :
gcloud compute routers describe vpc-demo-router1 \ --region {{{ project_0.default_region | "REGION" }}}

Le résultat devrait ressembler à ceci :

bgp: advertiseMode: DEFAULT asn: 65001 keepaliveInterval: 20 bgpPeers: - bfd: minReceiveInterval: 1000 minTransmitInterval: 1000 multiplier: 5 sessionInitializationMode: DISABLED enable: 'TRUE' interfaceName: if-tunnel0-to-on-prem ipAddress: 169.254.0.1 name: bgp-on-prem-tunnel0 peerAsn: 65002 peerIpAddress: 169.254.0.2 - bfd: minReceiveInterval: 1000 minTransmitInterval: 1000 multiplier: 5 sessionInitializationMode: DISABLED enable: 'TRUE' interfaceName: if-tunnel1-to-on-prem ipAddress: 169.254.1.1 name: bgp-on-prem-tunnel1 peerAsn: 65002 peerIpAddress: 169.254.1.2 creationTimestamp: '2022-01-25T03:06:23.370-08:00' id: '2408056426544129856' interfaces: - ipRange: 169.254.0.1/30 linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/vpc-demo-tunnel0 name: if-tunnel0-to-on-prem - ipRange: 169.254.1.1/30 linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/vpc-demo-tunnel1 name: if-tunnel1-to-on-prem kind: compute#router name: vpc-demo-router1 network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/vpc-demo region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}} selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/routers/vpc-demo-router1
  1. Affichez les détails du routeur Cloud on-prem-router1 afin de vérifier ses paramètres :
gcloud compute routers describe on-prem-router1 \ --region {{{ project_0.default_region | "REGION" }}}

Le résultat devrait ressembler à ceci :

bgp: advertiseMode: DEFAULT asn: 65002 keepaliveInterval: 20 bgpPeers: - bfd: minReceiveInterval: 1000 minTransmitInterval: 1000 multiplier: 5 sessionInitializationMode: DISABLED enable: 'TRUE' interfaceName: if-tunnel0-to-vpc-demo ipAddress: 169.254.0.2 name: bgp-vpc-demo-tunnel0 peerAsn: 65001 peerIpAddress: 169.254.0.1 - bfd: minReceiveInterval: 1000 minTransmitInterval: 1000 multiplier: 5 sessionInitializationMode: DISABLED enable: 'TRUE' interfaceName: if-tunnel1-to-vpc-demo ipAddress: 169.254.1.2 name: bgp-vpc-demo-tunnel1 peerAsn: 65001 peerIpAddress: 169.254.1.1 creationTimestamp: '2022-01-25T03:07:40.360-08:00' id: '3252882979067946771' interfaces: - ipRange: 169.254.0.2/30 linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/on-prem-tunnel0 name: if-tunnel0-to-vpc-demo - ipRange: 169.254.1.2/30 linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/on-prem-tunnel1 name: if-tunnel1-to-vpc-demo kind: compute#router name: on-prem-router1 network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/on-prem region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}} selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/routers/on-prem-router1

Configurer des règles de pare-feu pour autoriser le trafic provenant du VPC distant

Configurez des règles de pare-feu afin d'autoriser le trafic provenant des plages d'adresses IP privées du VPN de pairs.

  1. Autorisez le trafic provenant du réseau VPC on-prem vers vpc-demo :
gcloud compute firewall-rules create vpc-demo-allow-subnets-from-on-prem \ --network vpc-demo \ --allow tcp,udp,icmp \ --source-ranges 192.168.1.0/24

Le résultat devrait ressembler à ceci :

Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/firewalls/vpc-demo-allow-subnets-from-on-prem]. Creating firewall...done. NAME: vpc-demo-allow-subnets-from-on-prem NETWORK: vpc-demo DIRECTION: INGRESS PRIORITY: 1000 ALLOW: tcp,udp,icmp DENY: DISABLED: False
  1. Autorisez le trafic de vpc-demo vers le réseau VPC on-prem :
gcloud compute firewall-rules create on-prem-allow-subnets-from-vpc-demo \ --network on-prem \ --allow tcp,udp,icmp \ --source-ranges 10.1.1.0/24,10.2.1.0/24

Vérifier l'état des tunnels

  1. Répertoriez les tunnels VPN que vous venez de créer :
gcloud compute vpn-tunnels list

Quatre tunnels VPN (deux tunnels pour chaque passerelle VPN) devraient être affichés. Le résultat devrait ressembler à ceci :

NAME: on-prem-tunnel0 REGION: {{{ project_0.default_region | "REGION" }}} GATEWAY: on-prem-vpn-gw1 PEER_ADDRESS: 35.242.117.95 NAME: on-prem-tunnel1 REGION: {{{ project_0.default_region | "REGION" }}} GATEWAY: on-prem-vpn-gw1 PEER_ADDRESS: 35.220.73.93 NAME: vpc-demo-tunnel0 REGION: {{{ project_0.default_region | "REGION" }}} GATEWAY: vpc-demo-vpn-gw1 PEER_ADDRESS: 35.242.106.234 NAME: vpc-demo-tunnel1 REGION: {{{ project_0.default_region | "REGION" }}} GATEWAY: vpc-demo-vpn-gw1 PEER_ADDRESS: 35.220.88.140
  1. Vérifiez que le tunnel vpc-demo-tunnel0 est opérationnel :
gcloud compute vpn-tunnels describe vpc-demo-tunnel0 \ --region {{{ project_0.default_region | "REGION" }}}

Le résultat renvoyé pour le tunnel doit indiquer l'état détaillé Tunnel is up and running (Le tunnel est opérationnel).

creationTimestamp: '2022-01-25T03:21:05.238-08:00' description: '' detailedStatus: Tunnel is up and running. id: '3268990180169769934' ikeVersion: 2 kind: compute#vpnTunnel labelFingerprint: 42WmSpB8rSM= localTrafficSelector: - 0.0.0.0/0 name: vpc-demo-tunnel0 peerGcpGateway: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/on-prem-vpn-gw1 peerIp: 35.242.106.234 region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}} remoteTrafficSelector: - 0.0.0.0/0 router: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/routers/vpc-demo-router1 selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/vpc-demo-tunnel0 sharedSecret: '*************' sharedSecretHash: AOs4oVY4bX91gba6DIeg1DbtzWTj status: ESTABLISHED vpnGateway: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/vpc-demo-vpn-gw1 vpnGatewayInterface: 0
  1. Vérifiez que le tunnel vpc-demo-tunnel1 est opérationnel :
gcloud compute vpn-tunnels describe vpc-demo-tunnel1 \ --region {{{ project_0.default_region | "REGION" }}}

Le résultat renvoyé pour le tunnel doit indiquer l'état détaillé Tunnel is up and running (Le tunnel est opérationnel).

  1. Vérifiez que le tunnel on-prem-tunnel0 est opérationnel :
gcloud compute vpn-tunnels describe on-prem-tunnel0 \ --region {{{ project_0.default_region | "REGION" }}}

Le résultat renvoyé pour le tunnel doit indiquer l'état détaillé Tunnel is up and running (Le tunnel est opérationnel).

  1. Vérifiez que le tunnel on-prem-tunnel1 est opérationnel :
gcloud compute vpn-tunnels describe on-prem-tunnel1 \ --region {{{ project_0.default_region | "REGION" }}}

Le résultat renvoyé pour le tunnel doit indiquer l'état détaillé Tunnel is up and running (Le tunnel est opérationnel).

Vérifier la connectivité privée via VPN

  1. Accédez à Compute Engine et notez la zone dans laquelle l'instance on-prem-instance1 a été créée.

  2. Ouvrez un nouvel onglet Cloud Shell et saisissez la commande ci-dessous pour vous connecter en SSH à l'instance on-prem-instance1 : remplacez <zone_name> par la zone dans laquelle l'instance on-prem-instance1 a été créée.

    gcloud compute ssh on-prem-instance1 --zone zone_name
  3. Saisissez "y" pour confirmer que vous souhaitez continuer.

  4. Appuyez deux fois sur Entrée pour passer l'étape de création d'un mot de passe.

  5. Pour atteindre les instances du réseau vpc-demo depuis l'instance on-prem-instance1 du réseau on-prem, pinguez l'adresse 10.1.1.2 :

ping -c 4 10.1.1.2

Les pings ont fonctionné. Le résultat devrait ressembler à ceci :

PING 10.1.1.2 (10.1.1.2) 56(84) bytes of data. 64 bytes from 10.1.1.2: icmp_seq=1 ttl=62 time=9.65 ms 64 bytes from 10.1.1.2: icmp_seq=2 ttl=62 time=2.01 ms 64 bytes from 10.1.1.2: icmp_seq=3 ttl=62 time=1.71 ms 64 bytes from 10.1.1.2: icmp_seq=4 ttl=62 time=1.77 ms --- 10.1.1.2 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 8ms rtt min/avg/max/mdev = 1.707/3.783/9.653/3.391 ms

Routage global avec VPN

Un VPN haute disponibilité consiste en une ressource régionale et un routeur cloud, lequel ne voit par défaut que les routes de la région dans laquelle il est déployé. Pour atteindre des instances situées dans une région différente de celle du routeur cloud, vous devez activer le mode de routage global pour le VPC. Cela permet au routeur cloud de voir et d'annoncer des routes provenant d'autres régions.

  1. Ouvrez un nouvel onglet Cloud Shell et remplacez la valeur du paramètre bgp-routing mode, soit vpc-demo, par GLOBAL :
gcloud compute networks update vpc-demo --bgp-routing-mode GLOBAL
  1. Vérifiez que la modification a bien eu lieu en exécutant la commande suivante :
gcloud compute networks describe vpc-demo

Le résultat devrait ressembler à ceci :

autoCreateSubnetworks: false creationTimestamp: '2022-01-25T02:52:58.553-08:00' id: '4735939730452146277' kind: compute#network name: vpc-demo routingConfig: routingMode: GLOBAL selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/global/networks/vpc-demo subnetworks: - https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/subnetworks/vpc-demo-subnet1 - https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/us-west1/subnetworks/vpc-demo-subnet2 x_gcloud_bgp_routing_mode: GLOBAL x_gcloud_subnet_mode: CUSTOM
  1. Dans l'onglet Cloud Shell actuellement connecté à l'instance du réseau on-prem via SSH, pinguez l'instance vpc-demo-instance2 de la région  :
ping -c 2 10.2.1.2

Les pings ont fonctionné. Le résultat devrait ressembler à ceci :

PING 10.2.1.2 (10.2.1.2) 56(84) bytes of data. 64 bytes from 10.2.1.2: icmp_seq=1 ttl=62 time=34.9 ms 64 bytes from 10.2.1.2: icmp_seq=2 ttl=62 time=32.2 ms --- 10.2.1.2 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 2ms rtt min/avg/max/mdev = 32.189/33.528/34.867/1.339 ms

Tâche 7 : vérifier et tester la configuration des tunnels VPN haute disponibilité

Dans cette tâche, vous allez tester la configuration de haute disponibilité de chaque tunnel VPN afin de vous assurer qu'elle fonctionne.

  1. Ouvrez un nouvel onglet Cloud Shell.

  2. Supprimez le tunnel tunnel0 dans le réseau vpc-demo :

gcloud compute vpn-tunnels delete vpc-demo-tunnel0 --region {{{ project_0.default_region | "REGION" }}}

Lorsque vous êtes invité à valider la suppression, répondez "y". Le tunnel tunnel0 du réseau on-prem est alors supprimé.

  1. Vérifiez que le tunnel est indisponible :
gcloud compute vpn-tunnels describe on-prem-tunnel0 --region {{{ project_0.default_region | "REGION" }}}

L'état détaillé doit afficher la mention Handshake_with_peer_broken (Handshake avec pair indisponible).

creationTimestamp: '2022-01-25T03:22:33.581-08:00' description: '' detailedStatus: Handshake with peer broken for unknown reason. Trying again soon. id: '4116279561430393750' ikeVersion: 2 kind: compute#vpnTunnel localTrafficSelector: - 0.0.0.0/0 name: on-prem-tunnel0 peerGcpGateway: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/vpc-demo-vpn-gw1 peerIp: 35.242.117.95 region: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}} remoteTrafficSelector: - 0.0.0.0/0 router: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/routers/on-prem-router1 selfLink: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnTunnels/on-prem-tunnel0 sharedSecret: '*************' sharedSecretHash: AO3jeFtewmjvTMO7JEM5RuyCtqaa status: FIRST_HANDSHAKE vpnGateway: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-cdb29e18d20d/regions/{{{ project_0.default_region | "REGION" }}}/vpnGateways/on-prem-vpn-gw1 vpnGatewayInterface: 0
  1. Rebasculez sur l'onglet Cloud Shell qui contient la session SSH en cours d'exécution et vérifiez les pings entre les instances des réseaux vpc-demo et on-prem :
ping -c 3 10.1.1.2

Le résultat devrait ressembler à ceci :

PING 10.1.1.2 (10.1.1.2) 56(84) bytes of data. 64 bytes from 10.1.1.2: icmp_seq=1 ttl=62 time=6.31 ms 64 bytes from 10.1.1.2: icmp_seq=2 ttl=62 time=1.13 ms 64 bytes from 10.1.1.2: icmp_seq=3 ttl=62 time=1.20 ms --- 10.1.1.2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 5ms rtt min/avg/max/mdev = 1.132/2.882/6.312/2.425 ms

Les pings fonctionnent encore, car le trafic est désormais envoyé via le deuxième tunnel. Les tunnels VPN haute disponibilité ont été correctement configurés.

Tâche 8 : nettoyer l'environnement de l'atelier (facultatif)

Dans cette tâche, vous allez nettoyer les ressources que vous avez utilisées. Cette étape est facultative. Toutes vos ressources et votre projet sont nettoyés et supprimés automatiquement à l'issue de l'atelier. Cependant, vous devez savoir comment nettoyer les ressources vous-même dans votre environnement pour réduire les coûts et l'utilisation des ressources.

Supprimer les tunnels VPN

  • Dans Cloud Shell, saisissez les commandes suivantes afin de supprimer les tunnels restants. Saisissez "y" pour confirmer chaque action lorsque vous y êtes invité :
gcloud compute vpn-tunnels delete on-prem-tunnel0 --region {{{ project_0.default_region | "REGION" }}} gcloud compute vpn-tunnels delete vpc-demo-tunnel1 --region {{{ project_0.default_region | "REGION" }}} gcloud compute vpn-tunnels delete on-prem-tunnel1 --region {{{ project_0.default_region | "REGION" }}}

Supprimer l'appairage BGP

  • Saisissez les commandes suivantes depuis chaque pair BGP afin de supprimer l'appairage :
gcloud compute routers remove-bgp-peer vpc-demo-router1 --peer-name bgp-on-prem-tunnel0 --region {{{ project_0.default_region | "REGION" }}} gcloud compute routers remove-bgp-peer vpc-demo-router1 --peer-name bgp-on-prem-tunnel1 --region {{{ project_0.default_region | "REGION" }}} gcloud compute routers remove-bgp-peer on-prem-router1 --peer-name bgp-vpc-demo-tunnel0 --region {{{ project_0.default_region | "REGION" }}} gcloud compute routers remove-bgp-peer on-prem-router1 --peer-name bgp-vpc-demo-tunnel1 --region {{{ project_0.default_region | "REGION" }}}

Supprimer les routeurs cloud

  • Saisissez chaque commande afin de supprimer les routeurs. Saisissez "y" pour confirmer chaque action lorsque vous y êtes invité :
gcloud compute routers delete on-prem-router1 --region {{{ project_0.default_region | "REGION" }}} gcloud compute routers delete vpc-demo-router1 --region {{{ project_0.default_region | "REGION" }}}

Supprimer les passerelles VPN

  • Saisissez chaque commande afin de supprimer les passerelles VPN. Saisissez "y" pour confirmer chaque action lorsque vous y êtes invité :
gcloud compute vpn-gateways delete vpc-demo-vpn-gw1 --region {{{ project_0.default_region | "REGION" }}} gcloud compute vpn-gateways delete on-prem-vpn-gw1 --region {{{ project_0.default_region | "REGION" }}}

Supprimer les instances

  • Saisissez les commandes suivantes afin de supprimer chaque instance. Saisissez "y" pour confirmer chaque action lorsque vous y êtes invité :
gcloud compute instances delete vpc-demo-instance1 --zone {{{ project_0.default_zone | "ZONE" }}} gcloud compute instances delete vpc-demo-instance2 --zone {{{project_0.default_zone_2 | "ZONE"}}} gcloud compute instances delete on-prem-instance1 --zone zone_name REMARQUE : Remplacez par la zone dans laquelle l'instance on-prem-instance1 a été créée.

Supprimer les règles de pare-feu

  • Saisissez les commandes suivantes afin de supprimer les règles de pare-feu. Saisissez "y" pour confirmer chaque action lorsque vous y êtes invité :
gcloud compute firewall-rules delete vpc-demo-allow-custom gcloud compute firewall-rules delete on-prem-allow-subnets-from-vpc-demo gcloud compute firewall-rules delete on-prem-allow-ssh-icmp gcloud compute firewall-rules delete on-prem-allow-custom gcloud compute firewall-rules delete vpc-demo-allow-subnets-from-on-prem gcloud compute firewall-rules delete vpc-demo-allow-ssh-icmp

Supprimer les sous-réseaux

  • Saisissez les commandes suivantes afin de supprimer les sous-réseaux. Saisissez "y" pour confirmer chaque action lorsque vous y êtes invité :
gcloud compute networks subnets delete vpc-demo-subnet1 --region {{{ project_0.default_region | "REGION" }}} gcloud compute networks subnets delete vpc-demo-subnet2 --region {{{project_0.default_region_2 | REGION 2}}} gcloud compute networks subnets delete on-prem-subnet1 --region {{{ project_0.default_region | "REGION" }}}

Supprimer les VPC

  • Saisissez les commandes suivantes afin de supprimer les VPC. Saisissez "y" pour confirmer chaque action lorsque vous y êtes invité :
gcloud compute networks delete vpc-demo gcloud compute networks delete on-prem

Tâche 9 : récapitulatif

Dans cet atelier, vous avez configuré des passerelles VPN haute disponibilité. Vous avez également configuré le routage dynamique avec des tunnels VPN ainsi que le mode de routage dynamique global. Enfin, vous avez vérifié que le VPN haute disponibilité est configuré et fonctionne correctement.

Terminer l'atelier

Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Google Cloud Skills Boost supprime les ressources que vous avez utilisées, puis efface le compte.

Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.

Le nombre d'étoiles correspond à votre degré de satisfaction :

  • 1 étoile = très insatisfait(e)
  • 2 étoiles = insatisfait(e)
  • 3 étoiles = ni insatisfait(e), ni satisfait(e)
  • 4 étoiles = satisfait(e)
  • 5 étoiles = très satisfait(e)

Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.

Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.

Copyright 2020 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

Ce contenu n'est pas disponible pour le moment

Nous vous préviendrons par e-mail lorsqu'il sera disponible

Parfait !

Nous vous contacterons par e-mail s'il devient disponible

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.