Dans ce tutoriel, nous partons du principe que vous maîtrisez les concepts de base des réseaux de cloud privé virtuel (VPC), du protocole BGP (Border Gateway Protocol), des réseaux privés virtuels (VPN) et des tunnels IPsec.
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 les environnements sur site ou sur AWS via une connexion VPN IPsec. Les VPN haute disponibilité fournissent un contrat de niveau de service garantissant une disponibilité de 99,99%, lorsqu'ils sont configurés conformément aux bonnes pratiques de Google. Pour en savoir plus, consultez le contrat de niveau de service (SLA) de Cloud VPN.
Présentation de l'architecture
L'architecture décrite sur cette page 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, chacune avec ses propres adresses IP externes : interface 0 et 1.
- Tunnels VPN : connexions de la passerelle VPN haute disponibilité à la passerelle VPN de pairs sur AWS, à travers laquelle circule le trafic chiffré.
- Passerelle VPN de pairs : deux points de terminaison VPN de site à site AWS pouvant être fournis par une passerelle virtuelle privée AWS ou d'une passerelle de transit AWS. Pour plus d'informations, consultez la page Qu'est-ce que le VPN site à site d'AWS ?
Chacune des connexions de passerelle VPN de pairs comporte deux tunnels préconfigurés pour pointer vers une seule passerelle client, qui est ici une interface VPN haute disponibilité Google Cloud. Avec cette configuration, le nombre minimal de tunnels pour atteindre la disponibilité de 99,99% garantie par le contrat de niveau de service est de quatre.
Les options de routage et la bande passante combinée sur les tunnels VPN varient en fonction de l'option de VPN site à site côté AWS :
Passerelle de transit : si vous créez la passerelle de transit AWS sans préférence BGP, le protocole ECMP répartit le trafic de manière égale entre les tunnels actifs.
Pour utiliser la connectivité VPN sur plusieurs réseaux cloud privé virtuel Google, utilisez un réseau VPC de connectivité pour procéder au scaling d'une architecture en étoile avec plusieurs réseaux VPC.
Pour en savoir plus sur les passerelles de transit AWS, consultez la page Qu'est-ce qu'une passerelle de transit VPC Amazon ?.
Passerelle réseau privé virtuel : si vous utilisez une passerelle réseau privé virtuel AWS, un seul tunnel pour l'ensemble des connexions de la passerelle est sélectionné. Pour utiliser plusieurs tunnels, utilisez plutôt une passerelle de transit AWS afin que le protocole ECMP (Equal-Cost Multi-Path) soit disponible.
Pour en savoir plus sur la priorité des routes VPN avec AWS, consultez les options de routage de VPN site à site.
Pour en savoir plus sur les passerelles réseau privé virtuel AWS, consultez la section Options de tunnel pour votre connexion VPN site à site.
Le diagramme suivant montre l'architecture.
Objectifs
- Créer un réseau VPC sur Google Cloud.
- Créer une passerelle VPN haute disponibilité et un routeur Cloud sur Google Cloud.
- Créer des passerelles client sur AWS.
- Créer une connexion VPN avec routage dynamique sur AWS.
- Créer une passerelle VPN externe et des tunnels VPN sur Google Cloud.
- Vérifier et tester la connexion VPN entre les réseaux VPC sur Google Cloud et AWS.
Exemple de module Terraform
Vous pouvez utiliser le module gcp-to-aws-ha-vpn-terraform-module
pour provisionner un VPN haute disponibilité entre Google Cloud et AWS.
Coûts
Ce tutoriel utilise des composants facturables de Google Cloud, y compris :
Pour obtenir une estimation des coûts pour les composants Google Cloud, utilisez le simulateur de coût Google Cloud.
Ce tutoriel utilise des composants facturables d'Amazon Web Services, y compris :
- Passerelle de transit AWS
- VPN de site à site AWS
Pour obtenir une estimation des coûts des composants AWS, utilisez le simulateur de coût AWS.
Avant de commencer
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
-
In the Google Cloud console, activate Cloud Shell.
-
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.
- Administrateur réseau :
Créer la passerelle VPN haute disponibilité et le routeur Cloud sur Google Cloud
Dans cette section, vous allez créer un réseau VPC, une passerelle VPN haute disponibilité et un routeur Cloud sur Google Cloud.
Dans Cloud Shell, assurez-vous que vous travaillez dans le projet Google 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 Google Cloud.Pour créer un réseau VPC personnalisé avec un seul sous-réseau, utilisez la commande
gcloud compute networks create
:gcloud compute networks create NETWORK \ --subnet-mode SUBNET_MODE \ --bgp-routing-mode BGP_ROUTING_MODE
Remplacez les éléments suivants :
NETWORK
: nom du réseauSUBNET_MODE
: mode de sous-réseauBGP_ROUTING_MODE
: mode de routage BGP
Par exemple, la commande suivante crée un réseau VPC personnalisé nommé
gc-vpc
avec un seul sous-réseau:gcloud compute networks create gc-vpc \ --subnet-mode custom \ --bgp-routing-mode global
Pour créer un sous-réseau pour héberger les VM de test, utilisez la commande
gcloud compute networks subnets create
:gcloud compute networks subnets create SUBNET_NAME \ --network NETWORK \ --region SUBNET_REGION \ --range IP_ADDRESS_RANGE
Remplacez les éléments suivants :
SUBNET_NAME
: nom du sous-réseauSUBNET_REGION
: région dans laquelle créer le sous-réseauIP_ADDRESS_RANGE
: plage d'adresses IP du sous-réseauPar exemple, la commande suivante crée un sous-réseau nommé
subnet-east4
dans le réseau VPCgc-vpc
.
gcloud compute networks subnets create subnet-east4 \ --network gc-vpc \ --region us-east4 \ --range 10.1.1.0/24
Pour créer une passerelle VPN haute disponibilité, utilisez la commande
gcloud compute vpn-gateways create
: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é.Pour créer un routeur Cloud Router, utilisez la commande
gcloud compute routers create
:gcloud compute routers create ROUTER_NAME \ --region REGION \ --network NETWORK \ --asn GOOGLE_ASN \ --advertisement-mode custom \ --set-advertisement-groups all_subnets
Remplacez les éléments suivants :
ROUTER_NAME
: nom de votre routeur Cloud RouterGOOGLE_ASN
: numéro ASN privé pour le routeur cloud que vous créez. Il peut s'agir de n'importe quel numéro ASN privé compris dans les plages64512-65534
ou4200000000-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.
Par exemple, la commande suivante crée un routeur Cloud Router nommé
cloud-router
.gcloud compute routers create cloud-router \ --region us-east4 \ --network gc-vpc \ --asn 65534 \ --advertisement-mode custom \ --set-advertisement-groups all_subnets
Pour créer une passerelle VPN avec deux interfaces, notez les adresses IP externes. Vous aurez besoin de ces adresses lorsque vous configurerez votre environnement côté AWS.
Créer des passerelles et des connexions VPN sur AWS
Dans cette section, vous allez créer des passerelles client, une passerelle cible et des connexions VPN avec routage dynamique.
Vous exécutez des commandes AWS à l'aide de l'interface de ligne de commande AWS.
Pour créer deux passerelles client à l'aide de la commande AWS suivante, utilisez la commande AWS CLI
create-customer-gateway
:aws ec2 create-customer-gateway --type ipsec.1 --public-ip INTERFACE_0_IP_ADDRESS --bgp-asn GOOGLE_ASN aws ec2 create-customer-gateway --type ipsec.1 --public-ip INTERFACE_1_IP_ADDRESS --bgp-asn GOOGLE_ASN
Remplacez
INTERFACE_0_IP_ADDRESS
etINTERFACE_1_IP_ADDRESS
par les adresses IP externes de l'étape finale de la section précédente.Pour créer une passerelle cible et l'associer à votre VPC Amazon, procédez comme suit:
La passerelle cible peut être une passerelle réseau privé virtuel ou une passerelle de transit. Pour en savoir plus, consultez la section Créer une passerelle cible.
Passerelle réseau privé virtuel
Créez une passerelle réseau privé virtuel avec un numéro ASN AWS spécifique à l'aide de la commande AWS CLI
create-vpn-gateway
:aws ec2 create-vpn-gateway --type ipsec.1 --amazon-side-asn AWS_SIDE_ASN
Remplacez
AWS_SIDE_ASN
par le numéro ASN côté AWS.Cette commande doit ressembler à l'exemple suivant :
aws ec2 create-vpn-gateway --type ipsec.1 --amazon-side-asn 65001
Associez la passerelle réseau privé virtuel à votre réseau VPC à l'aide de la commande
attach-vpn-gateway
de l'AWS CLI:aws ec2 attach-vpn-gateway --vpn-gateway-id VPN_GATEWAY_ID --vpc-id VPC_ID
Passerelle de transit
Créez une passerelle de transit à l'aide de la commande AWS CLI
create-transit-gateway
:aws ec2 create-transit-gateway --description TRANSIT_GATEWAY_DESCRIPTION \ --options=AmazonSideAsn=65001,AutoAcceptSharedAttachments=enable,DefaultRouteTableAssociation=enable,DefaultRouteTablePropagation=enable,VpnEcmpSupport=enable,DnsSupport=enable
Remplacez
TRANSIT_GATEWAY_DESCRIPTION
par une description de votre passerelle de transit.Associez votre réseau VPC à la passerelle de transit à l'aide de la commande
create-transit-gateway-vpc-attachment
de la CLI AWS:aws ec2 create-transit-gateway-vpc-attachment \ --transit-gateway-id TRANSIT_GATEWAY_ID \ --vpc-id VPC_ID \ --subnet-ids "SUBNET_ID"
Remplacez les éléments suivants :
TRANSIT_GATEWAY_ID
: ID de la passerelle de transitVPC_ID
: ID du VPCSUBNET_ID
: ID d'un ou de plusieurs sous-réseaux
Pour créer une connexion VPN avec routage dynamique, procédez comme suit:
La méthode de création d'une connexion VPN avec routage dynamique diffère selon que votre passerelle cible est une passerelle réseau privé virtuel ou une passerelle de transit. Pour en savoir plus, consultez la section Créer une connexion VPN.
Passerelle réseau privé virtuel
Créez une connexion VPN avec routage dynamique entre la passerelle réseau privé virtuel et la passerelle client, puis appliquez des tags à la connexion VPN :
aws ec2 create-vpn-connection \ --type ipsec.1 \ --customer-gateway-id CUSTOMER_GATEWAY_1 \ --vpn-gateway-id VPN_GATEWAY_ID \ --options TunnelOptions='[{TunnelInsideCidr=AWS_T1_IP,PreSharedKey=SHARED_SECRET_1},{TunnelInsideCidr=AWS_T2_IP,PreSharedKey=SHARED_SECRET_2}]' aws ec2 create-vpn-connection \ --type ipsec.1 \ --customer-gateway-id CUSTOMER_GATEWAY_2 \ --vpn-gateway-id VPN_GATEWAY_ID \ --options TunnelOptions='[{TunnelInsideCidr=AWS_T3_IP,PreSharedKey=SHARED_SECRET_3},{TunnelInsideCidr=AWS_T4_IP,PreSharedKey=SHARED_SECRET_4}]'
Remplacez les éléments suivants :
CUSTOMER_GATEWAY_1
: passerelle Google Cloud VPN, interface 0CUSTOMER_GATEWAY_2
: passerelle Google Cloud VPN, interface 1AWS_T1_IP
: adresse IP interne pour la passerelle réseau privé virtuel pour la connexion 1, tunnel 1AWS_T2_IP
: adresse IP interne de la passerelle réseau privé virtuel pour la connexion 1, tunnel 2AWS_T3_IP
: adresse IP interne pour la passerelle réseau privé virtuel pour la connexion 2, tunnel 1AWS_T4_IP
: adresse IP interne de la passerelle réseau privé virtuel pour la connexion 2, tunnel 2SHARED_SECRET_1
: clé prépartagée pour la connexion 1, tunnel 1SHARED_SECRET_2
: clé prépartagée pour la connexion 1, tunnel 2SHARED_SECRET_3
: clé prépartagée pour la connexion 2, tunnel 1SHARED_SECRET_4
: clé prépartagée pour la connexion 2, tunnel 2
Passerelle de transit
Créez une connexion VPN avec routage dynamique entre la passerelle de transit et les passerelles client :
aws ec2 create-vpn-connection \ --type ipsec.1 \ --customer-gateway-id CUSTOMER_GATEWAY_1 \ --transit-gateway-id TRANSIT_GATEWAY_ID \ --options TunnelOptions='[{TunnelInsideCidr=AWS_T1_IP,PreSharedKey=SHARED_SECRET_1},{TunnelInsideCidr=AWS_T2_IP,PreSharedKey=SHARED_SECRET_2}]' aws ec2 create-vpn-connection \ --type ipsec.1 \ --customer-gateway-id CUSTOMER_GATEWAY_2 \ --transit-gateway-id TRANSIT_GATEWAY_ID \ --options TunnelOptions='[{TunnelInsideCidr=AWS_T3_IP,PreSharedKey=SHARED_SECRET_3},{TunnelInsideCidr=AWS_T4_IP,PreSharedKey=SHARED_SECRET_4}]'
Remplacez l'élément suivant :
CUSTOMER_GATEWAY_1
: passerelle Google Cloud VPN, interface 0CUSTOMER_GATEWAY_2
: passerelle Google Cloud VPN, interface 1TRANSIT_GATEWAY_ID
: ID de la passerelle de transit associée à la connexion VPNAWS_T1_IP
: adresse IP interne pour la passerelle réseau privé virtuel pour la connexion 1, tunnel 1AWS_T2_IP
: adresse IP interne de la passerelle réseau privé virtuel pour la connexion 1, tunnel 2AWS_T3_IP
: adresse IP interne pour la passerelle réseau privé virtuel pour la connexion 2, tunnel 1AWS_T4_IP
: adresse IP interne de la passerelle réseau privé virtuel pour la connexion 2, tunnel 2SHARED_SECRET_1
: clé prépartagée pour la connexion 1, tunnel 1SHARED_SECRET_2
: clé prépartagée pour la connexion 1, tunnel 2SHARED_SECRET_3
: clé prépartagée pour la connexion 2, tunnel 1SHARED_SECRET_4
: clé prépartagée pour la connexion 2, tunnel 2CUSTOMER_GATEWAY_1
: passerelle Google Cloud VPN, interface 0CUSTOMER_GATEWAY_2
: passerelle Google Cloud VPN, interface 1TRANSIT_GATEWAY_ID
: ID de la passerelle de transit associée à la connexion VPNAWS_T1_IP
: adresse IP interne pour la passerelle réseau privé virtuel pour la connexion 1, tunnel 1AWS_T2_IP
: adresse IP interne de la passerelle réseau privé virtuel pour la connexion 1, tunnel 2AWS_T3_IP
: adresse IP interne pour la passerelle réseau privé virtuel pour la connexion 2, tunnel 1AWS_T4_IP
: adresse IP interne de la passerelle réseau privé virtuel pour la connexion 2, tunnel 2SHARED_SECRET_1
: clé prépartagée pour la connexion 1, tunnel 1SHARED_SECRET_2
: clé prépartagée pour la connexion 1, tunnel 2SHARED_SECRET_3
: clé prépartagée pour la connexion 2, tunnel 1SHARED_SECRET_4
: clé prépartagée pour la connexion 2, tunnel 2
AWS réserve certaines plages CIDR. Vous ne pouvez donc pas utiliser les valeurs de ces plages en tant qu'adresses IP internes (
AWS_T1_IP
,AWS_T2_IP
,AWS_T3_IP
,AWS_T4_IP
). Pour en savoir plus sur les blocs CIDR réservés par AWS, consultez la page Options de tunnel pour votre connexion VPN site à site.Ces commandes créent quatre tunnels vers Google Cloud.
Téléchargez les fichiers de configuration pour les deux connexions VPN.
Dans les étapes suivantes, vous allez utiliser les valeurs du fichier de configuration que vous avez téléchargé pour créer et configurer des ressources côté Google Cloud.
Créer des tunnels VPN et des interfaces Cloud Router sur Google Cloud
Dans cette section, vous allez utiliser les informations de la connexion VPN AWS que vous avez créée à la section précédente pour créer une passerelle VPN externe, des tunnels VPN et des interfaces Cloud Router dans Google Cloud.
Lorsque vous configurez des tunnels Cloud VPN vers AWS, vous devez utiliser le protocole IKEv2 et ne sélectionner qu'un seul ensemble de chiffrement IKE pour vous assurer que le tunnel est correctement établi. Par exemple, sélectionnez un algorithme de chiffrement, un algorithme d'intégrité et un groupe Diffie-Hellman (DH) de phase 1 et de phase 2. Les ensembles de transformation AWS par défaut créent une charge utile association de sécurité (SA) importante, ce qui peut entraîner la fragmentation IP des paquets IKE. Cloud VPN n'est pas compatible avec les paquets IKE fragmentés.
Dans Cloud Shell, créez une passerelle VPN externe avec quatre interfaces pour les adresses IP externes AWS.
Avant de créer la passerelle VPN externe, vérifiez que les adresses IP externes AWS correspondent aux valeurs du fichier de configuration que vous avez téléchargé. Vous ne pourrez plus modifier ces adresses IP une fois la passerelle VPN externe créée. Si les adresses ne correspondent pas, la connexion du tunnel VPN haute disponibilité ne peut pas être établie.
gcloud compute external-vpn-gateways create PEER_GATEWAY_NAME --interfaces \ 0=AWS_GW_IP_1,1=AWS_GW_IP_2,2=AWS_GW_IP_3,3=AWS_GW_IP_4
Remplacez les éléments suivants :
AWS_GW_IP_1
: adresse IP externe de la passerelle réseau privé virtuel pour la connexion 1, tunnel 1AWS_GW_IP_2
: adresse IP externe de la passerelle réseau privé virtuel pour la connexion 1, tunnel 2AWS_GW_IP_3
: adresse IP externe de la passerelle réseau privé virtuel pour la connexion 2, tunnel 1AWS_GW_IP_4
: adresse IP externe de la passerelle réseau privé virtuel pour la connexion 2, tunnel 2
Créez quatre tunnels VPN.
Tunnel 1 :
gcloud compute vpn-tunnels create tunnel-1 \ --peer-external-gateway PEER_GATEWAY_NAME \ --peer-external-gateway-interface 0 \ --region REGION \ --ike-version 2 \ --shared-secret SHARED_SECRET_1 \ --router ROUTER_NAME \ --vpn-gateway HA_VPN_GATEWAY_NAME \ --interface 0
Tunnel 2 :
gcloud compute vpn-tunnels create tunnel-2 \ --peer-external-gateway PEER_GATEWAY_NAME \ --peer-external-gateway-interface 1 \ --region REGION \ --ike-version 2 \ --shared-secret SHARED_SECRET_2 \ --router ROUTER_NAME \ --vpn-gateway HA_VPN_GATEWAY_NAME \ --interface 0
Tunnel 3 :
gcloud compute vpn-tunnels create tunnel-3 \ --peer-external-gateway PEER_GATEWAY_NAME \ --peer-external-gateway-interface 2 \ --region REGION \ --ike-version 2 \ --shared-secret SHARED_SECRET_3 \ --router ROUTER_NAME \ --vpn-gateway HA_VPN_GATEWAY_NAME \ --interface 1
Tunnel 4 :
gcloud compute vpn-tunnels create tunnel-4 \ --peer-external-gateway PEER_GATEWAY_NAME \ --peer-external-gateway-interface 3 \ --region REGION \ --ike-version 2 \ --shared-secret SHARED_SECRET_4 \ --router ROUTER_NAME \ --vpn-gateway HA_VPN_GATEWAY_NAME \ --interface 1
Remplacez les éléments suivants :
PEER_GATEWAY_NAME
: nom de la passerelle de pairs externe que vous avez créée à l'étape 1REGION
: région Google Cloud dans laquelle vous créez le tunnelSHARED_SECRET
: votre clé pré-partagée (PSK), qui doit correspondre à la clé pré-partagée du tunnel partenaire que vous créez sur votre passerelle de pairs. Pour générer une clé pré-partagée sécurisée, consultez la section Générer une clé pré-partagée sécurisée.ROUTER_NAME
: nom de la passerelle Cloud Router que vous avez créée dans la section Créer la passerelle VPN haute disponibilité et le routeur Cloud sur Google Cloud.HA_VPN_GATEWAY_NAME
: nom de la passerelle VPN haute disponibilité que vous avez créée dans la section Créer la passerelle VPN haute disponibilité et Cloud Router sur Google Cloud.
Créez quatre interfaces Cloud Router.
Dans les commandes suivantes, remplacez chaque espace réservé
GOOGLE_BGP_IP_TUNNEL
par l'adresse IP interne du tunnel côté Google Cloud. Les valeurs des fichiers de configuration VPN d'AWS sont utilisables en tant qu'adresses de passerelle client pour chaque tunnel. Chacune de ces adresses doit se trouver dans la plage CIDR/30
de la plage réseau169.254.0.0/16
.Interface Cloud Router 1 :
gcloud compute routers add-interface ROUTER_NAME \ --interface-name int-1 \ --vpn-tunnel tunnel-1 \ --ip-address GOOGLE_BGP_IP_TUNNEL_1 \ --mask-length 30 \ --region REGION
Interface Cloud Router 2 :
gcloud compute routers add-interface ROUTER_NAME \ --interface-name int-2 \ --vpn-tunnel tunnel-2 \ --ip-address GOOGLE_BGP_IP_TUNNEL_2 \ --mask-length 30 \ --region REGION
Interface Cloud Router 3 :
gcloud compute routers add-interface ROUTER_NAME \ --interface-name int-3 \ --vpn-tunnel tunnel-3 \ --ip-address GOOGLE_BGP_IP_TUNNEL_3 \ --mask-length 30 \ --region REGION
Interface Cloud Router 4 :
gcloud compute routers add-interface ROUTER_NAME \ --interface-name int-4 \ --vpn-tunnel tunnel-4 \ --ip-address GOOGLE_BGP_IP_TUNNEL_4 \ --mask-length 30 \ --region REGION
Ajoutez des pairs BGP.
Dans les commandes suivantes, remplacez
PEER_ASN
par le numéro ASN pour la partie AWS de la session BGP.Connexion AWS 1, tunnel 1:
gcloud compute routers add-bgp-peer ROUTER_NAME \ --peer-name aws-conn1-tunn1 \ --peer-asn PEER_ASN \ --interface int-1 \ --peer-ip-address AWS_T1_IP \ --region REGION
Connexion AWS 1, tunnel 2:
gcloud compute routers add-bgp-peer ROUTER_NAME \ --peer-name aws-conn1-tunn2 \ --peer-asn PEER_ASN \ --interface int-2 \ --peer-ip-address AWS_T2_IP \ --region REGION
Connexion AWS 2, tunnel 1:
gcloud compute routers add-bgp-peer ROUTER_NAME \ --peer-name aws-conn2-tunn1 \ --peer-asn PEER_ASN \ --interface int-3 \ --peer-ip-address AWS_T3_IP \ --region REGION
Connexion AWS 2, tunnel 2:
gcloud compute routers add-bgp-peer ROUTER_NAME \ --peer-name aws-conn2-tunn2 \ --peer-asn PEER_ASN \ --interface int-4 \ --peer-ip-address AWS_T4_IP \ --region REGION
Vérifier la configuration
Dans Cloud Shell, vérifiez l'état de Cloud Router :
gcloud compute routers get-status ROUTER_NAME \ --region REGION \ --format='flattened(result.bgpPeerStatus[].name, result.bgpPeerStatus[].ipAddress, result.bgpPeerStatus[].peerIpAddress)'
Le résultat ressemble à ce qui suit :
result.bgpPeerStatus[].peerIpAddress)' result.bgpPeerStatus[0].ipAddress: 169.254.171.18 result.bgpPeerStatus[0].name: aws-conn1-tunn1 result.bgpPeerStatus[0].peerIpAddress: 169.254.171.17 result.bgpPeerStatus[1].ipAddress: 169.254.156.154 result.bgpPeerStatus[1].name: aws-conn1-tunn2 result.bgpPeerStatus[1].peerIpAddress: 169.254.156.153 result.bgpPeerStatus[2].ipAddress: 169.254.123.38 result.bgpPeerStatus[2].name: aws-conn2-tunn1 result.bgpPeerStatus[2].peerIpAddress: 169.254.123.37 result.bgpPeerStatus[3].ipAddress: 169.254.48.186 result.bgpPeerStatus[3].name: aws-conn2-tunn2 result.bgpPeerStatus[3].peerIpAddress: 169.254.48.185
Répertoriez tous les tunnels :
gcloud compute vpn-tunnels list
Le résultat ressemble à ce qui suit :
NAME REGION GATEWAY PEER_ADDRESS tunnel-1 us-east4 ha-vpn-gw 34.205.x.x tunnel-2 us-east4 ha-vpn-gw 52.203.x.x tunnel-3 us-east4 ha-vpn-gw 3.208.x.x tunnel-4 us-east4 ha-vpn-gw 52.204.x.x
Vérifiez l'état du tunnel :
gcloud compute vpn-tunnels describe tunnel-1 \ --region REGION \ --format='flattened(status,detailedStatus)'
Le résultat ressemble à ce qui suit :
detailed_status: Tunnel is up and running. status: ESTABLISHED
Répertoriez les routes dynamiques apprises par Cloud Router :
gcloud compute routers get-status ROUTER_NAME \ --region REGION \ --format="flattened(result.bestRoutes)"
Le résultat ressemble à ce qui suit :
result.bestRoutes[0].creationTimestamp: 2021-01-19T20:42:07.366-08:00 result.bestRoutes[0].destRange: 10.2.2.0/24 result.bestRoutes[0].kind: compute#route result.bestRoutes[0].nextHopIp: 169.254.171.17 result.bestRoutes[0].priority: 100 result.bestRoutes[1].creationTimestamp: 2021-01-19T20:42:07.366-08:00 result.bestRoutes[1].destRange: 10.2.2.0/24 result.bestRoutes[1].kind: compute#route result.bestRoutes[1].nextHopIp: 169.254.156.153 result.bestRoutes[1].priority: 100 result.bestRoutes[2].creationTimestamp: 2021-01-19T20:56:26.588-08:00 result.bestRoutes[2].destRange: 10.2.2.0/24 result.bestRoutes[2].kind: compute#route result.bestRoutes[2].nextHopIp: 169.254.123.37 result.bestRoutes[2].priority: 100 result.bestRoutes[3].creationTimestamp: 2021-01-19T20:56:26.588-08:00 result.bestRoutes[3].destRange: 10.2.2.0/24 result.bestRoutes[3].kind: compute#route result.bestRoutes[3].nextHopIp: 169.254.48.185 result.bestRoutes[3].priority: 100
Tester la connexion VPN
Créez des VM de test de chaque côté des tunnels afin de tester les requêtes ping.
Assurez-vous que des règles de pare-feu VPC sont en place pour autoriser le trafic ICMP.
Pour savoir comment créer des VM Compute Engine, consultez la section Créer et démarrer une instance Compute Engine.
Pour savoir comment créer des instances EC2 sur AWS, consultez la section Lancer une instance Amazon EC2.
Testez la connexion à l'aide de la commande
ping
.- Si le test
ping
échoue, consultez les journaux dans Google Cloud et les journaux du VPN de site à site AWS. Les messages d'erreur dans les journaux peuvent vous aider à identifier le problème. Pour résoudre les problèmes liés à votre connexion VPN, consultez les ressources suivantes :
- Si le test
Mesurez la bande passante entre vos machines de test à l'aide de iperf.
Côté serveur :
iperf3 -s
Côté client :
iperf3 -c SERVER_IP_ADDRESS -P NUMBER_OF_PARALLEL_SESSIONS
Effectuer un nettoyage
Supprimez les ressources Google Cloud et AWS 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 :
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Supprimer les ressources AWS
- Supprimer une connexion VPN site à site
- Supprimez la passerelle de transit.
- Arrêter des instances Amazon EC2
Étape suivante
- Obtenez plus d'informations sur Google Cloud VPN.
- Découvrez les bonnes pratiques et architectures de référence pour la conception de VPC.