1. مقدمة
في هذا الدرس التطبيقي حول الترميز، ستتعلّم كيفية نشر اتصال Private Service Connect لخدمة Cloud SQL وكيفية الوصول إلى خدمة Cloud SQL باستخدام اتصال Private Service Connect الذي تم نشره. .

يمكنك الحصول على مزيد من المعلومات حول Private Service Connect هنا.
المتطلبات الأساسية
- فهم أساسي لـ Google Cloud Console
- مهارات أساسية في واجهة سطر الأوامر وGoogle Cloud Shell
ما ستتعلمه
- كيفية نشر مثيل Cloud SQL
- كيفية نشر Private Service Connect
- كيفية الاتصال من جهاز افتراضي بمثيل Cloud SQL عبر Private Service Connect
المتطلبات
- حساب Google Cloud ومشروع Google Cloud
- متصفّح ويب، مثل Chrome
2. الإعداد والمتطلبات
إعداد البيئة بالسرعة التي تناسبك
- سجِّل الدخول إلى Google Cloud Console وأنشِئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. إذا لم يكن لديك حساب على Gmail أو Google Workspace، عليك إنشاء حساب.



- اسم المشروع هو الاسم المعروض للمشاركين في هذا المشروع. وهي سلسلة أحرف لا تستخدمها Google APIs. ويمكنك تعديله في أي وقت.
- يجب أن يكون رقم تعريف المشروع فريدًا في جميع مشاريع Google Cloud، كما أنّه غير قابل للتغيير (لا يمكن تغييره بعد ضبطه). تنشئ Cloud Console تلقائيًا سلسلة فريدة، ولا يهمّك عادةً ما هي. في معظم دروس البرمجة، عليك الرجوع إلى رقم تعريف المشروع (يتم تحديده عادةً على أنّه
PROJECT_ID). إذا لم يعجبك رقم التعريف الذي تم إنشاؤه، يمكنك إنشاء رقم تعريف عشوائي آخر. يمكنك بدلاً من ذلك تجربة اسم مستخدم من اختيارك ومعرفة ما إذا كان متاحًا. لا يمكن تغيير هذا الخيار بعد هذه الخطوة وسيظل ساريًا طوال مدة المشروع. - للعلم، هناك قيمة ثالثة، وهي رقم المشروع الذي تستخدمه بعض واجهات برمجة التطبيقات. يمكنك الاطّلاع على مزيد من المعلومات عن كل هذه القيم الثلاث في المستندات.
تنبيه: رقم تعريف المشروع فريد على مستوى العالم ولا يمكن لأي شخص آخر استخدامه بعد اختياره. أنت المستخدم الوحيد لهذا المعرّف. حتى إذا تم حذف مشروع، لا يمكن استخدام المعرّف مرة أخرى.
- بعد ذلك، عليك تفعيل الفوترة في Cloud Console لاستخدام موارد/واجهات برمجة تطبيقات Cloud. لن تكلفك تجربة هذا الدرس التطبيقي حول الترميز الكثير، إن وُجدت أي تكلفة على الإطلاق. لإيقاف الموارد وتجنُّب تحمّل تكاليف فوترة تتجاوز هذا البرنامج التعليمي، يمكنك حذف الموارد التي أنشأتها أو حذف المشروع. يمكن لمستخدمي Google Cloud الجدد الاستفادة من برنامج الفترة التجريبية المجانية بقيمة 300 دولار أمريكي.
بدء Cloud Shell
على الرغم من إمكانية تشغيل Google Cloud عن بُعد من الكمبيوتر المحمول، ستستخدم في هذا الدرس التطبيقي حول الترميز Google Cloud Shell، وهي بيئة سطر أوامر تعمل في السحابة الإلكترونية.
من Google Cloud Console، انقر على رمز Cloud Shell في شريط الأدوات أعلى يسار الصفحة:

لن يستغرق توفير البيئة والاتصال بها سوى بضع لحظات. عند الانتهاء، من المفترض أن يظهر لك ما يلي:

