1. Pengantar
Ringkasan
Di lab ini, pengguna akan mempelajari cara menggunakan Network Connectivity Center (NCC) untuk membuat konektivitas lokal dalam skala besar melalui dukungan untuk Spoke VPC dan pertukaran rute dinamis. Saat pengguna menetapkan VPC sebagai spoke VPC, mereka dapat menghubungkannya ke beberapa jaringan VPC secara bersamaan melalui Hub NCC. Untuk membuat konektivitas jaringan dengan jaringan lokal milik pengguna, mereka dapat menghubungkan NIC virtual Router appliance, tunnel HA_VPN, atau lampiran VLAN Interconnect ke hub NCC yang sama dengan spoke VPC NCC.
Resource hub menyediakan model pengelolaan konektivitas terpusat untuk melakukan interkoneksi antar-spoke.
Yang akan Anda bangun
Dalam codelab ini, Anda akan membuat topologi hub dan spoke logis dengan hub NCC yang akan menerapkan konektivitas hybrid antara jaringan lokal dan VPC workload.

Yang akan Anda pelajari
- Membedakan antara VPC Workload dan VPC Perutean
- Integrasi NCC untuk spoke VPC dan Spoke Hybrid
Yang Anda butuhkan
- Pengetahuan tentang jaringan VPC GCP
- Pengetahuan tentang perutean BGP dan Cloud Router
- Project Google Cloud
- Periksa Quota:Networks dan minta penambahan Jaringan jika diperlukan, lihat screenshot di bawah:

Tujuan
- Menyiapkan Lingkungan GCP
- Mengonfigurasi Network Connectivity Center dengan VPC sebagai spoke
- Mengonfigurasi Network Connectivity Center dengan tunnel VPN dengan ketersediaan tinggi (HA) sebagai spoke hybrid
- Memvalidasi Jalur Data
- Mempelajari fitur kemampuan servis NCC
- Membersihkan resource yang digunakan
Sebelum memulai
Google Cloud Console dan Cloud Shell
Untuk berinteraksi dengan GCP, kita akan menggunakan Konsol Google Cloud dan Cloud Shell di sepanjang lab ini.
Project NCC Hub Konsol Google Cloud
Konsol Cloud dapat diakses di https://console.cloud.google.com.
Siapkan item berikut di Google Cloud untuk mempermudah konfigurasi Network Connectivity Center:
Di Konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
Luncurkan Cloud Shell. Codelab ini menggunakan $variables untuk membantu penerapan konfigurasi gcloud di 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"
Peran IAM
NCC memerlukan peran IAM untuk mengakses API tertentu. Pastikan untuk mengonfigurasi pengguna Anda dengan peran IAM NCC sesuai kebutuhan.
Peran/Deskripsi | Izin |
networkconnectivity.networkAdmin - Mengizinkan administrator jaringan mengelola hub dan spoke. | networkconnectivity.hubs.networkconnectivity.spokes. |
networkconnectivity.networkSpokeManager - Memungkinkan penambahan dan pengelolaan spoke di hub. Untuk digunakan di VPC Bersama tempat project host memiliki Hub, tetapi admin lain di project lain dapat menambahkan spoke untuk lampiran mereka ke Hub. | networkconnectivity.spokes.** |
networkconnectivity.networkUsernetworkconnectivity.networkViewer - Mengizinkan pengguna jaringan melihat berbagai atribut hub dan spoke. | networkconnectivity.hubs.getnetworkconnectivity.hubs.listnetworkconnectivity.spokes.getnetworkconnectivity.spokes.listnetworkconnectivity.spokes.aggregatedList |
2. Menyiapkan Lingkungan Jaringan
Ringkasan
Di bagian ini, kita akan men-deploy tiga jaringan VPC dan aturan firewall dalam satu project. Diagram logis mengilustrasikan lingkungan jaringan yang akan disiapkan pada langkah ini. Untuk tujuan codelab ini, VPC akan digunakan untuk menyimulasikan jaringan lokal.

