1. Wprowadzenie
Przegląd
W tym module użytkownicy dowiedzą się, jak centrum Network Connectivity Center propaguje punkt końcowy Private Service Connect do promieni VPC.
Zasób centrum zapewnia scentralizowany model zarządzania połączeniami, który umożliwia łączenie ruchu promieni VPC z punktami końcowymi PSC.
Co utworzysz
W tym module dowiesz się, jak utworzyć sieć NCC, która będzie propagować punkt końcowy Private Service Connect do instancji Cloud SQL.

Czego się nauczysz
- Nawiązywanie połączenia z instancją Cloud SQL za pomocą usługi Private Service Connect
- Użyj centrum NCC, aby rozpowszechnić podsieć PSC na wszystkie promienie VPC, co umożliwi połączenie sieciowe z wielu sieci VPC.
Czego potrzebujesz
- Znajomość sieci w Google Cloud Platform
- Podstawowa wiedza o Cloud SQL
- Projekt Google Cloud
- Sprawdź limit:sieci i w razie potrzeby poproś o dodanie kolejnych sieci (zrzut ekranu poniżej):

Cele
- Konfigurowanie środowiska GCP
- Konfigurowanie instancji Cloud SQL for MySQL z funkcją Private Service Connect
- Konfigurowanie centrum Network Connectivity Center do propagowania punktów końcowych PSC
- Konfigurowanie Network Connectivity Center z siecią VPC jako promieniem
- Sprawdzanie ścieżki danych
- Poznaj funkcje serwisowania NCC
- Zwalnianie miejsca
Zanim zaczniesz
Konsola Google Cloud i Cloud Shell
Aby korzystać z GCP, w tym module będziemy używać zarówno konsoli Google Cloud, jak i Cloud Shell.
Konsola Google Cloud projektu centrum NCC
Konsola Cloud jest dostępna pod adresem https://console.cloud.google.com.
Skonfiguruj w Google Cloud te elementy, aby ułatwić sobie konfigurowanie Network Connectivity Center:
W konsoli Google Cloud na stronie selektora projektów wybierz lub utwórz projekt Google Cloud.
Uruchom Cloud Shell. W tym laboratorium wykorzystywane są zmienne $variables, które ułatwiają wdrażanie konfiguracji gcloud w Cloud Shell.
gcloud auth list
gcloud config list project
gcloud config set project $project
project=[YOUR-PROJECT-NAME]
echo $project
Role uprawnień
Aby uzyskać dostęp do określonych interfejsów API, NCC wymaga ról uprawnień. W razie potrzeby skonfiguruj użytkownika z rolami IAM usługi NCC.
Rola/opis | Uprawnienia |
networkconnectivity.networkAdmin – umożliwia administratorom sieci zarządzanie hubami i sieciami typu spoke. | networkconnectivity.hubs.networkconnectivity.spokes. |
networkconnectivity.networkSpokeManager – umożliwia dodawanie promieni w centrum i zarządzanie nimi. Do użycia we współdzielonym środowisku VPC, w którym główny projekt jest właścicielem centrum, ale inni administratorzy w innych projektach mogą dodawać promienie do swoich połączeń z centrum. | networkconnectivity.spokes.** |
networkconnectivity.networkUsernetworkconnectivity.networkViewer – umożliwia użytkownikom sieci wyświetlanie różnych atrybutów koncentratorów i szprych. | networkconnectivity.hubs.getnetworkconnectivity.hubs.listnetworkconnectivity.spokes.getnetworkconnectivity.spokes.listnetworkconnectivity.spokes.aggregatedList |
2. Konfigurowanie środowiska sieciowego
Przegląd
W tej sekcji wdrożymy 2 sieci VPC i reguły zapory sieciowej w jednym projekcie. Diagram logiczny przedstawia środowisko sieciowe, które zostanie skonfigurowane w tym kroku.

