۱. مقدمه
در این آزمایشگاه کد، نحوه استقرار یک اتصال سرویس خصوصی برای Cloud SQL و نحوه دسترسی به سرویس Cloud SQL با استفاده از اتصال سرویس خصوصی مستقر شده را خواهید آموخت.

میتوانید اطلاعات بیشتری در مورد Private Service Connect را اینجا دریافت کنید.
پیشنیازها
- درک اولیه از کنسول ابری گوگل
- مهارتهای پایه در رابط خط فرمان و پوسته گوگل کلود
آنچه یاد خواهید گرفت
- نحوه استقرار یک نمونه Cloud SQL
- نحوه استقرار یک سرویس خصوصی Connect
- نحوه اتصال از یک ماشین مجازی به یک نمونه Cloud SQL از طریق Private Service Connect
آنچه نیاز دارید
- یک حساب کاربری گوگل کلود و پروژه گوگل کلود
- یک مرورگر وب مانند کروم
۲. تنظیمات و الزامات
تنظیم محیط خودتنظیم
- وارد کنسول گوگل کلود شوید و یک پروژه جدید ایجاد کنید یا از یک پروژه موجود دوباره استفاده کنید. اگر از قبل حساب جیمیل یا گوگل ورک اسپیس ندارید، باید یکی ایجاد کنید .



- نام پروژه ، نام نمایشی برای شرکتکنندگان این پروژه است. این یک رشته کاراکتری است که توسط APIهای گوگل استفاده نمیشود. میتوانید آن را در هر زمانی بهروزرسانی کنید.
- شناسه پروژه باید در تمام پروژههای گوگل کلود منحصر به فرد باشد و تغییرناپذیر است (پس از تنظیم، قابل تغییر نیست). کنسول کلود به طور خودکار یک رشته منحصر به فرد تولید میکند؛ معمولاً برای شما مهم نیست که چیست. در اکثر آزمایشگاههای کد، باید شناسه پروژه را ارجاع دهید (که معمولاً با عنوان
PROJECT_IDشناخته میشود). اگر شناسه تولید شده را دوست ندارید، میتوانید یک شناسه تصادفی دیگر ایجاد کنید. به عنوان یک جایگزین، میتوانید شناسه خودتان را امتحان کنید و ببینید که آیا در دسترس است یا خیر. پس از این مرحله قابل تغییر نیست و در طول پروژه باقی خواهد ماند. - برای اطلاع شما، یک مقدار سوم، شماره پروژه ، وجود دارد که برخی از APIها از آن استفاده میکنند. برای کسب اطلاعات بیشتر در مورد هر سه این مقادیر، به مستندات مراجعه کنید.
احتیاط: شناسه پروژه به صورت سراسری منحصر به فرد است و پس از انتخاب آن توسط شما، شخص دیگری نمیتواند از آن استفاده کند. شما تنها کاربر آن شناسه هستید. حتی اگر پروژهای حذف شود، شناسه دیگر قابل استفاده نخواهد بود.
- در مرحله بعد، برای استفاده از منابع/API های ابری، باید پرداخت صورتحساب را در کنسول ابری فعال کنید . اجرای این آزمایشگاه کد هزینه زیادی نخواهد داشت، اگر اصلاً هزینهای داشته باشد. برای خاموش کردن منابع به منظور جلوگیری از پرداخت صورتحساب پس از این آموزش، میتوانید منابعی را که ایجاد کردهاید یا پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان ۳۰۰ دلاری هستند.
شروع پوسته ابری
اگرچه میتوان از راه دور و از طریق لپتاپ، گوگل کلود را مدیریت کرد، اما در این آزمایشگاه کد، از گوگل کلود شل ، یک محیط خط فرمان که در فضای ابری اجرا میشود، استفاده خواهید کرد.
از کنسول گوگل کلود ، روی آیکون Cloud Shell در نوار ابزار بالا سمت راست کلیک کنید:

آمادهسازی و اتصال به محیط فقط چند لحظه طول میکشد. وقتی تمام شد، باید چیزی شبیه به این را ببینید:

