CodeLab: scambio di route dinamiche con NCC

1. Introduzione

Panoramica

In questo lab, gli utenti esploreranno come Network Connectivity Center (NCC) può essere utilizzato per stabilire la connettività on-premise su larga scala tramite il supporto per gli spoke VPC e lo scambio di route dinamiche. Quando gli utenti definiscono un VPC come spoke VPC, possono connetterlo a più reti VPC tramite l'hub NCC. Per stabilire la connettività di rete con la rete on-premise di un utente, possono collegare la NIC virtuale dell'appliance router, i tunnel HA_VPN o i collegamenti VLAN Interconnect allo stesso hub NCC degli spoke VPC NCC.

La risorsa hub fornisce un modello di gestione della connettività centralizzato per interconnettere gli spoke.

Che cosa creerai

In questo codelab, creerai una topologia logica hub e spoke con l'hub NCC che implementerà la connettività ibrida tra la rete on-premise e un VPC del carico di lavoro.

21d100d48eee31f1.png

Cosa imparerai a fare

  • Distinguere tra un VPC del carico di lavoro e un VPC di routing
  • Integrazione NCC di spoke VPC e spoke ibridi

Che cosa ti serve

  • Conoscenza della rete VPC di Google Cloud
  • Conoscenza del router Cloud e del routing BGP
  • Progetto Google Cloud
  • Controlla la quota:reti e richiedi reti aggiuntive, se necessario, come mostrato nello screenshot di seguito:

6d1b99c6da87fd84.png

Obiettivi

  • Configurare l'ambiente Google Cloud
  • Configurare Network Connectivity Center con VPC come spoke
  • Configurare Network Connectivity Center con tunnel HA-VPN come spoke ibrido
  • Convalidare il percorso dati
  • Esplorare le funzionalità di manutenzione di NCC
  • Liberare spazio dalle risorse utilizzate

Prima di iniziare

Console Google Cloud e Cloud Shell

Per interagire con Google Cloud, utilizzeremo sia la console Google Cloud sia Cloud Shell in questo lab.

Progetto hub NCC Console Google Cloud

Puoi accedere alla console Cloud all'indirizzo https://console.cloud.google.com.

Configura i seguenti elementi in Google Cloud per semplificare la configurazione di Network Connectivity Center:

Nella console Google Cloud, nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud.

Avvia Cloud Shell. Questo codelab utilizza le $variabili per facilitare l'implementazione della configurazione di gcloud in Cloud Shell.

gcloud auth list
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=[YOUR-PROJECT-NAME]
echo $projectname
region="us-central1"
zone="us-central1-a"

Ruoli IAM

NCC richiede ruoli IAM per accedere ad API specifiche. Assicurati di configurare l'utente con i ruoli IAM NCC, se necessario.

Ruolo/Descrizione

Autorizzazioni

networkconnectivity.editor- Consente agli amministratori di rete di gestire hub e spoke.

networkconnectivity.hubs.networkconnectivity.spokes.networkconnectivity.gatewaynetworkconnectivity.locations.

networkconnectivity.HubAdmin- Consente l'accesso completo alle risorse hub e spoke.

networkconnectivity.gatewayAdvertisedRoutes.networkconnectivity.groups. networkconnectivity.hubRouteTables.networkconnectivity.hubRoutes.networkconnectivity.hubs. networkconnectivity.locations. networkconnectivity.operations.* networkconnectivity.spokes.*resourcemanager.projects.getresourcemanager.projects.list

networkconnectivity.hubViewer - Consente l'accesso in sola lettura alle risorse hub e spoke.

networkconnectivity.gatewayAdvertisedRoutes.getnetworkconnectivity.gatewayAdvertisedRoutes.listnetworkconnectivity.groups.getnetworkconnectivity.groups.getIamPolicynetworkconnectivity.groups.listnetworkconnectivity.hubRouteTables.getnetworkconnectivity.hubRouteTables.getIamPolicynetworkconnectivity.hubRouteTables.listnetworkconnectivity.hubRoutes.getnetworkconnectivity.hubRoutes.getIamPolicynetworkconnectivity.hubRoutes.listnetworkconnectivity.hubs.getnetworkconnectivity.hubs.getIamPolicynetworkconnectivity.hubs.listnetworkconnectivity.hubs.listSpokesnetworkconnectivity.hubs.queryStatus networkconnectivity.locations.*networkconnectivity.spokes.getnetworkconnectivity.spokes.getIamPolicynetworkconnectivity.spokes.listresourcemanager.projects.getresourcemanager.projects.list