Tworzenie sieci VPC1 i podsieci
Sieć VPC zawiera podsieci, w których zainstalujesz maszynę wirtualną GCE do weryfikacji ścieżki danych.
vpc_spoke_network_name="vpc1-spoke"
vpc_spoke_subnet_name="subnet1"
vpc_spoke_subnet_ip_range="10.0.1.0/24"
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}"
Tworzenie podsieci PSC w VPC
Użyj poniższego polecenia, aby utworzyć w sieci VPC typu spoke podsieć, która zostanie przydzielona do punktu końcowego usługi PSC.
vpc_spoke_network_name="vpc1-spoke"
vpc_spoke_subnet_name="csql-psc-subnet"
region="us-central1"
vpc_spoke_subnet_ip_range="192.168.0.0/24"
gcloud compute networks subnets create "${vpc_spoke_subnet_name}" \
--network="${vpc_spoke_network_name}" \
--range="${vpc_spoke_subnet_ip_range}" \
--region="${region}"
Utwórz VPC3 i podsieć
vpc_spoke_network_name="vpc3-spoke"
vpc_spoke_subnet_name="subnet3"
vpc_spoke_subnet_ip_range="10.0.3.0/24"
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}"
Konfigurowanie reguł zapory sieciowej VPC1
Te reguły zezwalają na łączność sieciową z zakresów RFC1918 i Identity Access Proxy.
vpc_spoke_network_name="vpc1-spoke"
gcloud compute firewall-rules create vpc1-allow-all \
--network="${vpc_spoke_network_name}" \
--allow=all \
--source-ranges=10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
gcloud compute firewall-rules create vpc1-allow-iap \
--network="${vpc_spoke_network_name}" \
--allow all \
--source-ranges 35.235.240.0/20
Konfigurowanie sieci VPC routingu i reguł zapory sieciowej VPC
vpc_spoke_network_name="vpc3-spoke"
gcloud compute firewall-rules create vpc3-allow-all \
--network="${vpc_spoke_network_name}" \
--allow=all \
--source-ranges=10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
gcloud compute firewall-rules create vpc3-allow-iap \
--network="${vpc_spoke_network_name}" \
--allow all \
--source-ranges 35.235.240.0/20
Konfigurowanie maszyny wirtualnej GCE w sieci VPC1
Aby zainstalować pakiety, musisz mieć tymczasowy dostęp do internetu, więc skonfiguruj instancję tak, aby używała zewnętrznego adresu IP.
vm_vpc1_spoke_name="csql-vpc1-vm"
vpc_spoke_network_name="vpc1-spoke"
vpc_spoke_subnet_name="subnet1"
region="us-central1"
zone="us-central1-a"
gcloud compute instances create "${vm_vpc1_spoke_name}" \
--machine-type="e2-medium" \
--subnet="${vpc_spoke_subnet_name}" \
--zone="${zone}" \
--image-family=debian-11 \
--image-project=debian-cloud \
--metadata=startup-script='#!/bin/bash
sudo apt-get update
sudo apt-get install -y default-mysql-client'
Konfigurowanie maszyny wirtualnej GCE w sieci VPC3
Aby zainstalować pakiety, musisz mieć tymczasowy dostęp do internetu, więc skonfiguruj instancję tak, aby używała zewnętrznego adresu IP.
vm_vpc_spoke_name="csql-vpc3-vm"
vpc_spoke_network_name="vpc3-spoke"
vpc_spoke_subnet_name="subnet3"
region="us-central1"
zone="us-central1-a"
gcloud compute instances create "${vm_vpc_spoke_name}" \
--machine-type="e2-medium" \
--subnet="${vpc_spoke_subnet_name}" \
--zone="${zone}" \
--image-family=debian-11 \
--image-project=debian-cloud \
--metadata=startup-script='#!/bin/bash
sudo apt-get update
sudo apt-get install -y default-mysql-client'
3. Tworzenie instancji Cloud SQL
Aby utworzyć instancję i włączyć Private Service Connect, użyj poniższych poleceń .
Zajmie to tylko kilka minut.
gcloud config set project ${project}
gcloud sql instances create mysql-instance \
--project="${project}" \
--region=us-central1 \
--enable-private-service-connect \
--allowed-psc-projects="${project}" \
--availability-type=zonal \
--no-assign-ip \
--tier=db-f1-micro \
--database-version=MYSQL_8_0 \
--enable-bin-log
Określanie identyfikatora URI przyłącza usługi instancji Cloud SQL
Aby wyświetlić informacje o instancji z włączoną usługą Private Service Connect, użyj polecenia gcloud sql instances describe. Zwróć uwagę na pole pscServiceAttachmentLink, które wyświetla identyfikator URI wskazujący przyłącze usługi instancji. Będzie nam to potrzebne w następnej sekcji.
gcloud sql instances describe mysql-instance \
--format='value(pscServiceAttachmentLink)'
4. Punkt końcowy PSC do Cloud SQL
Zarezerwuj wewnętrzny adres IP dla punktu końcowego PSC
Użyj poniższego polecenia, aby zarezerwować wewnętrzny adres IP dla punktu końcowego Private Service Connect.
region="us-central1"
vpc_spoke_subnet_name="csql-psc-subnet"
gcloud compute addresses create csql-psc-ip \
--subnet="${vpc_spoke_subnet_name}" \
--region="${region}" \
--addresses=192.168.0.253
Wyszukaj NAZWĘ powiązaną z zarezerwowanym adresem IP. Będzie on używany w konfiguracji reguły przekierowania.
gcloud compute addresses list \
--filter="name=csql-psc-ip"
Utwórz regułę przekierowania Private Service Connect w sieci VPC1
Użyj poniższego polecenia, aby utworzyć punkt końcowy Private Service Connect i skierować go do przyłącza usługi Cloud SQL.
vpc_spoke_network_name="vpc1-spoke"
vpc_spoke_subnet_name="csql-psc-subnet"
region="us-central1"
csql_psc_ep_name="csql-psc-ep"
sa_uri=$(gcloud sql instances describe mysql-instance \
--format='value(pscServiceAttachmentLink)')
echo "$sa_uri"
gcloud compute forwarding-rules create "${csql_psc_ep_name}" \
--address=csql-psc-ip \
--region="${region}" \
--network="${vpc_spoke_network_name}" \
--target-service-attachment="${sa_uri}" \
--allow-psc-global-access
Aby sprawdzić, czy przyłącze usługi cSQL akceptuje punkt końcowy, użyj tego polecenia:
gcloud compute forwarding-rules describe csql-psc-ep \
--region=us-central1 \
--format='value(pscConnectionStatus)'
Sprawdź ścieżkę danych do MySQL z VPC1
Gdy tworzysz nową instancję Cloud SQL, musisz ustawić hasło do domyślnego konta użytkownika, zanim będziesz mieć możliwość połączenia się z instancją.
gcloud sql users set-password root \
--host=% \
--instance=mysql-instance \
--prompt-for-password
Aby znaleźć adres IP punktu końcowego PSC powiązanego z przyłączem usługi Cloud SQL, użyj tego polecenia:
gcloud compute addresses describe csql-psc-ip \
--region=us-central1 \
--format='value(address)'
Nawiązywanie połączenia z instancją Cloud SQL z poziomu maszyny wirtualnej w sieci VPC1
Otwieranie sesji SSH na maszynie wirtualnej csql-vpc1-vm
gcloud compute ssh csql-vpc1-vm \
--zone=us-central1-a \
--tunnel-through-iap
Aby połączyć się z instancją Cloud SQL, użyj tego polecenia: Gdy pojawi się prośba, wpisz hasło utworzone w poprzednim kroku.
mysql -h 192.168.0.253 -u root -p
Poniższe dane wyjściowe są wyświetlane po pomyślnym zalogowaniu.
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 8350
Server version: 8.0.31-google (Google)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]>
Użyj polecenia show databases;, aby sprawdzić bazy danych, które są domyślnie tworzone w MySQL.
MySQL [(none)]> show databases;
Nawiązywanie połączenia z instancją Cloud SQL z poziomu maszyny wirtualnej w sieci VPC3
Otwórz sesję SSH na maszynie wirtualnej csql-vpc3-vm.
gcloud compute ssh csql-vpc3-vm \
--zone=us-central1-a \
--tunnel-through-iap
Aby połączyć się z instancją Cloud SQL, użyj tego polecenia: Gdy pojawi się prośba, wpisz hasło utworzone w poprzednim kroku.
mysql -h 192.168.0.253 -u root -p
Sesja z maszyny wirtualnej znajdującej się w sieci VPC3 kończy się niepowodzeniem, ponieważ nie ma ścieżki danych z sieci VPC3 do punktu końcowego Private Service Connect. Aby wyjść z sesji, użyj kombinacji klawiszy.
Ctrl + C
5. Centrum Network Connectivity Center
Omówienie
W tej sekcji skonfigurujemy centrum NCC za pomocą poleceń gcloud. Centrum NCC będzie pełnić funkcję platformy sterującej odpowiedzialnej za tworzenie ścieżki danych z promieni VPC do punktu końcowego Private Service Connect.