این ماشین مجازی با تمام ابزارهای توسعهای که نیاز دارید، مجهز شده است. این ماشین مجازی یک دایرکتوری خانگی پایدار ۵ گیگابایتی ارائه میدهد و روی فضای ابری گوگل اجرا میشود که عملکرد شبکه و احراز هویت را تا حد زیادی بهبود میبخشد. تمام کارهای شما در این آزمایشگاه کد را میتوان در یک مرورگر انجام داد. نیازی به نصب چیزی ندارید.
۳. قبل از شروع
فعال کردن API
لطفاً توجه داشته باشید که اگر از سطح تشویقی استفاده نکنید، برخی از منابعی که فعال میکنید، هزینهای را به همراه خواهند داشت. در شرایط عادی، اگر تمام منابع پس از اتمام آزمایش از بین بروند، هزینه تمام منابع از 5 دلار تجاوز نخواهد کرد. توصیه میکنیم صورتحساب خود را بررسی کنید و مطمئن شوید که این فعالیت برای شما قابل قبول است.
در داخل Cloud Shell، مطمئن شوید که شناسه پروژه شما تنظیم شده است:
معمولاً شناسه پروژه در خط فرمان در پوسته ابری، همانطور که در تصویر نشان داده شده است، در داخل پرانتز نشان داده میشود:

gcloud config set project [YOUR-PROJECT-ID]
پنجرهای ظاهر میشود که از شما مجوز Cloud Shell را میخواهد. لطفاً روی Authorize کلیک کنید.