2. Configurare l'ambiente di rete

Panoramica

In questa sezione, eseguiremo il deployment delle tre reti VPC e delle regole firewall in un singolo progetto. Il diagramma logico illustra l'ambiente di rete che verrà configurato in questo passaggio. Ai fini di questo codelab, verrà utilizzato un VPC per simulare una rete on-premise.

732e31532d8f6edb.png

Concetto chiave 1

Il VPC globale di Google Cloud fornisce la connettività del percorso dati tra oltre 44 regioni Google Cloud. Il router Cloud, un servizio regionale, annuncia dinamicamente le subnet e propaga le route apprese nella regione in cui è configurato il router o in tutta la rete VPC. Ciò che determina se il router Cloud propaga le route a livello regionale o globale dipende dall'utente che definisce la modalità di routing dinamico: regionale o globale.

In questa sezione, inizieremo configurando ogni VPC con la modalità di routing regionale. Per il resto di questo codelab:

  • "VPC di routing" identifica un VPC NON configurato come spoke VPC NCC.
  • "VPC del carico di lavoro" identifica un VPC configurato come spoke NCC.

Creare il VPC del carico di lavoro e una subnet

La rete VPC contiene le subnet in cui installerai la VM GCE per la convalida del percorso dati

vpc_spoke_network_name="workload-vpc"
vpc_spoke_subnet_name="workload-subnet"
vpc_spoke_subnet_ip_range="10.0.1.0/24"
vpc_spoke_name="workload-vpc-spoke"
region="us-central1"
zone="us-central1-a"

gcloud compute networks create "${vpc_spoke_network_name}" \
--subnet-mode=custom 

gcloud compute networks subnets create "${vpc_spoke_subnet_name}" \
--network="${vpc_spoke_network_name}" \
--range="${vpc_spoke_subnet_ip_range}" \
--region="${region}"

Creare il VPC di routing e una subnet

NCC supporta tutti gli intervalli di subnet IPv4 validi, ad eccezione degli indirizzi IP pubblici utilizzati privatamente.

routing_vpc_network_name="routing-vpc"
routing_vpc_subnet_name="routing-vpc-subnet"
routing_vpc_subnet_range="10.0.2.0/24"

gcloud compute networks create "${routing_vpc_network_name}" \
--subnet-mode=custom

gcloud compute networks subnets create "${routing_vpc_subnet_name}" \
--region="${region}" \
--network="${routing_vpc_network_name}" \
--range="${routing_vpc_subnet_range}"

Creare il VPC on-premise e una subnet

NCC supporta tutti gli intervalli di subnet IPv4 validi, ad eccezione degli indirizzi IP pubblici utilizzati privatamente.

on_prem_network_name="on-prem-net-vpc"
on_prem_subnet_name="on-prem-subnet"
on_prem_subnet_range="10.0.3.0/24"

gcloud compute networks create "${on_prem_network_name}" \
--subnet-mode=custom

gcloud compute networks subnets create "${on_prem_subnet_name}" \
--region="${region}" \
--network="${on_prem_network_name}" \
--range="${on_prem_subnet_range}"

Configurare le regole firewall del VPC del carico di lavoro

workload_vpc_firewall_name="workload-protocol-fw-vpc"
workload_port_firewall_name="workload-port-firewall-vpc"

gcloud compute firewall-rules create "${workload_vpc_firewall_name}" \
--network=${vpc_spoke_network_name} \
--allow="tcp,udp,icmp"

gcloud compute firewall-rules create "${workload_port_firewall_name}" \
--network=${vpc_spoke_network_name} \
--allow="tcp:22,tcp:3389,tcp:11180,icmp"

Configurare il VPC di routing e le regole firewall VPC

routing_vpc_fw_name="routing-vpc-protocol-fw"
routing_vpc_port_fw_name="routing-vpc--port-fw"

gcloud compute firewall-rules create "${routing_vpc_fw_name}" \
--network=${routing_vpc_network_name} \
--allow="tcp,udp,icmp"