Włączanie usług API
Włącz interfejs Network Connectivity API, jeśli nie jest jeszcze włączony:
gcloud services enable networkconnectivity.googleapis.com
Tworzenie centrum NCC
Aby utworzyć hub NCC, użyj poniższego polecenia gcloud. Flaga „–export-psc” nakazuje NCC Hub propagowanie znanych punktów końcowych PSC do wszystkich sieci VPC typu promień.
hub_name="ncc-hub"
gcloud network-connectivity hubs create "${hub_name}" \
--export-psc
Opisz nowo utworzone centrum NCC. Zanotuj nazwę i powiązaną ścieżkę.
gcloud network-connectivity hubs describe ncc-hub
Skonfiguruj sieć VPC1 jako promień NCC
hub_name="ncc-hub"
vpc_spoke_name="sql-vpc1-spoke"
vpc_spoke_network_name="vpc1-spoke"
gcloud network-connectivity spokes linked-vpc-network create "${vpc_spoke_name}" \
--hub="${hub_name}" \
--vpc-network="${vpc_spoke_network_name}" \
--global
Skonfiguruj VPC3 jako promień NCC
hub_name="ncc-hub"
vpc_spoke_name="sql-vpc3-spoke"
vpc_spoke_network_name="vpc3-spoke"
gcloud network-connectivity spokes linked-vpc-network create "${vpc_spoke_name}" \
--hub="${hub_name}" \
--vpc-network="${vpc_spoke_network_name}" \
--global
Aby sprawdzić, czy w tabeli routingu centrum NCC znajduje się trasa do podsieci PSC, użyj tego polecenia:
gcloud network-connectivity hubs route-tables routes list \
--route_table=default \
--hub=ncc-hub
6. Sprawdzanie ścieżki danych NCC
W tym kroku zweryfikujemy ścieżkę danych między NCC Hybrid a promieniem VPC.
Sprawdź skonfigurowaną ścieżkę danych NCC do punktu końcowego PSC instancji Cloud SQL
Użyj danych wyjściowych tych poleceń gcloud, aby zalogować się na lokalnej maszynie wirtualnej.
gcloud compute instances list --filter="name=csql-vpc3-vm"
Zaloguj się na maszynę wirtualną znajdującą się w sieci lokalnej.
gcloud compute ssh csql-vpc3-vm \
--zone=us-central1-a \
--tunnel-through-iap
Aby połączyć się z instancją Cloud SQL, użyj polecenia mysql poniżej. Gdy pojawi się prośba, wpisz hasło utworzone w poprzednim kroku.
mysql -h 192.168.0.253 -u root -p
Poniższe dane wyjściowe są wyświetlane po pomyślnym zalogowaniu.
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 8501
Server version: 8.0.31-google (Google)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.005 sec)
Użyj polecenia show databases;, aby sprawdzić bazy danych, które są domyślnie tworzone w MySQL.
MySQL [(none)]> show databases;
7. Czyszczenie
Zaloguj się w Cloud Shell i usuń zasoby GCP.
Usuń punkty końcowe PSC Cloud SQL
gcloud compute forwarding-rules delete csql-psc-ep \
--region=us-central1 \
--quiet
gcloud compute addresses delete csql-psc-ip \
--region=us-central1 \
--quiet
gcloud compute networks subnets delete csql-psc-subnet \
--region=us-central1 \
--quiet
Usuwanie instancji Cloud SQL
gcloud sql instances delete mysql-instance --quiet
Usuwanie reguł zapory sieciowej
vpc_spoke_network_name="vpc3-spoke"
gcloud compute firewall-rules delete vpc3-allow-all \ --network="${vpc_spoke_network_name}"
gcloud compute firewall-rules delete vpc3-allow-iap \ --network="${vpc_spoke_network_name}"
vpc_spoke_network_name="vpc1-spoke"
gcloud compute firewall-rules delete vpc1-allow-all \ --network="${vpc_spoke_network_name}"
gcloud compute firewall-rules delete vpc1-allow-iap \ --network="${vpc_spoke_network_name}"
Usuwanie instancji GCE w sieciach VPC1 i VPC3
vm_vpc1_spoke_name="csql-vpc1-vm"
zone="us-central1-a"
gcloud compute instances delete "${vm_vpc1_spoke_name}" \
--zone="${zone}" \
--quiet
vm_vpc_spoke_name="csql-vpc3-vm"
zone="us-central1-a"
gcloud compute instances delete "${vm_vpc_spoke_name}" \
--zone="${zone}" --quiet
Usuwanie połączeń z siecią NCC
vpc_spoke_name="sql-vpc1-spoke"
gcloud network-connectivity spokes delete "${vpc_spoke_name}" \
--global \
--quiet
vpc_spoke_name="sql-vpc3-spoke"
gcloud network-connectivity spokes delete "${vpc_spoke_name}" \
--global \
--quiet
Usuwanie centrum NCC
hub_name="ncc-hub"
gcloud network-connectivity hubs delete "${hub_name}" \
--project=${project}
Usuń podsieci we wszystkich sieciach VPC
vpc_spoke_subnet_name="csql-psc-subnet"
region="us-central1"
gcloud compute networks subnets delete "${vpc_spoke_subnet_name}" \
--region="${region}" \
--quiet
vpc_spoke_subnet_name="subnet1"
region="us-central1"
gcloud compute networks subnets delete "${vpc_spoke_subnet_name}" \
--region="${region}" \
--quiet
vpc_spoke_subnet_name="subnet3"
region="us-central1"
gcloud compute networks subnets delete "${vpc_spoke_subnet_name}" \
--region="${region}" \
--quiet
Usuwanie sieci VPC1 i VPC3
gcloud compute networks delete vpc1-spoke vpc3-spoke
8. Gratulacje!
Laboratorium propagacji usługi Private Service Connect za pomocą Network Connectivity Center zostało ukończone.
Omówione kwestie
- Propagacja punktu końcowego Private Service Connect za pomocą Network Connectivity Center
Następne kroki