Konsep Utama 1
VPC Global Google Cloud menyediakan konektivitas jalur data antara lebih dari 44 region GCP. Cloud Router, layanan regional, secara dinamis mengiklankan subnet dan menyebarkan rute yang dipelajari di region tempat router dikonfigurasi atau di seluruh jaringan VPC. Router cloud akan menyebarkan rute secara regional atau global bergantung pada mode perutean dinamis yang ditentukan pengguna: regional atau global.
Di bagian ini, kita akan mulai dengan mengonfigurasi setiap VPC dengan mode perutean regional. Untuk sisa codelab ini:
- "VPC Perutean" mengidentifikasi VPC yang TIDAK dikonfigurasi sebagai spoke VPC NCC.
- "VPC Workload" mengidentifikasi VPC yang dikonfigurasi sebagai spoke NCC.
Buat VPC beban kerja dan Subnet
Jaringan VPC berisi subnet tempat Anda akan menginstal VM GCE untuk validasi jalur data
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}"
Buat VPC perutean dan subnet
NCC mendukung semua rentang subnet IPv4 yang valid, kecuali alamat IP publik yang digunakan secara pribadi.
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}"
Buat VPC lokal dan subnet
NCC mendukung semua rentang subnet IPv4 yang valid, kecuali alamat IP publik yang digunakan secara pribadi.
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}"
Mengonfigurasi Aturan Firewall VPC Workload
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"
Mengonfigurasi Aturan Firewall VPC dan VPC Perutean
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"
Konfigurasi Aturan Firewall VPC dan VPC Lokal
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"
Mengonfigurasi VM GCE di Setiap VPC
Anda memerlukan akses internet sementara untuk menginstal paket di "vm1-vpc1-ncc".
Buat tiga virtual machine, dengan setiap VM ditetapkan ke salah satu VPC yang dibuat sebelumnya
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. Menyiapkan Konektivitas Hybrid
Di bagian ini, kita akan mengonfigurasi tunnel VPN dengan ketersediaan tinggi (HA) untuk menghubungkan jaringan VPC lokal dan perutean.

Konfigurasi Cloud Router dengan BGP di VPC perutean
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}"
Konfigurasi Cloud Router dengan BGP di VPC Lokal
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}"
Konfigurasi Gateway VPN di VPC perutean
routing_vpn_gateway_name="routing-vpc-vpn-gateway"
gcloud compute vpn-gateways create "${routing_vpn_gateway_name}" \
--region="${region}" \
--network="${routing_vpc_network_name}"
Konfigurasi Gateway VPN di VPC Lokal
on_prem_gateway_name="on-prem-vpn-gateway"
gcloud compute vpn-gateways create "${on_prem_gateway_name}" \
--region="${region}" \
--network="${on_prem_network_name}"
Konfigurasi tunnel VPN di VPC perutean dan VPC lokal
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}"
Buat sesi BGP ke peer BGP, VPC perutean, dan Cloud Router lokal
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}"
Secara default, subnet Hub NCC tidak diumumkan ke spoke hybrid. Pada langkah berikutnya, konfigurasi Cloud Router untuk mengumumkan rute subnet NCC ke jaringan lokal.
Beri tahukan subnet spoke VPC ke Cloud Router lokal
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}"
Memberitahukan subnet lokal ke Cloud Router VPC perutean
gcloud compute routers update "${on_prem_router_name}" \
--advertisement-mode custom \
--set-advertisement-groups=all_subnets \
--region="${region}"
Perbarui konfigurasi peering BGP Cloud Router lokal untuk mengumumkan awalan dengan nilai MED "111". Di bagian selanjutnya, kita akan mengamati perilaku NCC dengan nilai 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}"
Periksa status tunnel VPC perutean
gcloud compute vpn-tunnels describe routing-vpc-tunnel \
--region=us-central1 \
--format='flattened(status,detailedStatus)'
Periksa status Cloud Router VPC perutean
Gunakan perintah gcloud untuk mencantumkan rute yang dipelajari BGP dari Cloud Router VPC perutean.
gcloud compute routers get-status routing-vpc-cr \
--region=us-central1
4. Hub Network Connectivity Center
Ringkasan
Di bagian ini, kita akan mengonfigurasi Hub NCC menggunakan perintah gcloud. Hub NCC akan berfungsi sebagai bidang kontrol yang bertanggung jawab untuk membangun konfigurasi perutean di antara setiap spoke VPC.

