Panoramica
La VPN ad alta disponibilità è una soluzione Cloud VPN ad alta disponibilità che ti consente di connettere in modo sicuro la rete on-premise alla rete VPC (Virtual Private Cloud) attraverso una connessione VPN IPsec in una singola regione. La VPN ad alta disponibilità offre uno SLA con una disponibilità del servizio del 99,99%.
La VPN ad alta disponibilità è una soluzione VPN a livello di regione per singolo VPC. I gateway VPN ad alta disponibilità hanno due interfacce, ciascuna con il proprio indirizzo IP pubblico. Quando crei un gateway VPN ad alta disponibilità, vengono scelti automaticamente due indirizzi IP pubblici da pool di indirizzi diversi. Quando la VPN ad alta disponibilità è configurata con due tunnel, Cloud VPN offre un tempo di disponibilità del servizio del 99,99%.
In questo lab, creerai una rete VPC denominata vpc-demo, con due subnet in e . In questo VPC, aggiungerai un'istanza Compute Engine in ogni regione. Quindi creerai un secondo VPC chiamato on-prem per simulare il data center on-premise di un cliente. In questo secondo VPC, aggiungerai una subnet nella regione e un'istanza Compute Engine in esecuzione in questa regione. Infine, aggiungerai una VPN ad alta disponibilità e un router Cloud in ogni VPC ed eseguirai due tunnel da ciascun gateway VPN ad alta disponibilità prima di testare la configurazione per verificare lo SLA del 99,99%.

Obiettivi
In questo lab imparerai a:
- Creare due reti e istanze VPC.
- Configurare gateway VPN ad alta disponibilità.
- Configurare il routing dinamico con i tunnel VPN.
- Configurare la modalità di routing dinamico globale.
- Verificare e testare la configurazione del gateway VPN ad alta disponibilità.
Configurazione e requisiti
Per ciascun lab, riceverai un nuovo progetto Google Cloud e un insieme di risorse per un periodo di tempo limitato senza alcun costo aggiuntivo.
-
Fai clic sul pulsante Avvia lab. Se devi effettuare il pagamento per il lab, si apre una finestra popup per permetterti di selezionare il metodo di pagamento.
A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:
- Il pulsante Apri console Google Cloud
- Tempo rimanente
- Credenziali temporanee da utilizzare per il lab
- Altre informazioni per seguire questo lab, se necessario
-
Fai clic su Apri console Google Cloud (o fai clic con il tasto destro del mouse e seleziona Apri link in finestra di navigazione in incognito se utilizzi il browser Chrome).
Il lab avvia le risorse e apre un'altra scheda con la pagina di accesso.
Suggerimento: disponi le schede in finestre separate posizionate fianco a fianco.
Nota: se visualizzi la finestra di dialogo Scegli un account, fai clic su Usa un altro account.
-
Se necessario, copia il Nome utente di seguito e incollalo nella finestra di dialogo di accesso.
{{{user_0.username | "Username"}}}
Puoi trovare il Nome utente anche nel riquadro Dettagli lab.
-
Fai clic su Avanti.
-
Copia la Password di seguito e incollala nella finestra di dialogo di benvenuto.
{{{user_0.password | "Password"}}}
Puoi trovare la Password anche nel riquadro Dettagli lab.
-
Fai clic su Avanti.
Importante: devi utilizzare le credenziali fornite dal lab. Non utilizzare le credenziali del tuo account Google Cloud.
Nota: utilizzare il tuo account Google Cloud per questo lab potrebbe comportare addebiti aggiuntivi.
-
Fai clic nelle pagine successive:
- Accetta i termini e le condizioni.
- Non inserire opzioni di recupero o l'autenticazione a due fattori, perché si tratta di un account temporaneo.
- Non registrarti per le prove gratuite.
Dopo qualche istante, la console Google Cloud si apre in questa scheda.
Nota: per visualizzare un menu con un elenco di prodotti e servizi Google Cloud, fai clic sul menu di navigazione in alto a sinistra oppure digita il nome del servizio o del prodotto nel campo di ricerca.
Attiva Google Cloud Shell
Google Cloud Shell è una macchina virtuale in cui sono caricati strumenti per sviluppatori. Offre una home directory permanente da 5 GB e viene eseguita su Google Cloud.
Google Cloud Shell fornisce l'accesso da riga di comando alle risorse Google Cloud.
-
Nella barra degli strumenti in alto a destra della console Cloud, fai clic sul pulsante Apri Cloud Shell.