gcloud compute firewall-rules create "${routing_vpc_port_fw_name}" \
--network=${routing_vpc_network_name} \
--allow="tcp:22,tcp:3389,tcp:11180,icmp"

Configurare il VPC on-premise e le regole firewall VPC

prem_protocol_fw_name="onprem-vpc-protocol-firewall"
prem_port_firewall_name="onprem-vpc-port-firewall-prem"

gcloud compute firewall-rules create "${prem_protocol_fw_name}" \
--network=${on_prem_network_name} \
--allow="tcp,udp,icmp"

gcloud compute firewall-rules create "${prem_port_firewall_name}" \
--network=${on_prem_network_name} \
--allow="tcp:22,tcp:3389,tcp:11180,icmp"

Configurare la VM GCE in ogni VPC

Avrai bisogno di un accesso a internet temporaneo per installare i pacchetti su "vm1-vpc1-ncc".

Crea tre macchine virtuali, ognuna delle quali verrà assegnata a uno dei VPC creati in precedenza

gcloud compute instances create vm1-vpc-workload \
--zone us-central1-a \
--subnet="${vpc_spoke_subnet_name}" \
--metadata=startup-script='#!/bin/bash
  apt-get update
  apt-get install apache2 -y
  apt-get install tcpdump -y
  service apache2 restart
  echo "
<h3>Web Server: www-vm1</h3>" | tee /var/www/html/index.html'


gcloud compute instances create vm2-vpc-routing \
--zone us-central1-a \
--subnet="${routing_vpc_subnet_name}" \
--no-address 

gcloud compute instances create vm3-onprem \
--zone us-central1-a \
--subnet="${on_prem_subnet_name}" \
--no-address 

3. Configurare la connettività ibrida

In questa sezione, configureremo un tunnel VPN ad alta affidabilità per connettere le reti VPC on-premise e di routing.

161d9e6b19ce53a1.png

Configurare un router Cloud con BGP nel VPC di routing

routing_vpc_router_name="routing-vpc-cr"
routing_vpc_router_asn=64525

gcloud compute routers create "${routing_vpc_router_name}" \
--region="${region}" \
--network="${routing_vpc_network_name}" \
--asn="${routing_vpc_router_asn}"

Configurare un router Cloud con BGP nel VPC on-premise

on_prem_router_name="on-prem-router"
on_prem_router_asn=64526

gcloud compute routers create "${on_prem_router_name}" \
--region="${region}" \
--network="${on_prem_network_name}" \
--asn="${on_prem_router_asn}"

Configurare un gateway VPN nel VPC di routing

routing_vpn_gateway_name="routing-vpc-vpn-gateway"

gcloud compute vpn-gateways create "${routing_vpn_gateway_name}" \
--region="${region}" \
--network="${routing_vpc_network_name}"

Configurare un gateway VPN nel VPC on-premise

on_prem_gateway_name="on-prem-vpn-gateway"

gcloud compute vpn-gateways create "${on_prem_gateway_name}" \
--region="${region}" \
--network="${on_prem_network_name}"

Configurare un tunnel VPN nel VPC di routing e nel VPC on-premise

secret_key=$(openssl rand -base64 24)
routing_vpc_tunnel_name="routing-vpc-tunnel"
on_prem_tunnel_name="on-prem-tunnel"

gcloud compute vpn-tunnels create "${routing_vpc_tunnel_name}" \
--vpn-gateway="${routing_vpn_gateway_name}" \
--peer-gcp-gateway="${on_prem_gateway_name}" \
--router="${routing_vpc_router_name}" \
--region="${region}" \
--interface=0 \
--shared-secret="${secret_key}"

gcloud compute vpn-tunnels create "${on_prem_tunnel_name}" \
--vpn-gateway="${on_prem_gateway_name}" \
--peer-gcp-gateway="${routing_vpn_gateway_name}" \
--router="${on_prem_router_name}" \
--region="${region}" \
--interface=0 \
--shared-secret="${secret_key}"

Creare sessioni BGP per il peering BGP dei router Cloud di routing e on-premise

interface_hub_name="if-hub-to-prem"
hub_router_ip="169.254.1.1"

gcloud compute routers add-interface "${routing_vpc_router_name}" \
--interface-name="${interface_hub_name}" \
--ip-address="${hub_router_ip}" \
--mask-length=30 \
--vpn-tunnel="${routing_vpc_tunnel_name}" \
--region="${region}"

