1. مقدمة
في هذا الدرس التطبيقي، ستتعرّف على كيفية نشر اتصال خدمة خاص بخدمة CloudSQL وكيفية الوصول إلى خدمة CloudSQL باستخدام اتصال الخدمة الخاص الذي تم نشره. .
يمكنك الحصول على مزيد من المعلومات حول 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. ويمكنك تعديله في أي وقت.
- يجب أن يكون معرّف المشروع فريدًا في جميع مشاريع 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، تأكَّد من إعداد رقم تعريف مشروعك:
يظهر رقم تعريف المشروع عادةً بين قوسين في موجِّه الأوامر في 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 لنظام التشغيل 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" في منطقة Google Cloud Platform المُشار إليها في متغيّر البيئة REGION، واختَر عنوان IP مجانيًا في نطاق معرّف ريمستر هذا لنقطة نهاية Private 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 الداخلي محجوز وأنّ الحالة "محجوز" تظهر لعنوان IP.
gcloud compute addresses list cloudsql-psc \
--project=$PROJECT_ID
الناتج المتوقّع
student@cloudshell:~ (psc-cloud-sql-test)$ gcloud compute addresses list cloudsql-psc \ --project=$PROJECT_ID 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، احصل على عنوان URL لمرفق الخدمة واستخدِمه لإنشاء نقطة نهاية 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-postgres1 --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 ووجِّهها إلى عنوان URL لمرفق خدمة 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
أنشئ شبكة تحويل عنوان (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
إدراج البيانات في جدول employees من قاعدة بيانات الشركة
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 وجهاز الكمبيوتر الافتراضي (VM) ثم ارجع إلى 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 في المشروع عند الانتهاء من استخدامها.
حذف مثيل Postgres في Cloud SQL
في 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