-
Fai clic su Continua.
Bastano pochi istanti per eseguire il provisioning e connettersi all'ambiente. Quando la connessione è attiva, l'autenticazione è già avvenuta e il progetto è impostato sul tuo PROJECT_ID. Ad esempio:

gcloud è lo strumento a riga di comando di Google Cloud. È preinstallato su Cloud Shell e supporta il completamento.
- Puoi visualizzare il nome dell'account attivo con questo comando:
gcloud auth list
Output:
Credentialed accounts:
- @.com (active)
Output di esempio:
Credentialed accounts:
- google1623327_student@qwiklabs.net
- Puoi elencare l'ID progetto con questo comando:
gcloud config list project
Output:
[core]
project =
Output di esempio:
[core]
project = qwiklabs-gcp-44776a13dea667a6
Nota:
la documentazione completa di gcloud è disponibile nella guida
Panoramica dell'interfaccia a riga di comando gcloud
.
Attività 1: configura un ambiente VPC globale
In questa attività configuri un VPC globale con due subnet personalizzate e due istanze VM in esecuzione in ciascuna zona.
- In Cloud Shell, crea una rete VPC chiamata vpc-demo:
gcloud compute networks create vpc-demo --subnet-mode custom
L'output dovrebbe essere simile a questo:
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:
- In Cloud Shell, crea la subnet vpc-demo-subnet1 nella regione :
gcloud compute networks subnets create vpc-demo-subnet1 \
--network vpc-demo --range 10.1.1.0/24 --region "{{{project_0.default_region| REGION}}}"
- Crea la subnet vpc-demo-subnet2 nella regione :
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}}}
- Crea una regola firewall per consentire tutto il traffico personalizzato all'interno della rete:
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
L'output dovrebbe essere simile a questo:
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
- Crea una regola firewall per consentire il traffico SSH e ICMP da qualsiasi luogo:
gcloud compute firewall-rules create vpc-demo-allow-ssh-icmp \
--network vpc-demo \
--allow tcp:22,icmp
- Crea un'istanza VM vpc-demo-instance1 nella zona :
gcloud compute instances create vpc-demo-instance1 --machine-type=e2-medium --zone {{{ project_0.default_zone | "ZONE" }}} --subnet vpc-demo-subnet1
L'output dovrebbe essere simile a questo:
Creato [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
- Crea un'istanza VM vpc-demo-instance2 nella zona :
gcloud compute instances create vpc-demo-instance2 --machine-type=e2-medium --zone {{{project_0.default_zone_2 | ZONE2}}} --subnet vpc-demo-subnet2
Attività 2: configura un ambiente on-premise simulato
In questa attività creerai un VPC chiamato on-prem che simula un ambiente on-premise da cui un cliente si connette all'ambiente cloud di Google.
- In Cloud Shell, crea una rete VPC denominata on-prem:
gcloud compute networks create on-prem --subnet-mode custom
L'output dovrebbe essere simile a questo:
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:
- Crea una subnet denominata 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" }}}
- Crea una regola firewall per consentire tutto il traffico personalizzato all'interno della rete:
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
- Crea una regola firewall per consentire il traffico SSH, RDP, HTTP e ICMP verso le istanze:
gcloud compute firewall-rules create on-prem-allow-ssh-icmp \
--network on-prem \
--allow tcp:22,icmp
- Crea un'istanza denominata on-prem-instance1 nella regione .
Nota: nel comando seguente sostituisci con una zona in ma diversa da quella utilizzata per creare l'istanza vpc-demo-instance1 nella subnet vpc-demo-subnet1.
gcloud compute instances create on-prem-instance1 --machine-type=e2-medium --zone zone_name --subnet on-prem-subnet1
Attività 3: configura un gateway VPN ad alta disponibilità
In questa attività creerai un gateway VPN ad alta disponibilità in ogni rete VPC e quindi creerai tunnel VPN ad alta disponibilità su ogni gateway Cloud VPN.
- In Cloud Shell, crea una VPN ad alta disponibilità nel file vpc-demo network:
gcloud compute vpn-gateways create vpc-demo-vpn-gw1 --network vpc-demo --region {{{ project_0.default_region | "REGION" }}}
L'output dovrebbe essere simile a questo:
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" }}}
- Crea una VPN ad alta disponibilità nella rete on-prem:
gcloud compute vpn-gateways create on-prem-vpn-gw1 --network on-prem --region {{{ project_0.default_region | "REGION" }}}
- Visualizza i dettagli del gateway vpc-demo-vpn-gw1 per verificarne le impostazioni:
gcloud compute vpn-gateways describe vpc-demo-vpn-gw1 --region {{{ project_0.default_region | "REGION" }}}
L'output dovrebbe essere simile a questo:
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
- Visualizza i dettagli del gateway VPN on-prem-vpn-gw1 per verificarne le impostazioni:
gcloud compute vpn-gateways describe on-prem-vpn-gw1 --region {{{ project_0.default_region | "Region" }}}
L'output dovrebbe essere simile a questo:
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
Crea router Cloud
- Crea un router Cloud nella rete vpc-demo:
gcloud compute routers create vpc-demo-router1 \
--region {{{ project_0.default_region | "REGION" }}} \
--network vpc-demo \
--asn 65001
L'output dovrebbe essere simile a questo:
Creating router [vpc-demo-router1]...done.
NAME: vpc-demo-router1
REGION: {{{ project_0.default_region | "REGION" }}}
NETWORK: vpc-demo
- Crea un router Cloud nella rete on-prem:
gcloud compute routers create on-prem-router1 \
--region {{{ project_0.default_region | "REGION" }}} \
--network on-prem \
--asn 65002
Attività 4: crea due tunnel VPN
In questa attività creerai tunnel VPN tra i due gateway. Per la configurazione VPN ad alta disponibilità, aggiungi due tunnel da ciascun gateway alla configurazione remota. Creerai un tunnel su interface0 ed eseguirai la connessione a interface0 sul gateway remoto. Successivamente, creerai un altro tunnel su interface1 ed eseguirai la connessione a interface1 sul gateway remoto.
Quando esegui tunnel VPN ad alta disponibilità tra due VPC Google Cloud, devi assicurarti che il tunnel su interface0 sia connesso a interface0 sul gateway VPN remoto. Allo stesso modo, il tunnel su interface1 deve essere connesso a interface1 sul gateway VPN remoto.
Nota: nel tuo ambiente, se esegui VPN ad alta disponibilità su un gateway VPN remoto on-premise per un cliente, puoi connetterti in uno dei modi riportati di seguito.
-
Due dispositivi gateway VPN on-premise: ciascun tunnel da ciascuna interfaccia sul gateway Cloud VPN deve essere connesso al proprio gateway peer.
-
Un singolo dispositivo gateway VPN on-premise con due interfacce: ciascun tunnel da ciascuna interfaccia sul gateway Cloud VPN deve essere connesso alla propria interfaccia sul gateway peer.
-
Un singolo dispositivo gateway VPN on-premise con un'unica interfaccia: entrambi i tunnel da ciascuna interfaccia sul gateway Cloud VPN devono essere connessi alla stessa interfaccia sul gateway peer.
In questo lab stai simulando una configurazione on-premise con entrambi i gateway VPN in Google Cloud. Assicurati che l'interfaccia interface0 di un gateway si connetta all'interfaccia interface0 dell'altro e che l'interfaccia interface1 si connetta all'interfaccia interface1 del gateway remoto.
- Crea il primo tunnel VPN nella rete 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
L'output dovrebbe essere simile a questo:
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
- Crea il secondo tunnel VPN nella rete 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
- Crea il primo tunnel VPN nella rete 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
- Crea il secondo tunnel VPN nella rete 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
Attività 5: crea il peering BGP (Border Gateway Protocol) per ogni tunnel
In questa attività configurerai il peering BGP per ogni tunnel VPN tra vpc-demo e VPC on-prem. La VPN ad alta disponibilità richiede il routing dinamico per consentire una disponibilità del 99,99%.
- Crea l'interfaccia del router per tunnel0 nella rete 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" }}}
L'output dovrebbe essere simile a questo:
Updated [https://www.googleapis.com/compute/v1/projects/binal-sandbox/regions/{{{ project_0.default_region | "REGION" }}}/routers/vpc-demo-router1].
- Crea il peer BGP per tunnel0 nella rete 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" }}}
L'output dovrebbe essere simile a questo:
Creating peer [bgp-on-prem-tunnel0] in router [vpc-demo-router1]...done.
- Crea un'interfaccia router per tunnel1 nella rete 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" }}}
- Crea il peer BGP per tunnel1 nella rete 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" }}}
- Crea un'interfaccia router per tunnel0 nella rete 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" }}}
- Crea il peer BGP per tunnel0 nella rete 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" }}}
- Crea un'interfaccia router per tunnel1 nella rete 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" }}}
- Crea il peer BGP per tunnel1 nella rete 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" }}}
Attività 6: verifica le configurazioni del router
In questa attività verificherai le configurazioni del router in entrambi i VPC. Puoi configurare le regole del firewall per consentire il traffico tra ogni VPC e verificare lo stato dei tunnel. Verificherai anche la connettività privata su VPN tra ogni VPC e abiliterai la modalità di routing globale per il VPC.
- Visualizza i dettagli del router Cloud vpc-demo-router1 per verificarne le impostazioni:
gcloud compute routers describe vpc-demo-router1 \
--region {{{ project_0.default_region | "REGION" }}}
L'output dovrebbe essere simile a questo:
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
- Visualizza i dettagli del router Cloud on-prem-router1 per verificarne le impostazioni:
gcloud compute routers describe on-prem-router1 \
--region {{{ project_0.default_region | "REGION" }}}
L'output dovrebbe essere simile a questo:
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
Configura le regole del firewall per consentire il traffico dal VPC remoto
Configura le regole del firewall per consentire il traffico dagli intervalli IP privati della VPN peer.
- Consenti il traffico dal VPC di rete on-prem a 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
L'output dovrebbe essere simile a questo:
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
- Consenti il traffico da vpc-demo al VPC di rete 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
Verifica lo stato dei tunnel
- Elenca i tunnel VPN che hai appena creato:
gcloud compute vpn-tunnels list
Dovrebbero esserci quattro tunnel VPN (due tunnel per ogni gateway VPN). L'output dovrebbe essere simile a questo:
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
- Verifica che il tunnel vpc-demo-tunnel0 sia attivo:
gcloud compute vpn-tunnels describe vpc-demo-tunnel0 \
--region {{{ project_0.default_region | "REGION" }}}
L'output del tunnel dovrebbe mostrare lo stato dettagliato come Tunnel is up and running.
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
- Verifica che il tunnel vpc-demo-tunnel1 sia attivo:
gcloud compute vpn-tunnels describe vpc-demo-tunnel1 \
--region {{{ project_0.default_region | "REGION" }}}
L'output del tunnel dovrebbe mostrare lo stato dettagliato come Tunnel is up and running.
- Verifica che il tunnel on-prem-tunnel0 sia attivo:
gcloud compute vpn-tunnels describe on-prem-tunnel0 \
--region {{{ project_0.default_region | "REGION" }}}
L'output del tunnel dovrebbe mostrare lo stato dettagliato come Tunnel is up and running.
- Verifica che il tunnel on-prem-tunnel1 sia attivo:
gcloud compute vpn-tunnels describe on-prem-tunnel1 \
--region {{{ project_0.default_region | "REGION" }}}
L'output del tunnel dovrebbe mostrare lo stato dettagliato come Tunnel is up and running.
Verifica la connettività privata su VPN
-
Passa a Compute Engine e annota la zona in cui è stata creata l'istanza on-prem-instance1.
-
Apri una nuova scheda Cloud Shell e digita quanto segue per connetterti tramite SSH all'istanza on-prem-instance1:
sostituisci <zone_name> con la zona in cui è stata creata on-prem-instance1.
gcloud compute ssh on-prem-instance1 --zone zone_name
-
Digita "y" per confermare che vuoi continuare.
-
Premi Invio due volte per saltare la creazione di una password.
-
Dall'istanza on-prem-instance1 nella rete on-prem, per raggiungere le istanze nella rete vpc-demo, ping 10.1.1.2:
ping -c 4 10.1.1.2
I ping hanno esito positivo. L'output dovrebbe essere simile a questo:
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
Instradamento globale con VPN
La VPN ad alta disponibilità è una risorsa di regione e un router Cloud che per impostazione predefinita vede solo le route nella regione in cui è stato eseguito il deployment. Per raggiungere le istanze in una regione diversa rispetto al router Cloud, devi abilitare la modalità di instradamento globale per il VPC. Ciò consente al router Cloud di vedere e pubblicizzare route da altre regioni.
- Apri una nuova scheda Cloud Shell e aggiorna la modalità bgp-routing da vpc-demo a GLOBAL:
gcloud compute networks update vpc-demo --bgp-routing-mode GLOBAL
- Verifica la modifica:
gcloud compute networks describe vpc-demo
L'output dovrebbe essere simile a questo:
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
- Dalla scheda Cloud Shell attualmente connessa all'istanza nella rete on-prem tramite ssh, esegui il ping dell'istanza vpc-demo-instance2 nella regione :
ping -c 2 10.2.1.2
I ping hanno esito positivo. L'output dovrebbe essere simile a questo:
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
Attività 7: verifica e testa la configurazione dei tunnel VPN ad alta disponibilità
In questa attività testerai e verificherai che la configurazione ad alta affidabilità di ogni tunnel VPN ad alta disponibilità abbia esito positivo.
-
Apri una nuova scheda di Cloud Shell.
-
Elimina tunnel0 nella rete vpc-demo:
gcloud compute vpn-tunnels delete vpc-demo-tunnel0 --region {{{ project_0.default_region | "REGION" }}}
Rispondi "y" quando ti viene chiesto di verificare l'eliminazione. Il rispettivo tunnel0 nella rete on-prem verrà eliminato.
- Verifica che il tunnel sia stato eliminato:
gcloud compute vpn-tunnels describe on-prem-tunnel0 --region {{{ project_0.default_region | "REGION" }}}
Lo stato dettagliato dovrebbe essere visualizzato come Handshake_with_peer_broken.
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
- Passa alla scheda Cloud Shell precedente in cui è in esecuzione la sessione ssh aperta e verifica i ping tra le istanze nella rete vpc-demo e nella rete on-prem:
ping -c 3 10.1.1.2
L'output dovrebbe essere simile a questo:
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
I ping hanno ancora esito positivo perché il traffico viene ora inviato sul secondo tunnel. Hai configurato correttamente i tunnel VPN ad alta disponibilità.
Attività 8: (facoltativo) ripulisci l'ambiente del lab
In questa attività ripulirai le risorse che hai utilizzato. Questa attività è facoltativa. Quando termini il lab, tutte le tue risorse e il tuo progetto vengono ripuliti ed eliminati automaticamente. Tuttavia, è bene che tu sappia come ripulire autonomamente le risorse nel tuo ambiente per risparmiare sui costi e ridurre l'utilizzo delle risorse.
Elimina i tunnel VPN
- Da Cloud Shell, digita i seguenti comandi per eliminare i tunnel rimanenti. Digita "y" per confermare ogni azione quando richiesto:
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" }}}
Rimuovi il peering BGP
- Digita i seguenti comandi per rimuovere il peering da ciascun peer BGP:
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" }}}
Elimina i router Cloud
- Digita ciascun comando per eliminare i router. Digita "y" per confermare ogni azione quando richiesto:
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" }}}
Elimina i gateway VPN
- Digita ciascun comando per eliminare i gateway VPN. Digita "y" per confermare ogni azione quando richiesto:
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" }}}
Elimina le istanze
- Digita i seguenti comandi per eliminare ogni istanza. Digita "y" per confermare ogni azione quando richiesto:
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
NOTE: Replace with the zone in which the on-prem-instance1 was created.
Elimina le regole firewall
- Digita quanto segue per eliminare le regole del firewall. Digita "y" per confermare ogni azione quando richiesto:
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
Elimina le subnet
- Digita quanto segue per eliminare le subnet. Digita "y" per confermare ogni azione quando richiesto:
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" }}}
Elimina il VPC
- Digita questi comandi per eliminare i VPC. Digita "y" per confermare ogni azione quando richiesto:
gcloud compute networks delete vpc-demo
gcloud compute networks delete on-prem
Attività 9: riepilogo
In questo lab hai configurato i gateway VPN ad alta disponibilità. Hai anche configurato il routing dinamico con tunnel VPN e configurato la modalità di routing dinamico globale. Infine, hai verificato che la VPN ad alta disponibilità sia configurata e funzioni correttamente.
Termina il lab
Una volta completato il lab, fai clic su Termina lab. Google Cloud Skills Boost rimuove le risorse che hai utilizzato ed esegue la pulizia dell'account.
Avrai la possibilità di inserire una valutazione in merito alla tua esperienza. Seleziona il numero di stelle applicabile, inserisci un commento, quindi fai clic su Invia.
Il numero di stelle corrisponde alle seguenti valutazioni:
- 1 stella = molto insoddisfatto
- 2 stelle = insoddisfatto
- 3 stelle = esperienza neutra
- 4 stelle = soddisfatto
- 5 stelle = molto soddisfatto
Se non vuoi lasciare un feedback, chiudi la finestra di dialogo.
Per feedback, suggerimenti o correzioni, utilizza la scheda Assistenza.
Copyright 2020 Google LLC Tutti i diritti riservati. Google e il logo Google sono marchi di Google LLC. Tutti gli altri nomi di società e prodotti sono marchi delle rispettive società a cui sono associati.