bgp_hub_name="bgp-hub-to-prem"
prem_router_ip="169.254.1.2"
gcloud compute routers add-bgp-peer "${routing_vpc_router_name}" \
--peer-name="${bgp_hub_name}" \
--peer-ip-address="${prem_router_ip}" \
--interface="${interface_hub_name}" \
--peer-asn="${on_prem_router_asn}" \
--region="${region}"

interface_prem_name="if-prem-to-hub"
gcloud compute routers add-interface "${on_prem_router_name}" \
--interface-name="${interface_prem_name}" \
--ip-address="${prem_router_ip}" \
--mask-length=30 \
--vpn-tunnel="${on_prem_tunnel_name}" \
--region="${region}"

bgp_prem_name="bgp-prem-to-hub"
gcloud compute routers add-bgp-peer "${on_prem_router_name}" \
--peer-name="${bgp_prem_name}" \
--peer-ip-address="${hub_router_ip}" \
--interface="${interface_prem_name}" \
--peer-asn="${routing_vpc_router_asn}" \
--region="${region}"

Per impostazione predefinita, le subnet dell'hub NCC non vengono annunciate agli spoke ibridi. Nel passaggio successivo, configura il router Cloud in modo che annunci le route delle subnet NCC alla rete on-premise.

gcloud compute routers update "${routing_vpc_router_name}" \
--advertisement-mode custom \
--set-advertisement-groups=all_subnets \
--set-advertisement-ranges="${vpc_spoke_subnet_ip_range}" \
--region="${region}"
gcloud compute routers update "${on_prem_router_name}" \
--advertisement-mode custom \
--set-advertisement-groups=all_subnets \
--region="${region}"

Aggiorna la configurazione del peering BGP del router Cloud on-premise in modo che annunci i prefissi con un valore MED pari a "111". In una sezione successiva, osserveremo il comportamento di NCC con i valori MED BGP.

on_prem_router_name="on-prem-router"
bgp_prem_name="bgp-prem-to-hub"

gcloud compute routers update-bgp-peer "${on_prem_router_name}" \
--peer-name="${bgp_prem_name}" \
--advertised-route-priority="111" \
--region="${region}"

Controllare lo stato del tunnel del VPC di routing

gcloud compute vpn-tunnels describe routing-vpc-tunnel \
--region=us-central1 \
--format='flattened(status,detailedStatus)'

Controllare lo stato del router Cloud del VPC di routing

Utilizza il comando gcloud per elencare le route apprese BGP del router Cloud del VPC di routing.

gcloud compute routers get-status routing-vpc-cr \
--region=us-central1

4. Hub Network Connectivity Center

Panoramica

In questa sezione, configureremo un hub NCC utilizzando i comandi gcloud. L'hub NCC fungerà da piano di controllo responsabile della creazione della configurazione di routing tra ogni spoke VPC.

6a26627c680ddac5.png

Abilitare i servizi API

Abilita l'API Network Connectivity se non è ancora abilitata:

gcloud services enable networkconnectivity.googleapis.com

Creare l'hub NCC

Crea un hub NCC utilizzando il comando gcloud

hub_name="mesh-hub"
gcloud network-connectivity hubs create "${hub_name}"

Output di esempio

Create request issued for: [mesh-hub]
Waiting for operation [projects/ncc/locations/global/operations/operation-1719930559145-61c448a0426e4-2d18c8dd-7107edbe] to complete...done.               
Created hub [mesh-hub].

Descrivi l'hub NCC appena creato. Prendi nota del nome e del percorso associato.

gcloud network-connectivity hubs describe mesh-hub
createTime: '2024-07-02T14:29:19.260054897Z'
exportPsc: false
name: projects/ncc/locations/global/hubs/mesh-hub
policyMode: PRESET
presetTopology: MESH
routeTables:
- projects/ncc/locations/global/hubs/mesh-hub/routeTables/default
state: ACTIVE
uniqueId: 08f9ae88-f76f-432b-92b2-357a85fc83aa
updateTime: '2024-07-02T14:29:32.583206925Z'

L'hub NCC ha introdotto una tabella di routing che definisce il piano di controllo per la creazione della connettività dei dati. Trova il nome della tabella di routing dell'hub NCC

 gcloud network-connectivity hubs route-tables list --hub=mesh-hub
