1. Wprowadzenie
Z tego laboratorium kodu dowiesz się, jak wdrożyć połączenie z usługą prywatną dla Cloud SQL i uzyskać dostęp do usługi Cloud SQL za pomocą wdrożonego Private Service Connect. .
Więcej informacji o usłudze Private Service Connect znajdziesz tutaj.
Wymagania wstępne
- podstawowa znajomość konsoli Google Cloud;
- podstawowe umiejętności w interfejsie wiersza poleceń i w Google Cloud Shell;
Czego się nauczysz
- Jak wdrożyć instancję Cloud SQL
- Jak wdrożyć Private Service Connect
- Jak połączyć się z instancją Cloud SQL z poziomu maszyny wirtualnej za pomocą Private Service Connect
Czego potrzebujesz
- Konto Google Cloud i projekt Google Cloud
- przeglądarka internetowa, np. Chrome;
2. Konfiguracja i wymagania
Konfiguracja środowiska w samodzielnym tempie
- Zaloguj się w konsoli Google Cloud i utwórz nowy projekt lub użyj istniejącego. Jeśli nie masz jeszcze konta Gmail ani Google Workspace, musisz je utworzyć.
- Nazwa projektu to wyświetlana nazwa uczestników tego projektu. Jest to ciąg znaków, którego nie używają interfejsy API Google. Możesz ją zaktualizować w dowolnym momencie.
- Identyfikator projektu musi być niepowtarzalny we wszystkich projektach Google Cloud i jest niezmienny (nie można go zmienić po jego ustawieniu). Cloud Console automatycznie generuje unikalny ciąg znaków. Zwykle nie ma znaczenia, jaki to ciąg. W większości laboratoriów z kodem musisz odwoływać się do identyfikatora projektu (zazwyczaj jest to
PROJECT_ID
). Jeśli nie podoba Ci się wygenerowany identyfikator, możesz wygenerować inny losowy. Możesz też spróbować użyć własnego adresu i sprawdzić, czy jest on dostępny. Po tym kroku nie można go zmienić. Pozostanie ona niezmieniona przez cały czas trwania projektu. - Informacyjnie: istnieje jeszcze 3 wartość, numer projektu, którego używają niektóre interfejsy API. Więcej informacji o wszystkich 3 wartościach znajdziesz w dokumentacji.
Uwaga: identyfikator projektu jest globalnie niepowtarzalny i po jego wybraniu nie może być używany przez nikogo innego. Jesteś jedyną osobą, która używa tego identyfikatora. Nawet jeśli projekt zostanie usunięty, nie można ponownie użyć jego identyfikatora.
- Następnie musisz włączyć rozliczenia w konsoli Cloud, aby korzystać z zasobów i interfejsów API Cloud. Przejście przez ten samouczek nie będzie kosztowne, a być może nawet bezpłatne. Aby wyłączyć zasoby i uniknąć obciążenia opłatami po zakończeniu samouczka, możesz usunąć utworzone zasoby lub usunąć projekt. Nowi użytkownicy Google Cloud mogą skorzystać z bezpłatnego okresu próbnego, w którym mają do dyspozycji środki w wysokości 300 USD.
Uruchomienie Cloud Shell
Google Cloud można obsługiwać zdalnie z laptopa, ale w tym ćwiczeniu będziesz korzystać z Google Cloud Shell, czyli środowiska wiersza poleceń działającego w chmurze.
W konsoli Google Cloud kliknij ikonę Cloud Shell na pasku narzędzi w prawym górnym rogu:
Uzyskanie dostępu do środowiska i połączenie się z nim powinno zająć tylko kilka chwil. Po jego zakończeniu powinno wyświetlić się coś takiego:
Ta maszyna wirtualna zawiera wszystkie potrzebne narzędzia dla programistów. Zawiera stały katalog domowy o pojemności 5 GB i działa w Google Cloud, co znacznie poprawia wydajność sieci i uwierzytelnianie. Wszystkie zadania w tym CodeLab możesz wykonać w przeglądarce. Nie musisz niczego instalować.
3. Zanim zaczniesz
Włącz interfejs API
Pamiętaj, że niektóre włączone przez Ciebie zasoby będą generować koszty, jeśli nie korzystasz z poziomu promocyjnego. W normalnych okolicznościach, jeśli wszystkie zasoby zostaną zniszczone po zakończeniu laboratorium, ich koszt nie przekroczy 5 USD. Sprawdź, czy masz możliwość dokonania płatności.
W Cloud Shell sprawdź, czy identyfikator projektu jest skonfigurowany:
Identyfikator projektu jest zwykle wyświetlany w nawiasach w oknie poleceń w Cloud Shell, jak pokazano na obrazku:
gcloud config set project [YOUR-PROJECT-ID]
Pojawi się okno z prośbą o autoryzację Cloud Shell. Kliknij Zezwól.
Następnie ustaw zmienną środowiskową PROJECT_ID na identyfikator projektu Google Cloud:
PROJECT_ID=$(gcloud config get-value project)
Ustaw zmienne środowiskowe REGION i ZONE na preferowany region i strefę:
REGION=europe-west4
ZONE=europe-west4-a
Włącz wszystkie niezbędne usługi:
gcloud services enable compute.googleapis.com \
sqladmin.googleapis.com \
dns.googleapis.com \
iam.googleapis.com
Oczekiwany wynik:
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud services enable compute.googleapis.com \ sqladmin.googleapis.com \ dns.googleapis.com \ iam.googleapis.com Operation "operations/acat.p2-577410439131-dfb33f74-3447-485c-bae2-bc130126c965" finished successfully.
4. Wdrażanie instancji Cloud SQL for Postgres
W Cloud Shell możesz użyć wiersza poleceń, aby utworzyć nową instancję Cloud SQL for PostgreSQL z włączoną funkcją Private Service Connect:
gcloud sql instances create cloudsql-postgres \
--project=$PROJECT_ID \
--region=$REGION \
--enable-private-service-connect \
--allowed-psc-projects=$PROJECT_ID \
--availability-type=ZONAL \
--no-assign-ip \
--cpu=2 \
--memory=7680MB \
--edition=ENTERPRISE \
--database-version=POSTGRES_16
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud sql instances create cloudsql-postgres \ --project=$PROJECT_ID \ --region=europe-west4 \ --enable-private-service-connect \ --allowed-psc-projects=$PROJECT_ID \ --availability-type=ZONAL \ --no-assign-ip \ --cpu=2 \ --memory=7680MB \ --edition=ENTERPRISE \ --database-version=POSTGRES_16 Creating Cloud SQL instance for POSTGRES_16...done. Created [https://sqladmin.googleapis.com/sql/v1beta4/projects/psc-cloud-sql-test02/instances/cloudsql-postgres1]. NAME: cloudsql-postgres DATABASE_VERSION: POSTGRES_16 LOCATION: europe-west4-b TIER: db-custom-2-7680 PRIMARY_ADDRESS: - PRIVATE_ADDRESS: - STATUS: RUNNABLE
Zmień hasło użytkownika bazy danych postgres po pomyślnej instalacji Cloud SQL for Postgres:
gcloud sql users set-password postgres \
--instance=cloudsql-postgres \
--password='changeme'
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud sql users set-password postgres \ --instance=cloudsql-postgres \ --password='changeme' Updating Cloud SQL user...done.
5. Konfigurowanie Private Service Connect
W przypadku poniższych zadań związanych z siecią zakładamy, że istnieje sieć VPC o nazwie default.
Rezerwowanie wewnętrznego adresu IP
Znajdź zakres CIDR podsieci VPC w regionie GCP, do którego odwołuje się zmienna środowiskowa REGION, i wybierz wolny adres IP w tym zakresie CIDR dla punktu końcowego Private Service Connect:
gcloud compute networks subnets describe default \
--region=$REGION --project=$PROJECT_ID \
--format="value(ipCidrRange)"
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute networks subnets describe default \ --region=$REGION --project=$PROJECT_ID \ --format="value(ipCidrRange)" 10.164.0.0/20
Zarezerwuj wewnętrzny adres IP dla punktu końcowego Private Service Connect w zakresie CIDR pochodnego podsieci VPC:
gcloud compute addresses create cloudsql-psc \
--project=$PROJECT_ID \
--region=$REGION \
--subnet=default \
--addresses=10.164.0.10
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute addresses create cloudsql-psc \ --project=$PROJECT_ID \ --region=$REGION \ --subnet=default \ --addresses=10.164.0.10 Created [https://www.googleapis.com/compute/v1/projects/psc-cloud-sql-test02/regions/europe-west4/addresses/cloudsql-psc].
Sprawdź, czy wewnętrzny adres IP jest zarezerwowany i czy dla tego adresu IP jest widoczny stan RESERVED (Zarezerwowany).
gcloud compute addresses list --project=$PROJECT_ID \
--filter="name=cloudsql-psc"
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute addresses list --project=$PROJECT_ID \ --filter="name=cloudsql-psc" NAME: cloudsql-psc ADDRESS/RANGE: 10.164.0.10 TYPE: INTERNAL PURPOSE: GCE_ENDPOINT NETWORK: REGION: europe-west4 SUBNET: default STATUS: RESERVED
Pobieranie identyfikatora URI przyłącza usługi
Po utworzeniu instancji Cloud SQL z włączoną funkcją Private Service Connect uzyskaj identyfikator URI załącznika usługi i użyj go do utworzenia punktu końcowego Private Service Connect z zarezerwowanym wewnętrznym adresem IP.
gcloud sql instances describe cloudsql-postgres \
--project=$PROJECT_ID --format="value(pscServiceAttachmentLink)"
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud sql instances describe cloudsql-postgres --project=$PROJECT_ID \ --format="value(pscServiceAttachmentLink)" projects/l639336e2c716e3d8p-tp/regions/europe-west4/serviceAttachments/a-33446dfaf850-psc-service-attachment-e6471fc6708a6cfe
Tworzenie usługi Private Service Connect
Utwórz punkt końcowy usługi Private Service Connect i skieruj go na URI załącznika usługi Cloud SQL:
gcloud compute forwarding-rules create cloudsql-psc-ep \
--address=cloudsql-psc \
--project=$PROJECT_ID \
--region=$REGION \
--network=default \
--target-service-attachment=projects/l639336e2c716e3d8p-tp/regions/europe-west4/serviceAttachments/a-33446dfaf850-psc-service-attachment-e6471fc6708a6cfe \
--allow-psc-global-access
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute forwarding-rules create cloudsql-psc-ep \ --address=cloudsql-psc \ --project=$PROJECT_ID \ --region=$REGION \ --network=default \ --target-service-attachment=projects/l639336e2c716e3d8p-tp/regions/europe-west4/serviceAttachments/a-33446dfaf850-psc-service-attachment-e6471fc6708a6cfe \ --allow-psc-global-access Created [https://www.googleapis.com/compute/v1/projects/psc-cloud-sql-test02/regions/europe-west4/forwardingRules/cloudsql-psc-ep].
Sprawdź, czy punkt końcowy może połączyć się z załącznikiem usługi:
gcloud compute forwarding-rules describe cloudsql-psc-ep \
--project=$PROJECT_ID \
--region=$REGION \
--format="value(pscConnectionStatus)"
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute forwarding-rules describe cloudsql-psc-ep \ --project=$PROJECT_ID \ --region=$REGION \ --format="value(pscConnectionStatus)" ACCEPTED
Konfigurowanie zarządzanej strefy DNS
Aby dodać sugerowaną nazwę DNS dla instancji Cloud SQL, najlepiej utworzyć prywatną strefę DNS w odpowiedniej sieci VPC:
gcloud dns managed-zones create cloudsql-dns \
--project=$PROJECT_ID \
--description="DNS zone for the Cloud SQL instances" \
--dns-name=$REGION.sql.goog. \
--networks=default \
--visibility=private
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud dns managed-zones create cloudsql-dns \ --project=$PROJECT_ID \ --description="DNS zone for the Cloud SQL instances" \ --dns-name=$REGION.sql.goog. \ --networks=default \ --visibility=private Created [https://dns.googleapis.com/dns/v1/projects/psc-cloud-sql-test02/managedZones/cloudsql-dns].
Dodaj rekord DNS dla Private Service Connect
Uzyskaj sugerowany rekord DNS dla instancji Cloud SQL:
gcloud sql instances describe cloudsql-postgres \
--project=$PROJECT_ID \
--format="value(dnsName)"
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud sql instances describe cloudsql-postgres --project=$PROJECT_ID --format="value(dnsName)" 33446dfaf850.1rrhex0himzzc.europe-west4.sql.goog.
Dodaj sugerowany rekord DNS do strefy zarządzanej DNS.
gcloud dns record-sets create 3446dfaf850.1rrhex0himzzc.europe-west4.sql.goog. \
--project=$PROJECT_ID \
--type=A \
--rrdatas=10.164.0.10 \
--zone=cloudsql-dns
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud dns record-sets create 3446dfaf850.1rrhex0himzzc.europe-west4.sql.goog. \ --project=$PROJECT_ID \ --type=A \ --rrdatas=10.164.0.10 \ --zone=cloudsql-dns NAME: 3446dfaf850.1rrhex0himzzc.europe-west4.sql.goog. TYPE: A TTL: 0 DATA: 10.164.0.10
6. Przygotowanie maszyny wirtualnej Google Compute Engine
Wdrażanie maszyny wirtualnej Google Compute Engine
Maszyna wirtualna (VM) będzie używana do łączenia się z instancją Cloud SQL.
gcloud compute instances create cloudsql-client \
--zone=$ZONE \
--create-disk=auto-delete=yes,boot=yes,image=projects/debian-cloud/global/images/$(gcloud compute images list --filter="family=debian-12 AND family!=debian-12-arm64" --format="value(name)") \
--scopes=https://www.googleapis.com/auth/cloud-platform \
--network-interface=no-address
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute instances create cloudsql-client \ --zone=$ZONE \ --create-disk=auto-delete=yes,boot=yes,image=projects/debian-cloud/global/images/$(gcloud compute images list --filter="family=debian-12 AND family!=debian-12-arm64" --format="value(name)") \ --scopes=https://www.googleapis.com/auth/cloud-platform \ --network-interface=no-address Created [https://www.googleapis.com/compute/v1/projects/psc-cloud-sql-test02/zones/europe-west4-a/instances/cloudsql-client]. NAME: cloudsql-client ZONE: europe-west4-a MACHINE_TYPE: n1-standard-1 PREEMPTIBLE: INTERNAL_IP: 10.164.0.2 EXTERNAL_IP: STATUS: RUNNING
Instalowanie klienta Postgres
Utwórz Cloud NAT dla ruchu wychodzącego do internetu, aby maszyna wirtualna mogła uzyskać dostęp do repozytoriów Linuxa:
gcloud compute routers create cloud-nat-router \
--network=default \
--region=$REGION
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute routers create cloud-nat-router \ --network=default \ --region=$REGION Creating router [cloud-nat-router]...done. NAME: cloud-nat-router REGION: europe-west4 NETWORK: default
gcloud compute routers nats create cloud-nat \
--router=cloud-nat-router \
--region=$REGION \
--nat-all-subnet-ip-ranges \
--auto-allocate-nat-external-ips
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute routers nats create cloud-nat \ --router=cloud-nat-router \ --region=$REGION \ --nat-all-subnet-ip-ranges \ --auto-allocate-nat-external-ips Creating NAT [cloud-nat] in router [cloud-nat-router]...done.
Instalowanie oprogramowania klienta PostgreSQL na wdrożonej maszynie wirtualnej
Połącz się z maszyną wirtualną:
gcloud compute ssh --zone $ZONE "cloudsql-client" \
--tunnel-through-iap --project $PROJECT_ID
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute ssh --zone "europe-west4-a" "cloudsql-client" --tunnel-through-iap --project $PROJECT_ID WARNING: To increase the performance of the tunnel, consider installing NumPy. For instructions, please see https://cloud.google.com/iap/docs/using-tcp-forwarding#increasing_the_tcp_upload_bandwidth Warning: Permanently added 'compute.1355719684363734964' (ED25519) to the list of known hosts. Linux cloudsql-client 6.1.0-26-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.112-1 (2024-09-30) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Creating directory '/home/student_org_altostrat_com'.
Zainstaluj polecenie uruchamiania oprogramowania w maszynie wirtualnej:
sudo apt-get update
sudo apt-get install --yes postgresql-client
Oczekiwane dane wyjściowe
student@cloudsql-client:~$ sudo apt-get update sudo apt-get install --yes postgresql-client Get:1 file:/etc/apt/mirrors/debian.list Mirrorlist [30 B] Get:5 file:/etc/apt/mirrors/debian-security.list Mirrorlist [39 B] Get:7 https://packages.cloud.google.com/apt google-compute-engine-bookworm-stable InRelease [1321 B] Get:2 https://deb.debian.org/debian bookworm InRelease [151 kB] Get:3 https://deb.debian.org/debian bookworm-updates InRelease [55.4 kB] Get:4 https://deb.debian.org/debian bookworm-backports InRelease [59.0 kB] ...redacted... update-alternatives: using /usr/share/postgresql/15/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode Setting up postgresql-client (15+248) ... Processing triggers for man-db (2.11.2-2) ... Processing triggers for libc-bin (2.36-9+deb12u8) ...
7. Łączenie się z instancją Cloud SQL for Postgres za pomocą Private Service Connect
Łączenie z instancją
psql "sslmode=disable dbname=postgres user=postgres host=3446dfaf850.1rrhex0himzzc.europe-west4.sql.goog."
Oczekiwane dane wyjściowe
student@cloudsql-client:~$ psql "sslmode=disable dbname=postgres user=postgres host=3446dfaf850.1rrhex0himzzc.europe-west4.sql.goog." Password for user postgres: psql (15.8 (Debian 15.8-0+deb12u1), server 16.4) WARNING: psql major version 15, server major version 16. Some psql features might not work. Type "help" for help. postgres=>
Tworzenie i testowanie bazy danych
Utwórz bazę danych
CREATE DATABASE company;
Oczekiwane dane wyjściowe
postgres=> CREATE DATABASE company; CREATE DATABASE postgres=>
Wyświetlanie listy wszystkich baz danych
\l
Oczekiwane dane wyjściowe
postgres=> \l List of databases Name | Owner | Encoding | Collate | Ctype | ICU Locale | Locale Provider | Access privileges ---------------+-------------------+----------+------------+------------+------------+-----------------+----------------------------------------- cloudsqladmin | cloudsqladmin | UTF8 | en_US.UTF8 | en_US.UTF8 | | libc | company | postgres | UTF8 | en_US.UTF8 | en_US.UTF8 | | libc | postgres | cloudsqlsuperuser | UTF8 | en_US.UTF8 | en_US.UTF8 | | libc | template0 | cloudsqladmin | UTF8 | en_US.UTF8 | en_US.UTF8 | | libc | =c/cloudsqladmin + | | | | | | | cloudsqladmin=CTc/cloudsqladmin template1 | cloudsqlsuperuser | UTF8 | en_US.UTF8 | en_US.UTF8 | | libc | =c/cloudsqlsuperuser + | | | | | | | cloudsqlsuperuser=CTc/cloudsqlsuperuser (5 rows) postgres=>
Łączenie z bazą danych o pracownikach
\c company
Oczekiwane dane wyjściowe
postgres=> \c company psql (15.8 (Debian 15.8-0+deb12u1), server 16.4) WARNING: psql major version 15, server major version 16. Some psql features might not work. You are now connected to database "company" as user "postgres". company=>
Tworzenie tabeli w bazie danych firmy
CREATE TABLE employees (
id SERIAL PRIMARY KEY,
first VARCHAR(255) NOT NULL,
last VARCHAR(255) NOT NULL,
salary DECIMAL (10, 2)
);
Oczekiwane dane wyjściowe
company=> CREATE TABLE employees ( id SERIAL PRIMARY KEY, first VARCHAR(255) NOT NULL, last VARCHAR(255) NOT NULL, salary DECIMAL (10, 2) ); CREATE TABLE
Wstawianie danych do tabeli employees w bazie danych firmy
INSERT INTO employees (first, last, salary) VALUES
('Max', 'Mustermann', 5000.00),
('Anna', 'Schmidt', 7000.00),
('Peter', 'Mayer', 6000.00);
Oczekiwane dane wyjściowe
company=> INSERT INTO employees (first, last, salary) VALUES ('Max', 'Mustermann', 5000.00), ('Anna', 'Schmidt', 7000.00), ('Peter', 'Mayer', 6000.00); INSERT 0 3 company=>
Wykonywanie zapytań do tabeli pracowników
SELECT * FROM employees;
Oczekiwane dane wyjściowe
company=> SELECT * FROM employees; id | first | last | salary ----+-------+------------+--------- 1 | Max | Mustermann | 5000.00 2 | Anna | Schmidt | 7000.00 3 | Peter | Mayer | 6000.00 (3 rows) company=>
Zamknij bazę danych Postgres i maszynę wirtualną, a następnie wróć do Cloud Shell:
\q
exit
Oczekiwane dane wyjściowe
postgres=> \q student@cloudsql-client:~$ exit logout Connection to compute.1355719684363734964 closed. student@cloudshell:~ (psc-cloud-sql-test02)$
8. Czyszczenie środowiska
Po zakończeniu modułu usuń wszystkie zasoby Google Cloud w projekcie.
Usuwanie instancji Cloud SQL for PostgreSQL
W Cloud Shell usuń instancję Cloud SQL for Postgres:
gcloud sql instances delete cloudsql-postgres --quiet
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud sql instances delete cloudsql-postgres --quiet Deleting Cloud SQL instance...done. Deleted [https://sqladmin.googleapis.com/sql/v1beta4/projects/psc-cloud-sql-test02/instances/cloudsql-postgres].
Usuwanie maszyny wirtualnej Google Compute Engine
W Cloud Shell usuń maszynę wirtualną:
gcloud compute instances delete cloudsql-client \
--zone=$ZONE \
--quiet
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute instances delete cloudsql-client \ --quiet$ZONE \ --quiet Deleted [https://www.googleapis.com/compute/v1/projects/psc-cloud-sql-test02/zones/europe-west4-a/instances/cloudsql-client].
Usuwanie komponentów sieci
Usuwanie komponentów związanych z siecią: Cloud NAT, Cloud Router, punkt końcowy Private Service Connect, zarezerwowany wewnętrzny adres IP, rekord DNS i strefa zarządzana DNS.
Usuwanie Cloud NAT:
gcloud compute routers nats delete cloud-nat \
--router=cloud-nat-router \
--region=$REGION \
--quiet
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute routers nats delete cloud-nat \ --router=cloud-nat-router \ --region=$REGION \ --quiet Updated [https://www.googleapis.com/compute/v1/projects/psc-cloud-sql-test02/regions/europe-west4/routers/cloud-nat-router].
Usuwanie Cloud Router:
gcloud compute routers delete cloud-nat-router \
--region=$REGION \
--quiet
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute routers delete cloud-nat-router \ --region=$REGION \ --quiet Deleted [https://www.googleapis.com/compute/v1/projects/psc-cloud-sql-test02/regions/europe-west4/routers/cloud-nat-router].
Usuwanie punktu końcowego Private Service Connect:
gcloud compute forwarding-rules delete cloudsql-psc-ep \
--project=$PROJECT_ID \
--region=$REGION \
--quiet
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute forwarding-rules delete cloudsql-psc-ep \ --project=$PROJECT_ID \ --region=$REGION \ --quiet Deleted [https://www.googleapis.com/compute/v1/projects/psc-cloud-sql-test02/regions/europe-west4/forwardingRules/cloudsql-psc-ep].
Zwolnij zarezerwowany wewnętrzny adres IP:
gcloud compute addresses delete cloudsql-psc \
--project=$PROJECT_ID \
--region=$REGION \
--quiet
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute addresses delete cloudsql-psc \ --project=$PROJECT_ID \ --region=$REGION \ --quiet Deleted [https://www.googleapis.com/compute/v1/projects/psc-cloud-sql-test02/regions/europe-west4/addresses/cloudsql-psc].
Usuwanie rekordu DNS:
gcloud dns record-sets delete 3446dfaf850.1rrhex0himzzc.europe-west4.sql.goog. \
--project=$PROJECT_ID \
--type=A \
--zone=cloudsql-dns
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud dns record-sets delete 3446dfaf850.1rrhex0himzzc.europe-west4.sql.goog. \ --project=$PROJECT_ID \ --type=A \ --zone=cloudsql-dns Deleted [https://dns.googleapis.com/dns/v1/projects/psc-cloud-sql-test02/managedZones/cloudsql-dns/rrsets/3446dfaf850.1rrhex0himzzc.europe-west4.sql.goog./A].
Usuwanie zarządzanej strefy DNS:
gcloud dns managed-zones delete cloudsql-dns \
--project=$PROJECT_ID \
--quiet
Oczekiwane dane wyjściowe
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud dns managed-zones delete cloudsql-dns \ --project=$PROJECT_ID \ --quiet Deleted [https://dns.googleapis.com/dns/v1/projects/psc-cloud-sql-test02/managedZones/cloudsql-dns].
9. Gratulacje
Gratulujemy ukończenia ćwiczenia.
Omówione zagadnienia
- Jak wdrożyć instancję Cloud SQL
- Jak wdrożyć Private Service Connect
- Jak połączyć się z instancją Cloud SQL z maszyny wirtualnej za pomocą Private Service Connect