Mengaktifkan Layanan API
Aktifkan Network Connectivity API jika belum diaktifkan:
gcloud services enable networkconnectivity.googleapis.com
Membuat Hub NCC
Buat hub NCC menggunakan perintah gCloud
hub_name="mesh-hub"
gcloud network-connectivity hubs create "${hub_name}"
Contoh output
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].
Deskripsikan Hub NCC yang baru dibuat. Perhatikan nama dan jalur terkait.
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'
Hub NCC memperkenalkan tabel perutean yang menentukan bidang kontrol untuk membuat konektivitas data. Temukan nama tabel perutean Hub NCC
gcloud network-connectivity hubs route-tables list --hub=mesh-hub
NAME HUB DESCRIPTION
default mesh-hub
Temukan URI tabel rute default 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
Cantumkan konten tabel perutean default Hub NCC. Catatan* Tabel rute Hub NCC akan kosong hingga spoke hybrid NCC atau spoke VPC ditentukan.
gcloud network-connectivity hubs route-tables routes list --hub=mesh-hub --route_table=default
Tabel rute Hub NCC harus kosong.
5. NCC dengan Spoke Hybrid dan VPC
Ringkasan
Di bagian ini, Anda akan mengonfigurasi dua Spoke NCC menggunakan perintah gCloud. Satu spoke akan menjadi spoke VPC dan satu spoke lainnya akan menjadi spoke hybrid (VPN).

Mengonfigurasi VPC Workload sebagai Spoke NCC
Konfigurasi VPC workload sebagai spoke NCC dan tetapkan ke hub NCC yang dibuat sebelumnya. Panggilan API spoke NCC memerlukan penentuan lokasi. Flag "–global" memungkinkan pengguna menghindari penentuan jalur URI lengkap saat mengonfigurasi spoke NCC baru.
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'
Mengonfigurasi tunnel VPN di VPC Perutean sebagai spoke hybrid
Gunakan perintah gcloud ini untuk mengonfigurasi tunnel VPN sebagai spoke hybrid untuk bergabung ke 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}"
Contoh Output
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].
Verifikasi konfigurasi spoke mesh-hub
Gunakan perintah gcloud untuk mencantumkan konten tabel perutean default Hub NCC.
gcloud network-connectivity hubs list-spokes mesh-hub
Menganalisis tabel perutean default mesh-hub
Gunakan perintah gcloud untuk mencantumkan konten tabel perutean default Hub NCC.
gcloud network-connectivity hubs route-tables routes list --hub=mesh-hub \
--route_table=default
Awalan yang dipelajari Cloud Router dengan nilai MED BGP disebarkan di seluruh spoke NCC saat menggunakan pertukaran rute dinamis dengan spoke hybrid NCC.
Gunakan perintah gcloud untuk melihat nilai prioritas "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
6. Memverifikasi jalur data
Pada langkah ini, kita akan memvalidasi jalur data antara spoke VPC dan hybrid NCC. 
Gunakan output dari perintah gcloud ini untuk login ke VM lokal.
gcloud compute instances list --filter="name=vm3-onprem"
Login ke instance VM yang berada di jaringan lokal.
gcloud compute ssh vm3-onprem --zone=us-central1-a
Di terminal vm3-onprem, gunakan perintah curl untuk membuat sesi web ke VM yang dihosting di 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
7. Pembersihan
Login ke cloud shell dan hapus resource GCP.
Menghapus spoke NCC
gcloud network-connectivity spokes delete workload-vpc-spoke --global \
--quiet
gcloud network-connectivity spokes delete hybrid-spoke \
--quiet \
--region us-central1
Menghapus Hub NCC
gcloud network-connectivity hubs delete mesh-hub --quiet
Menghapus Aturan 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
Menghapus Tunnel VPN dengan ketersediaan tinggi (HA)
gcloud compute vpn-tunnels delete on-prem-tunnel \
--region=us-central1 \
--quiet
gcloud compute vpn-tunnels delete routing-vpc-tunnel \
--region=us-central1 \
--quiet
Hapus VPN-Gateway
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
Menghapus Cloud Router
gcloud compute routers delete routing-vpc-cr --region us-central1 --quiet
gcloud compute routers delete on-prem-router --region us-central1 --quiet
Menghapus Instance 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
Menghapus 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
Hapus VPC
gcloud compute networks delete on-prem-net-vpcworkload-vpc routing-vpc
--quiet
8. Selamat!
Anda telah menyelesaikan Lab Network Connectivity Center Pertukaran Rute Dinamis.
Yang telah Anda pelajari
- Pertukaran Rute Dinamis dengan Network Connectivity Center
Langkah Berikutnya
©Google, LLC atau afiliasinya. Semua hak dilindungi undang-undang. Jangan disebarluaskan.