NAME     HUB       DESCRIPTION
default  mesh-hub

Trova l'URI della tabella di route predefinita di NCC.

gcloud network-connectivity hubs route-tables describe default --hub=mesh-hub
createTime: '2024-07-02T14:29:22.340190411Z'
name: projects/ncc/locations/global/hubs/mesh-hub/routeTables/default
state: ACTIVE
uid: fa2af78b-d416-41aa-b442-b8ebdf84f799

Elenca i contenuti della tabella di routing predefinita dell'hub NCC. Nota: la tabella di route dell'hub NCC sarà vuota finché non vengono definiti gli spoke ibridi o gli spoke VPC NCC.

gcloud network-connectivity hubs route-tables routes list --hub=mesh-hub --route_table=default

La tabella di route dell'hub NCC deve essere vuota.

5. NCC con spoke ibridi e VPC

Panoramica

In questa sezione, configurerai due spoke NCC utilizzando i comandi gcloud. Uno spoke sarà uno spoke VPC e il secondo sarà uno spoke ibrido (VPN).

f234ce75342022d8.png

Configurare i VPC del carico di lavoro come spoke NCC

Configura il VPC del carico di lavoro come spoke NCC e assegnalo all'hub NCC creato in precedenza. Le chiamate API degli spoke NCC richiedono la specifica di una località. Il flag "–global" consente all'utente di evitare di specificare un percorso URI completo durante la configurazione di un nuovo spoke NCC.

vpc_spoke_name="workload-vpc-spoke"
vpc_spoke_network_name="workload-vpc"

gcloud network-connectivity spokes linked-vpc-network create "${vpc_spoke_name}" \
--hub="${hub_name}" \
--vpc-network="${vpc_spoke_network_name}" \
--global
Create request issued for: [workload-vpc-spoke]
Waiting for operation [projects/ncc/locations/global/operations/operation-1719931097138-61c44aa15463f-90de22c7-40c10e6b] to complete...done.               
Created spoke [workload-vpc-spoke].
createTime: '2024-07-02T14:38:17.315200822Z'
group: projects/ncc/locations/global/hubs/mesh-hub/groups/default
hub: projects/ncc/locations/global/hubs/mesh-hub
linkedVpcNetwork:
  uri: https://www.googleapis.com/compute/v1/projects/ncc/global/networks/workload-vpc
name: projects/ncc/locations/global/spokes/workload-vpc-spoke
spokeType: VPC_NETWORK
state: ACTIVE
uniqueId: 33e50612-9b62-4ec7-be6c-962077fd47dc
updateTime: '2024-07-02T14:38:44.196850231Z'

Configurare il tunnel VPN nel VPC di routing come spoke ibrido

Utilizza questo comando gcloud per configurare il tunnel VPN come spoke ibrido per partecipare a mesh-hub.

vpn_spoke_name="hybrid-spoke"
routing_vpc_tunnel_name="routing-vpc-tunnel"
region="us-central1"
hub_name="mesh-hub"

gcloud network-connectivity spokes linked-vpn-tunnels create "${vpn_spoke_name}" \
--region="${region}" \
--hub="${hub_name}" \
--vpn-tunnels="${routing_vpc_tunnel_name}"

Output di esempio

Create request issued for: [hybrid-spoke]
Waiting for operation [projects/ncc/locations/us-central1/operations/operation-1719932916561-61c45168774be-0a06ae03-88192175] to complete...done.          
Created spoke [hybrid-spoke].

Sebbene l'hub NCC apprenda tutte le route delle subnet VPC, per impostazione predefinita NCC non annuncia questi prefissi allo spoke ibrido. Per forzare l'hub NCC ad annunciare le subnet del carico di lavoro VPC on-premise, gli amministratori di rete devono utilizzare il flag "include-import-ranges" per importare gli intervalli IPv4 dall'hub allo spoke ibrido.

Utilizza il comando per aggiornare lo spoke ibrido NCC in modo che annunci tutti i prefissi della tabella di route dell'hub NCC alla rete on-premise.

vpn_spoke_name="hybrid-spoke"
routing_vpc_tunnel_name="routing-vpc-tunnel"
region="us-central1"
hub_name="mesh-hub"

