Questo tutorial presuppone che tu abbia familiarità con i concetti di base delle reti Virtual Private Cloud (VPC), del protocollo BGP (Border Gateway Protocol), delle reti private virtuali (VPN) e dei tunnel IPsec.
Google Cloud fornisce un servizio VPN ad alta affidabilità per connettere la tua rete VPC agli ambienti in esecuzione al di fuori diGoogle Cloud, ad esempio on-premise o su AWS tramite una connessione VPN IPsec. La VPN ad alta disponibilità offre uno SLA con una disponibilità del servizio del 99,99% se configurata in base alle best practice di Google. Per maggiori informazioni, consulta l'Accordo sul livello del servizio (SLA) di Cloud VPN.
Panoramica dell'architettura
L'architettura descritta in questa pagina include i seguenti componenti:
- Router Cloud: un servizio Google Cloudcompletamente distribuito e gestito per fornire il routing dinamico utilizzando BGP per le tue reti VPC.
- Gateway VPN ad alta affidabilità: un gateway VPN gestito da Google in esecuzione su Google Cloud. Ogni gateway VPN ad alta affidabilità è una risorsa di regione con due interfacce, ciascuna con i propri indirizzi IP esterni: interfaccia 0 e 1.
- Tunnel VPN ad alta affidabilità: connessioni dal gateway VPN ad alta disponibilità affidabilità al gateway VPN peer su AWS attraverso cui passa il traffico criptato.
- Gateway VPN peer: due endpoint VPN site-to-site AWS, che possono provenire da un gateway privato virtuale AWS o da un gateway di transito AWS. Per saperne di più, consulta Che cos'è AWS Site-to-Site VPN?
Ciascuna delle connessioni del gateway VPN peer è dotata di due tunnel preconfigurati per puntare a un singolo gateway cliente, che in questo caso è un'interfaccia VPN ad alta affidabilitàGoogle Cloud . Con questa configurazione, il numero minimo di tunnel per soddisfare lo SLA con disponibilità del servizio del 99,99% è quattro.
Le opzioni di routing e la larghezza di banda combinata sui tunnel VPN variano in base all'opzione VPN da sito a sito utilizzata sul lato AWS:
Transit Gateway: se crei AWS Transit Gateway senza preferenze BGP, ECMP distribuisce equamente il traffico tra i tunnel attivi.
Per utilizzare la connettività VPN in più reti Virtual Private Cloud di Google, utilizza una rete VPC di connettività per scalare un'architettura hub e spoke con più reti VPC.
Per saperne di più sui gateway di transito AWS, consulta Che cosa sono i gateway di transito Amazon VPC?.
Gateway privato virtuale: se utilizzi un gateway privato virtuale AWS, viene selezionato un solo tunnel in tutte le connessioni sul gateway. Per utilizzare più di un tunnel, utilizza invece un gateway di transito AWS in modo che sia disponibile il routing ECMP (Equal-cost multipath).
Per informazioni dettagliate sulla priorità delle route VPN con AWS, consulta Opzioni di routing VPN site-to-site.
Per saperne di più sui gateway privato virtuale AWS, consulta Opzioni del tunnel per la connessione VPN Site-to-Site.
Il seguente diagramma mostra l'architettura.
Obiettivi
- Crea una rete VPC su Google Cloud.
- Crea un gateway VPN ad alta disponibilità e un router Cloud su Google Cloud.
- Crea gateway cliente su AWS.
- Crea una connessione VPN con routing dinamico su AWS.
- Crea un gateway VPN esterno e tunnel VPN su Google Cloud.
- Verifica e testa la connessione VPN tra reti VPC su Google Cloud e AWS.
- Utilizza Cloud Location Finder per identificare le regioni Google Cloud più vicine.
Modulo Terraform di esempio
Puoi utilizzare il modulo gcp-to-aws-ha-vpn-terraform-module
per eseguire il provisioning VPN ad alta disponibilità affidabilità tra Google Cloud e AWS.
Costi
Questo tutorial utilizza componenti fatturabili di Google Cloud, tra cui i seguenti:
Per una stima dei costi dei componenti Google Cloud , utilizza il Google Cloud Calcolatore prezzi.
Questo tutorial utilizza componenti fatturabili di Amazon Web Services, tra cui:
- AWS Transit Gateway
- VPN site-to-site AWS
Per una stima dei costi dei componenti AWS, utilizza il Calcolatore prezzi di AWS.
Prima di iniziare
-
Nella console Google Cloud , nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud .
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Verifica che la fatturazione sia abilitata per il tuo progetto Google Cloud .
Abilita l'API Compute Engine
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (
roles/serviceusage.serviceUsageAdmin), che include l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.-
Nella console Google Cloud , attiva Cloud Shell.
-
Assicurati di disporre dei ruoli amministrativi richiesti per configurare i componenti di rete:
- Network Admin:
compute.networkAdmin - Amministratore sicurezza:
compute.securityAdmin - Compute Admin:
compute.admin
Per saperne di più sugli scopi di questi ruoli, consulta Ruoli IAM per mansioni relative al networking.
- Network Admin:
Crea il gateway VPN ad alta disponibilità e il router Cloud su Google Cloud
In questa sezione, crei una rete VPC, un gateway VPN ad alta disponibilità e un router Cloud su Google Cloud.
In Cloud Shell, assicurati di lavorare nel progettoGoogle Cloud che hai creato o selezionato.
gcloud config set project YOUR_PROJECT_ID export PROJECT_ID=`gcloud config list --format="value(core.project)"`
Sostituisci
YOUR_PROJECT_IDcon il tuo ID progettoGoogle Cloud .Per creare una rete VPC personalizzata con una singola subnet, utilizza il comando
gcloud compute networks create:gcloud compute networks create NETWORK \ --subnet-mode SUBNET_MODE \ --bgp-routing-mode BGP_ROUTING_MODE
Sostituisci quanto segue:
NETWORK: il nome della reteSUBNET_MODE: La modalità subnetBGP_ROUTING_MODE: La modalità di routing BGP
Ad esempio, il seguente comando crea una rete VPC personalizzata denominata
gc-vpccon una singola subnet:gcloud compute networks create gc-vpc \ --subnet-mode custom \ --bgp-routing-mode globalPer creare una subnet per ospitare le VM di test, utilizza il comando
gcloud compute networks subnets create:gcloud compute networks subnets create SUBNET_NAME \ --network NETWORK \ --region SUBNET_REGION \ --range IP_ADDRESS_RANGE
Sostituisci quanto segue:
SUBNET_NAME: Il nome della subnetSUBNET_REGION: La regione in cui creare la subnetIP_ADDRESS_RANGE: l'intervallo di indirizzi IP per la subnetAd esempio, il seguente comando crea una subnet denominata
subnet-east4nella rete VPCgc-vpc.
gcloud compute networks subnets create subnet-east4 \ --network gc-vpc \ --region us-east4 \ --range 10.1.1.0/24Per creare un gateway VPN ad alta disponibilità, utilizza il comando
gcloud compute vpn-gateways create:gcloud compute vpn-gateways create HA_VPN_GATEWAY_NAME \ --network NETWORK \ --region REGION
Sostituisci
HA_VPN_GATEWAY_NAMEcon il nome del gateway VPN ad alta disponibilità.Per creare un router Cloud, utilizza il comando
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
Sostituisci quanto segue:
ROUTER_NAME: il nome del router CloudGOOGLE_ASN: l'ASN (numero di sistema autonomo) privato per il router Cloud che stai creando. Può essere qualsiasi ASN privata nell'intervallo64512-65534o4200000000-4294967294che non stai già utilizzando come ASN peer nella stessa regione e nella stessa rete.
Ad esempio, il seguente comando crea un router Cloud denominato
cloud-router.gcloud compute routers create cloud-router \ --region us-east4 \ --network gc-vpc \ --asn 65534 \ --advertisement-mode custom \ --set-advertisement-groups all_subnets
Per creare un gateway VPN con due interfacce, prendi nota degli indirizzi IP esterni. Questi indirizzi sono necessari quando configuri l'ambiente sul lato AWS.
Crea gateway e connessioni VPN su AWS
In questa sezione crei gateway cliente, un gateway di destinazione e connessioni VPN con routing dinamico.
Esegui i comandi AWS utilizzando l'interfaccia a riga di comando AWS.
Per creare due gateway cliente utilizzando il seguente comando AWS, utilizza il comando 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
Sostituisci
INTERFACE_0_IP_ADDRESSeINTERFACE_1_IP_ADDRESScon gli indirizzi IP esterni dell'ultimo passaggio della sezione precedente.Per creare un gateway di destinazione e collegarlo al tuo Amazon VPC, procedi nel seguente modo:
Il gateway di destinazione può essere un gateway privato virtuale o un gateway di transito. Per saperne di più, consulta Creare un gateway di destinazione.
Virtual private gateway
Crea un gateway privato virtuale con un ASN specifico lato AWS utilizzando il comando AWS CLI
create-vpn-gateway:aws ec2 create-vpn-gateway --type ipsec.1 --amazon-side-asn AWS_SIDE_ASN
Sostituisci
AWS_SIDE_ASNcon l'ASN per la parte AWS.Questo comando dovrebbe essere simile al seguente esempio:
aws ec2 create-vpn-gateway --type ipsec.1 --amazon-side-asn 65001
Collega il gateway privato virtuale alla tua rete VPC utilizzando il comando AWS CLI
attach-vpn-gateway:aws ec2 attach-vpn-gateway --vpn-gateway-id VPN_GATEWAY_ID --vpc-id VPC_ID
Gateway di transito
Crea un gateway di transito utilizzando il comando 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
Sostituisci
TRANSIT_GATEWAY_DESCRIPTIONcon una descrizione per il tuo gateway di transito.Collega la tua rete VPC al gateway di transito utilizzando il comando AWS CLI
create-transit-gateway-vpc-attachment:aws ec2 create-transit-gateway-vpc-attachment \ --transit-gateway-id TRANSIT_GATEWAY_ID \ --vpc-id VPC_ID \ --subnet-ids "SUBNET_ID"
Sostituisci quanto segue:
TRANSIT_GATEWAY_ID: l'ID del gateway di transitoVPC_ID: l'ID del VPCSUBNET_ID: Gli ID di una o più subnet
Per creare una connessione VPN con routing dinamico:
Il metodo per creare una connessione VPN con routing dinamico varia a seconda che il gateway di destinazione sia un gateway privato virtuale o un gateway di transito. Per saperne di più, consulta Crea una connessione VPN.
Virtual private gateway
Crea una connessione VPN con routing dinamico tra il gateway privato virtuale e i gateway del cliente e applica tag alla connessione 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}]'
Sostituisci quanto segue:
CUSTOMER_GATEWAY_1: gateway Google Cloud VPN, interfaccia 0CUSTOMER_GATEWAY_2: Gateway Google Cloud VPN, interfaccia 1AWS_T1_IP: Indirizzo IP interno per il gateway privato virtuale per la connessione 1, tunnel 1AWS_T2_IP: Indirizzo IP interno per il gateway privato virtuale per la connessione 1, tunnel 2AWS_T3_IP: Indirizzo IP interno per il gateway privato virtuale per la connessione 2, tunnel 1AWS_T4_IP: indirizzo IP interno per il gateway privato virtuale per la connessione 2, tunnel 2SHARED_SECRET_1: Chiave precondivisa per la connessione 1, tunnel 1SHARED_SECRET_2: Chiave precondivisa per la connessione 1, tunnel 2SHARED_SECRET_3: Chiave precondivisa per la connessione 2, tunnel 1SHARED_SECRET_4: chiave precondivisa per la connessione 2, tunnel 2
Gateway di transito
Crea una connessione VPN con routing dinamico tra il gateway di transito e i gateway del cliente:
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}]'
Sostituisci quanto segue:
CUSTOMER_GATEWAY_1: gateway Google Cloud VPN, interfaccia 0CUSTOMER_GATEWAY_2: Gateway Google Cloud VPN, interfaccia 1TRANSIT_GATEWAY_ID: l'ID del gateway di transito associato alla connessione VPNAWS_T1_IP: Indirizzo IP interno per il gateway privato virtuale per la connessione 1, tunnel 1AWS_T2_IP: Indirizzo IP interno per il gateway privato virtuale per la connessione 1, tunnel 2AWS_T3_IP: Indirizzo IP interno per il gateway privato virtuale per la connessione 2, tunnel 1AWS_T4_IP: indirizzo IP interno per il gateway privato virtuale per la connessione 2, tunnel 2SHARED_SECRET_1: Chiave precondivisa per la connessione 1, tunnel 1SHARED_SECRET_2: Chiave precondivisa per la connessione 1, tunnel 2SHARED_SECRET_3: Chiave precondivisa per la connessione 2, tunnel 1SHARED_SECRET_4: chiave precondivisa per la connessione 2, tunnel 2CUSTOMER_GATEWAY_1: gateway Google Cloud VPN, interfaccia 0CUSTOMER_GATEWAY_2: Gateway Google Cloud VPN, interfaccia 1TRANSIT_GATEWAY_ID: l'ID del gateway di transito associato alla connessione VPNAWS_T1_IP: Indirizzo IP interno per il gateway privato virtuale per la connessione 1, tunnel 1AWS_T2_IP: Indirizzo IP interno per il gateway privato virtuale per la connessione 1, tunnel 2AWS_T3_IP: Indirizzo IP interno per il gateway privato virtuale per la connessione 2, tunnel 1AWS_T4_IP: indirizzo IP interno per il gateway privato virtuale per la connessione 2, tunnel 2SHARED_SECRET_1: Chiave precondivisa per la connessione 1, tunnel 1SHARED_SECRET_2: Chiave precondivisa per la connessione 1, tunnel 2SHARED_SECRET_3: Chiave precondivisa per la connessione 2, tunnel 1SHARED_SECRET_4: chiave precondivisa per la connessione 2, tunnel 2
AWS riserva alcuni intervalli CIDR, pertanto non puoi utilizzare valori in questi intervalli come indirizzi IP interni (
AWS_T1_IP,AWS_T2_IP,AWS_T3_IP,AWS_T4_IP). Per informazioni sui blocchi CIDR riservati da AWS, consulta Opzioni del tunnel per la connessione VPN da sito a sito.Crea quattro tunnel per Google Cloud utilizzando questi comandi.
Scarica il file di configurazione per le due connessioni VPN.
Nei passaggi successivi, utilizzerai i valori del file di configurazione che hai scaricato per creare e configurare le risorse sul lato Google Cloud.
Crea tunnel VPN e interfacce del router Cloud su Google Cloud
In questa sezione, utilizzi le informazioni della connessione VPN AWS che hai creato nella sezione precedente per creare un gateway VPN esterno, tunnel VPN e interfacce router Cloud in Google Cloud.
Quando configuri i tunnel Cloud VPN su AWS, devi utilizzare il protocollo IKEv2 e selezionare un solo set di algoritmi di crittografia IKE per garantire la creazione del tunnel. Ad esempio, seleziona un algoritmo di crittografia di fase 1 e uno di fase 2, un algoritmo di integrità e un gruppo Diffie-Hellman (DH). I set di trasformazione AWS predefiniti creano un payload di associazione di sicurezza (SA) di grandi dimensioni, che può causare la frammentazione IP dei pacchetti IKE. Cloud VPN non supporta i pacchetti IKE frammentati.
In Cloud Shell, crea un gateway VPN esterno con quattro interfacce per gli indirizzi IP esterni AWS.
Prima di creare il gateway VPN esterno, verifica che gli indirizzi IP esterni AWS corrispondano ai valori nel file di configurazione che hai scaricato. Non puoi modificare questi indirizzi IP dopo aver creato il gateway VPN esterno. Se gli indirizzi non corrispondono, non è possibile stabilire la connessione del tunnel VPN ad alta disponibilità affidabilità.
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
Sostituisci quanto segue:
AWS_GW_IP_1: Indirizzo IP esterno per il gateway privato virtuale per la connessione 1, tunnel 1AWS_GW_IP_2: Indirizzo IP esterno per il gateway privato virtuale per la connessione 1, tunnel 2AWS_GW_IP_3: Indirizzo IP esterno per il gateway privato virtuale per la connessione 2, tunnel 1AWS_GW_IP_4: Indirizzo IP esterno per il gateway privato virtuale per la connessione 2, tunnel 2
Crea quattro tunnel 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
Sostituisci quanto segue:
PEER_GATEWAY_NAME: il nome del gateway peer esterno che hai creato nel passaggio 1REGION: la Google Cloud regione in cui crei il tunnelSHARED_SECRET: la chiave precondivisa (PSK), che deve corrispondere alla chiave precondivisa per il tunnel partner che crei sul gateway peer; per generare una chiave precondivisa efficace, vedi Generare una chiave precondivisa efficaceROUTER_NAME: il nome del gateway Cloud Router che hai creato nella sezione Crea il gateway VPN ad alta disponibilità e il router Cloud su Google Cloud.HA_VPN_GATEWAY_NAME: il nome del gateway VPN ad alta disponibilità affidabilità che hai creato nella sezione Crea il gateway VPN ad alta disponibilità affidabilità e il router Cloud su Google Cloud.
Crea quattro interfacce del router Cloud.
Nei seguenti comandi, sostituisci ogni segnaposto
GOOGLE_BGP_IP_TUNNELcon l'indirizzo IP interno del tunnel sul lato Google Cloud . Puoi trovare i valori nei file di configurazione VPN AWS come indirizzo del gateway cliente per ogni tunnel. Ognuno di questi indirizzi deve essere compreso nell'intervallo CIDR/30all'interno dell'intervallo di rete169.254.0.0/16.Interfaccia del router Cloud 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
Interfaccia del router Cloud 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
Interfaccia del router Cloud 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
Interfaccia del router Cloud 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
Aggiungi peer BGP.
Nei comandi seguenti, sostituisci
PEER_ASNcon l'ASN per il lato AWS della sessione BGP.Connessione 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
Connessione 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
Connessione 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
Connessione 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
Verificare la configurazione
In Cloud Shell, verifica lo stato del router Cloud:
gcloud compute routers get-status ROUTER_NAME \ --region REGION \ --format='flattened(result.bgpPeerStatus[].name, result.bgpPeerStatus[].ipAddress, result.bgpPeerStatus[].peerIpAddress)'
L'output è simile al seguente:
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
Elenca tutti i tunnel:
gcloud compute vpn-tunnels list
L'output è simile al seguente:
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
Controlla lo stato del tunnel:
gcloud compute vpn-tunnels describe tunnel-1 \ --region REGION \ --format='flattened(status,detailedStatus)'
L'output è simile al seguente:
detailed_status: Tunnel is up and running. status: ESTABLISHED
Elenca le route dinamiche apprese da router Cloud:
gcloud compute routers get-status ROUTER_NAME \ --region REGION \ --format="flattened(result.bestRoutes)"
L'output è simile al seguente:
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
Testare la connessione VPN
Crea VM di test su ogni lato dei tunnel per testare le richieste ping.
Assicurati di disporre di regole firewall VPC per consentire il traffico ICMP.
Per istruzioni su come creare VM Compute Engine, consulta Crea e avvia un'istanza Compute Engine.
Per istruzioni su come creare istanze EC2 su AWS, consulta Avviare un'istanza Amazon EC2.
Verifica la connessione utilizzando il comando
ping.- Se il test
pingnon riesce, visualizza i log in Google Cloud e i log della VPN AWS Site-to-Site. I messaggi di errore nei log possono aiutarti a identificare il problema. Per scoprire come risolvere i problemi relativi alla connessione VPN, consulta le seguenti risorse:
- Se il test
Misura la larghezza di banda tra le macchine di test utilizzando iperf.
Lato server:
iperf3 -sLato client:
iperf3 -c SERVER_IP_ADDRESS -P NUMBER_OF_PARALLEL_SESSIONS
Esegui la pulizia
Elimina Google Cloud e le risorse AWS che hai creato durante questo tutorial.
Elimina il progetto Google Cloud
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, puoi eliminare il progetto:
- Nella console Google Cloud , vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona quello che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.
Elimina risorse AWS
- Eliminare una connessione VPN Site-to-Site
- Elimina il gateway di transito
- Termina le istanze Amazon EC2
Passaggi successivi
- Scopri di più su Google Cloud VPN.
- Scopri di più sulle best practice e sulle architetture di riferimento per la progettazione di VPC.