يتم تحميل هذه الآلة الافتراضية مزوّدة بكل أدوات التطوير التي ستحتاج إليها. توفّر هذه الخدمة دليلًا منزليًا ثابتًا بسعة 5 غيغابايت، وتعمل على Google Cloud، ما يؤدي إلى تحسين أداء الشبكة والمصادقة بشكل كبير. يمكن إكمال جميع المهام في هذا الدرس العملي ضمن المتصفّح. لست بحاجة إلى تثبيت أي تطبيق.
3- قبل البدء
تفعيل واجهة برمجة التطبيقات
يُرجى العِلم أنّ بعض الموارد التي تفعّلها ستتسبّب في تحمّل بعض التكاليف إذا كنت لا تستخدم الفئة الترويجية. في الظروف العادية، إذا تم إتلاف جميع الموارد عند الانتهاء من المختبر، لن تتجاوز تكلفة جميع الموارد 5 دولارات أمريكية. ننصحك بمراجعة الفوترة والتأكّد من أنّ هذا الإجراء مقبول بالنسبة إليك.
داخل Cloud Shell، تأكَّد من إعداد رقم تعريف مشروعك:
يظهر عادةً رقم تعريف المشروع بين قوسين في موجّه الأوامر في Cloud Shell كما هو موضّح في الصورة:

gcloud config set project [YOUR-PROJECT-ID]
ستظهر نافذة تطلب منك منح إذن Cloud Shell. يُرجى النقر على تفويض

بعد ذلك، اضبط متغيّر البيئة 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.
4. نشر مثيل Cloud SQL for Postgres
في 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 for 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.
5- إعداد Private Service Connect
بالنسبة إلى مهام الشبكة التالية، يُفترض أنّ هناك شبكة VPC باسم default.
حجز عنوان 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، احصل على معرّف الموارد المنتظم لمرفق الخدمة واستخدِمه لإنشاء نقطة نهاية 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
أنشئ نقطة نهاية Private Service Connect ووجِّهها إلى معرّف الموارد المنتظم لمرفق خدمة 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
إعداد منطقة نظام أسماء نطاقات مُدارة
لإضافة اسم نظام أسماء النطاقات المقترَح لمثيل Cloud SQL، من الأفضل إنشاء منطقة نظام أسماء نطاقات خاصة في شبكة السحابة الإلكترونية الخاصة الافتراضية (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].
إضافة سجلّ نظام أسماء نطاقات لـ Private Service Connect
احصل على سجلّ نظام أسماء النطاقات المقترَح لمثيل 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.
إضافة سجلّ نظام أسماء النطاقات المقترَح إلى منطقة نظام أسماء النطاقات المُدارة
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
6. إعداد الجهاز الافتراضي على 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 Client
أنشئ Cloud NAT لحركة البيانات الصادرة إلى الإنترنت التي يمكن للجهاز الظاهري الوصول إلى مستودعات Linux من خلالها:
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) ...
7. الاتصال بمثيل Cloud SQL for Postgres عبر 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)$
8. إخلاء مساحة
تدمير جميع موارد Google Cloud في المشروع عند الانتهاء من المختبر
حذف مثيل 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 Compute 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 وعنوان IP الداخلي المحجوز وسجلّ نظام أسماء النطاقات ومنطقة نظام أسماء النطاقات المُدارة.
لحذف Cloud 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].
لحذف Cloud 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].
حذف نقطة نهاية Private Service Connect:
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].
حذف سجلّ نظام أسماء النطاقات:
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].
حذف منطقة نظام أسماء النطاقات المُدارة:
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].
9- تهانينا
تهانينا على إكمال تجربة البرمجة.
المواضيع التي تناولناها
- كيفية نشر مثيل Cloud SQL
- كيفية نشر Private Service Connect
- كيفية الاتصال من جهاز افتراضي بمثيل Cloud SQL عبر Private Service Connect