gcloud network-connectivity spokes linked-vpn-tunnels update "${vpn_spoke_name}" \
--region="${region}" \
--include-import-ranges=ALL_IPV4_RANGES

Verificare la configurazione degli spoke di mesh-hub

Utilizza il comando gcloud per elencare i contenuti della tabella di routing predefinita dell'hub NCC.

gcloud network-connectivity hubs list-spokes mesh-hub 

Analizzare la tabella di routing predefinita di mesh-hub

Utilizza il comando gcloud per elencare i contenuti della tabella di routing predefinita dell'hub NCC.

gcloud network-connectivity hubs route-tables routes list --hub=mesh-hub \
--route_table=default

I prefissi appresi dal router Cloud con valori MED BGP vengono propagati tra gli spoke NCC quando si utilizza lo scambio di route dinamiche con gli spoke ibridi NCC.

Utilizza il comando gcloud per visualizzare il valore di priorità "111".

gcloud network-connectivity hubs route-tables routes list \
--hub=mesh-hub \
--route_table=default \
--effective-location=us-central1 \
--filter=10.0.3.0/24

Passare al router Cloud on-premise

Utilizza il comando gcloud per visualizzare le route apprese dalla rete on-premise.

gcloud compute routers get-status on-prem-router \
--region=us-central1\
--format="yaml(result.bgpPeerStatus)" 

6. Filtri spoke ibridi NCC

In questa sezione, creeremo due nuove subnet, una on-premise e un'altra nel carico di lavoro VPC, e osserveremo il comportamento dei filtri spoke ibridi NCC.

Utilizza i comandi per creare una nuova subnet nel VPC on-premise.

on_prem_network_name="on-prem-net-vpc"
on_prem_subnet_name="on-prem-subnet30"
on_prem_subnet_range="10.30.30.0/24"
region="us-central1"

gcloud compute networks subnets create "${on_prem_subnet_name}" \
--region="${region}" \
--network="${on_prem_network_name}" \
--range="${on_prem_subnet_range}"

Utilizza i comandi per creare una nuova subnet nel VPC del carico di lavoro.

vpc_spoke_network_name="workload-vpc"
vpc_spoke_subnet_name="workload-subnet10"
vpc_spoke_subnet_ip_range="10.10.10.0/24"
vpc_spoke_name="workload-vpc-spoke"
region="us-central1"

gcloud compute networks subnets create "${vpc_spoke_subnet_name}" \
--network="${vpc_spoke_network_name}" \
--range="${vpc_spoke_subnet_ip_range}" \
--region="${region}"

Gli amministratori possono utilizzare il flag "–exclude-export-ranges" per filtrare i prefissi IP esportati nella tabella di route dell'hub NCC. In questo modo, gli amministratori possono controllare le dimensioni della tabella di route dell'hub NCC. Per impostazione predefinita, tutti i prefissi IPv4 vengono appresi on-premise e sono consentiti nella tabella di route dell'hub NCC.

Utilizza il comando per aggiornare lo spoke ibrido NCC in modo che filtri il prefisso 10.30.30.0/24 dall'inserimento nella tabella di route dell'hub NCC.

vpn_spoke_name="hybrid-spoke"
routing_vpc_tunnel_name="routing-vpc-tunnel"
region="us-central1"
hub_name="mesh-hub"

gcloud network-connectivity spokes linked-vpn-tunnels update "${vpn_spoke_name}" \
--region="${region}" \
--exclude-export-ranges=10.30.30.0/24

Utilizza il comando gcloud per verificare che il prefisso 10.30.30.0/24 NON sia presente nella tabella di route dell'hub NCC

gcloud network-connectivity hubs route-tables routes list \
--hub=mesh-hub \
--route_table=default \
--effective-location=us-central1 \
--filter=10.30.30.0/24

Passa al router on-premise e utilizza il comando gcloud per verificare che abbia appreso la subnet 10.10.10.0/24 del VPC del carico di lavoro

gcloud compute routers get-status on-prem-router \
--region=us-central1\
--format="yaml(result.bgpPeerStatus)" 

I comandi riportati di seguito con il flag "–exclude-import-ranges" per filtrare il prefisso 10.10.10.0/24 specifico dall'annuncio al router on-premise.