سپس متغیر محیطی PROJECT_ID را روی شناسه پروژه Google Cloud خود تنظیم کنید:
PROJECT_ID=$(gcloud config get-value project)
متغیرهای محیطی REGION و ZONE را روی منطقه و ناحیه مورد نظر خود تنظیم کنید:
REGION=europe-west4
ZONE=europe-west4-a
فعال کردن تمام سرویسهای لازم:
gcloud services enable compute.googleapis.com \
sqladmin.googleapis.com \
dns.googleapis.com \
iam.googleapis.com
خروجی مورد انتظار:
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.
۴. یک Cloud SQL برای Postgres Instance مستقر کنید
در Cloud Shell میتوانید از خط فرمان برای ایجاد یک نمونه جدید Cloud SQL Postgres با قابلیت اتصال خصوصی سرویس (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
خروجی مورد انتظار
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
تغییر رمز عبور کاربر پایگاه داده postgres پس از نصب موفقیتآمیز Cloud SQL برای Postgres:
gcloud sql users set-password postgres \
--instance=cloudsql-postgres \
--password='changeme'
خروجی مورد انتظار
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud sql users set-password postgres \ --instance=cloudsql-postgres \ --password='changeme' Updating Cloud SQL user...done.
۵. راهاندازی سرویس خصوصی اتصال
برای وظایف مرتبط با شبکه زیر، فرض بر این است که یک VPC با نام پیشفرض وجود دارد.
یک آدرس IP داخلی رزرو کنید
محدوده CIDR زیرشبکه VPC را در ناحیه GCP که در متغیر محیطی REGION به آن اشاره شده است، پیدا کنید و یک آدرس IP آزاد در این محدوده CIDR برای نقطه پایانی Privat Service Connect انتخاب کنید:
gcloud compute networks subnets describe default \
--region=$REGION --project=$PROJECT_ID \
--format="value(ipCidrRange)"
خروجی مورد انتظار
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
یک آدرس IP داخلی برای نقطه پایانی Private Service Connect در محدوده CIDR زیرشبکه VPC مشتق شده در بالا رزرو کنید:
gcloud compute addresses create cloudsql-psc \
--project=$PROJECT_ID \
--region=$REGION \
--subnet=default \
--addresses=10.164.0.10
خروجی مورد انتظار
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].
تأیید کنید که آدرس IP داخلی رزرو شده است و وضعیت RESERVED برای آدرس IP نمایش داده میشود.
gcloud compute addresses list --project=$PROJECT_ID \
--filter="name=cloudsql-psc"
خروجی مورد انتظار
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
دریافت آدرس اینترنتی (URI) پیوست سرویس
پس از ایجاد یک نمونه Cloud SQL با فعال بودن Private Service Connect، آدرس اینترنتی (URI) پیوست سرویس را دریافت کرده و از آن برای ایجاد نقطه پایانی Private Service Connect با آدرس IP داخلی رزرو شده در بالا استفاده کنید.
gcloud sql instances describe cloudsql-postgres \
--project=$PROJECT_ID --format="value(pscServiceAttachmentLink)"
خروجی مورد انتظار
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
ایجاد اتصال سرویس خصوصی
نقطه پایانی Private Service Connect را ایجاد کنید و آن را به URI پیوست سرویس 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
خروجی مورد انتظار
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].
تأیید کنید که نقطه پایانی میتواند به پیوست سرویس متصل شود:
gcloud compute forwarding-rules describe cloudsql-psc-ep \
--project=$PROJECT_ID \
--region=$REGION \
--format="value(pscConnectionStatus)"
خروجی مورد انتظار
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute forwarding-rules describe cloudsql-psc-ep \ --project=$PROJECT_ID \ --region=$REGION \ --format="value(pscConnectionStatus)" ACCEPTED
پیکربندی یک منطقه مدیریت شده DNS
برای افزودن نام DNS پیشنهادی برای نمونه Cloud SQL، بهتر است یک منطقه DNS خصوصی در شبکه 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
خروجی مورد انتظار
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].
یک رکورد DNS برای Private Service Connect اضافه کنید
رکورد DNS پیشنهادی برای نمونه Cloud SQL را دریافت کنید:
gcloud sql instances describe cloudsql-postgres \
--project=$PROJECT_ID \
--format="value(dnsName)"
خروجی مورد انتظار
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud sql instances describe cloudsql-postgres --project=$PROJECT_ID --format="value(dnsName)" 33446dfaf850.1rrhex0himzzc.europe-west4.sql.goog.
رکورد DNS پیشنهادی را به منطقه مدیریتشده 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
خروجی مورد انتظار
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
۶. ماشین مجازی Google Compute Engine را آماده کنید
ماشین مجازی Google Compute Engine را مستقر کنید
از ماشین مجازی (VM) برای اتصال به نمونه 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
خروجی مورد انتظار
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
نصب کلاینت Postgres
یک Cloud NAT برای ترافیک خروجی به اینترنت ایجاد کنید که ماشین مجازی بتواند به مخازن لینوکس دسترسی داشته باشد:
gcloud compute routers create cloud-nat-router \
--network=default \
--region=$REGION
خروجی مورد انتظار
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
خروجی مورد انتظار
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.
نرمافزار کلاینت PostgreSQL را روی ماشین مجازی مستقر شده نصب کنید.
اتصال به ماشین مجازی:
gcloud compute ssh --zone $ZONE "cloudsql-client" \
--tunnel-through-iap --project $PROJECT_ID
خروجی مورد انتظار
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'.
دستور اجرای نرمافزار را درون ماشین مجازی نصب کنید:
sudo apt-get update
sudo apt-get install --yes postgresql-client
خروجی مورد انتظار
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) ...
۷. اتصال به Cloud SQL برای Postgres Instance از طریق Private Service Connect
اتصال به نمونه
psql "sslmode=disable dbname=postgres user=postgres host=3446dfaf850.1rrhex0himzzc.europe-west4.sql.goog."
خروجی مورد انتظار
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=>
ایجاد و آزمایش پایگاه داده
ایجاد پایگاه داده
CREATE DATABASE company;
خروجی مورد انتظار
postgres=> CREATE DATABASE company; CREATE DATABASE postgres=>
فهرست کردن تمام پایگاههای داده
\l
خروجی مورد انتظار
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=>
اتصال به پایگاه داده کارمندان
\c company
خروجی مورد انتظار
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=>
ایجاد جدول در پایگاه داده شرکت
CREATE TABLE employees (
id SERIAL PRIMARY KEY,
first VARCHAR(255) NOT NULL,
last VARCHAR(255) NOT NULL,
salary DECIMAL (10, 2)
);
خروجی مورد انتظار
company=> CREATE TABLE employees (
id SERIAL PRIMARY KEY,
first VARCHAR(255) NOT NULL,
last VARCHAR(255) NOT NULL,
salary DECIMAL (10, 2)
);
CREATE TABLE
درج دادهها در جدول کارمندان پایگاه داده شرکت
INSERT INTO employees (first, last, salary) VALUES
('Max', 'Mustermann', 5000.00),
('Anna', 'Schmidt', 7000.00),
('Peter', 'Mayer', 6000.00);
خروجی مورد انتظار
company=> INSERT INTO employees (first, last, salary) VALUES
('Max', 'Mustermann', 5000.00),
('Anna', 'Schmidt', 7000.00),
('Peter', 'Mayer', 6000.00);
INSERT 0 3
company=>
پرس و جو از جدول کارمندان
SELECT * FROM employees;
خروجی مورد انتظار
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=>
از پایگاه داده Postgres و ماشین مجازی خارج شوید و به Cloud Shell برگردید:
\q
exit
خروجی مورد انتظار
postgres=> \q student@cloudsql-client:~$ exit logout Connection to compute.1355719684363734964 closed. student@cloudshell:~ (psc-cloud-sql-test02)$
۸. محیط را تمیز کنید
وقتی کار آزمایشگاه تمام شد، تمام منابع گوگل کلود موجود در پروژه را از بین ببرید.
حذف نمونه Cloud SQL Postgres
در Cloud Shell، نمونهی Cloud SQL for Postgres را حذف کنید:
gcloud sql instances delete cloudsql-postgres --quiet
خروجی مورد انتظار
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].
ماشین مجازی Google Comput Engine را حذف کنید
در Cloud Shell، ماشین مجازی را حذف کنید:
gcloud compute instances delete cloudsql-client \
--zone=$ZONE \
--quiet
خروجی مورد انتظار
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].
حذف اجزای شبکه
اجزای مرتبط با شبکه را حذف کنید: Cloud NAT، Cloud Router، Private Service Connect Endpoint، آدرس IP داخلی رزرو شده، رکورد DNS و منطقه مدیریت شده DNS.
حذف NAT ابری:
gcloud compute routers nats delete cloud-nat \
--router=cloud-nat-router \
--region=$REGION \
--quiet
خروجی مورد انتظار
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].
حذف روتر ابری:
gcloud compute routers delete cloud-nat-router \
--region=$REGION \
--quiet
خروجی مورد انتظار
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].
حذف نقطه پایانی اتصال سرویس خصوصی:
gcloud compute forwarding-rules delete cloudsql-psc-ep \
--project=$PROJECT_ID \
--region=$REGION \
--quiet
خروجی مورد انتظار
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].
آدرس IP داخلی رزرو شده را آزاد کنید::
gcloud compute addresses delete cloudsql-psc \
--project=$PROJECT_ID \
--region=$REGION \
--quiet
خروجی مورد انتظار
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].
حذف رکورد DNS:
gcloud dns record-sets delete 3446dfaf850.1rrhex0himzzc.europe-west4.sql.goog. \
--project=$PROJECT_ID \
--type=A \
--zone=cloudsql-dns
خروجی مورد انتظار
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].
حذف منطقه مدیریت شده DNS:
gcloud dns managed-zones delete cloudsql-dns \
--project=$PROJECT_ID \
--quiet
خروجی مورد انتظار
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].
۹. تبریک
تبریک میگویم که آزمایشگاه کد را تمام کردی.
آنچه ما پوشش دادهایم
- نحوه استقرار یک نمونه Cloud SQL
- نحوه استقرار یک سرویس خصوصی Connect
- نحوه اتصال از یک ماشین مجازی به یک نمونه Cloud SQL از طریق Private Service Connect