vpn_spoke_name="hybrid-spoke"
routing_vpc_tunnel_name="routing-vpc-tunnel"
region="us-central1"
hub_name="mesh-hub"

gcloud network-connectivity spokes linked-vpn-tunnels update "${vpn_spoke_name}" \
--region="${region}" \
--exclude-import-ranges=10.10.10.0/24

Passa al router on-premise e utilizza il comando gcloud per controllare la tabella di routing; tieni presente che il prefisso 10.10.10.0/24 NON deve essere presente.

gcloud compute routers get-status on-prem-router \
--region=us-central1\
--format="yaml(result.bgpPeerStatus)" 

7. Verificare il percorso dati

In questo passaggio, convalideremo il percorso dati tra lo spoke ibrido e lo spoke VPC NCC. 9eb9c4936851deb0.png

Utilizza l'output di questi comandi gcloud per accedere alla VM on-premise.

gcloud compute instances list --filter="name=vm3-onprem"

Accedi all'istanza VM che si trova nella rete on-premise.

gcloud compute ssh vm3-onprem --zone=us-central1-a

Nel terminale di vm3-onprem, utilizza il comando curl per stabilire una sessione web con la VM ospitata in workload-vpc.

curl 10.0.1.2 -v
*   Trying 10.0.1.2:80...
* Connected to 10.0.1.2 (10.0.1.2) port 80 (#0)
> GET / HTTP/1.1
> Host: 10.0.1.2
> User-Agent: curl/7.74.0
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Wed, 03 Jul 2024 15:41:34 GMT
< Server: Apache/2.4.59 (Debian)
< Last-Modified: Mon, 01 Jul 2024 20:36:16 GMT
< ETag: "1e-61c358c8272ba"
< Accept-Ranges: bytes
< Content-Length: 30
< Content-Type: text/html
< 

<h3>Web Server: www-vm1</h3>
* Connection #0 to host 10.0.1.2 left intact

8. Elimina

Accedi a Cloud Shell ed elimina le risorse Google Cloud.

Eliminare gli spoke NCC

gcloud network-connectivity spokes delete workload-vpc-spoke --global \
--quiet

gcloud network-connectivity spokes delete hybrid-spoke \
--quiet \
--region us-central1

Eliminare l'hub NCC

gcloud network-connectivity hubs delete mesh-hub --quiet

Eliminare le regole firewall

gcloud compute firewall-rules delete onprem-vpc-port-firewall-prem onprem-vpc-protocol-firewall routing-vpc--port-fw routing-vpc-protocol-fw workload-port-firewall-vpc workload-protocol-fw-vpc --quiet

Eliminare il tunnel HA-VPN

gcloud compute vpn-tunnels delete on-prem-tunnel \
--region=us-central1 \
--quiet 

gcloud compute vpn-tunnels delete routing-vpc-tunnel \
--region=us-central1 \
--quiet 

Eliminare il gateway VPN

gcloud compute vpn-gateways delete on-prem-vpn-gateway \
--region=us-central1 --quiet

gcloud compute vpn-gateways delete routing-vpc-vpn-gateway \
--region us-central1 --quiet

Eliminare il router Cloud

gcloud compute routers delete routing-vpc-cr --region us-central1 --quiet

gcloud compute routers delete on-prem-router --region us-central1 --quiet

Eliminare le istanze GCE

gcloud compute instances delete vm1-vpc-workload \
--zone=us-central1-a \
--quiet


gcloud compute instances delete vm2-vpc-routing \
--zone=us-central1-a \
--quiet

gcloud compute instances delete vm3-onprem \
--zone=us-central1-a \
--quiet

Eliminare le subnet VPC

gcloud compute networks subnets delete workload-subnet --region us-central1 --quiet

gcloud compute networks subnets delete on-prem-subnet --region us-central1 --quiet

gcloud compute networks subnets delete routing-vpc-subnet --region us-central1 --quiet

Eliminare i VPC

gcloud compute networks delete on-prem-net-vpcworkload-vpc routing-vpc 
--quiet 

9. Complimenti!

Hai completato il lab di Network Connectivity Center per lo scambio di route dinamiche.

Argomenti trattati

  • Scambio di route dinamiche con Network Connectivity Center

Passaggi successivi

©Google, LLC o le sue società consociate. Tutti i diritti riservati. Distribuzione vietata.