1. مقدمة
في هذا الدرس التطبيقي حول الترميز، ستُجري اتصالاً من جهة العميل إلى Cloud SQL تم نشره باستخدام Private Service Connect بصفتك مُنشئ خدمة.
Private Service Connect هي إحدى ميزات شبكة Google Cloud التي تتيح للمستهلكين الوصول إلى الخدمات المُدارة بشكل خاص من داخل شبكة VPC. وبالمثل، تسمح هذه الميزة لمطوّري الخدمات المُدارة باستضافة هذه الخدمات في شبكات VPC منفصلة خاصة بهم وتوفير اتصال خاص للمستهلكين. على سبيل المثال، عند استخدام Private Service Connect للوصول إلى Looker، تكون أنت مستهلك الخدمة وتكون Google منتج الخدمة، كما هو موضّح في الشكل 1.
يتيح الوصول من جهة الجنوب، المعروف أيضًا باسم PSC العكسي، للمستهلك إنشاء خدمة منشورة بصفته منتجًا للسماح لخدمة Looker بالوصول إلى نقاط النهاية على الموقع، في VPC، إلى الخدمات المُدارة والإنترنت. يمكن نشر اتصالات الاتجاه الجنوبي في أي منطقة، بغض النظر عن مكان نشر Looker PSC، كما هو موضّح في الشكل 2.
ما ستتعرّف عليه
- إنشاء خدمة إنشاء مثيل Cloud SQL في Private Service Connect
- إنشاء نقطة نهاية Private Service Connect في Looker كمستهلك خدمة
المتطلبات
- مشروع Google Cloud الذي يتضمّن أذونات المالك
- مثيل Looker PSC الحالي
2. ما ستُنشئه
ستُنشئ مثيلًا لـ Private Service Connect في Cloud SQL يتم نشره كمقدّم خدمة مرتبط بـ Looker PSC كمستهلك خدمة.
تتحقّق الإجراءات التالية من إمكانية الوصول إلى خدمة "المنتِج":
- إنشاء نقطة نهاية PSC في Looker مرتبطة بمرفقات خدمة الإنتاج
- استخدام Looker Console لإنشاء اتصال بقاعدة بيانات في Cloud SQL PSC
- اختبار إمكانية الاتصال بخدمة Cloud SQL PSC من خلال المصادقة على مخطّط محدّد مسبقًا والوصول إليه
3- طوبولوجيا الدرس التطبيقي حول الترميز
4. الإعداد والمتطلبات
إعداد البيئة حسب السرعة التي تناسبك
- سجِّل الدخول إلى 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، ما يُحسِّن بشكل كبير أداء الشبكة والمصادقة. يمكنك تنفيذ جميع أعمالك في هذا الدليل التعليمي للترميز داخل متصفّح. لست بحاجة إلى تثبيت أي تطبيق.
5- قبل البدء
تفعيل واجهات برمجة التطبيقات
في Cloud Shell، تأكَّد من إعداد رقم تعريف مشروعك:
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region
فعِّل جميع الخدمات اللازمة:
gcloud services enable compute.googleapis.com
6- تحديد مشروع Looker PSC
يتطلّب إنشاء مثيل PSC في Cloud SQL تحديد مشاريع PSC المسموح بها، وبالتالي يجب تقديم مشروع مستأجر PSC في Looker في وقت إنشاء مثيل Cloud SQL أو تعديله في حال استخدام مثيل حالي.
تحديد مشروع Looker PSC باستخدام gcloud
داخل Cloud Shell، عدِّل [INSTANCE_NAME] باسم مثيل Looker PSC للحصول على رقم تعريف مشروع Looker PSC:
gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json | grep -i lookerServiceAttachmentUri
في مثال النتائج، t7ec792caf2a609d1-tp هو مشروع Looker PSC:
gcloud looker instances describe looker-psc-instance --region=us-central1 --format=json | grep -i lookerServiceAttachmentUri
"lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
تحديد مشروع Looker PSC باستخدام Cloud Console
في Cloud Console، انتقِل إلى:
Looker → نسخة Looker PSC
7- إنشاء مثيل Cloud SQL للمنتِج
في القسم التالي، ستنشئ مثيل Looker PSC على Cloud SQL المستخدَم لأغراض الاختبار ويتم نشره باستخدام كلمة مرور محدّدة مسبقًا تحدّد مشروع Looker PSC في قائمة مشاريع PSC المسموح بها.
إنشاء PSC في Cloud SQL
في Cloud Shell، أنشئ مثيلًا وفعِّل Private Service Connect، وعدِّل [INSTANCE_PROJECT] باستخدام رقم تعريف مشروع Looker PSC.
gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=[INSTANCE_PROJECT] \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123
مثال:
gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=t7ec792caf2a609d1-tp \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123
الحصول على مرفق خدمة Cloud SQL
بعد إنشاء مثيل Cloud SQL مع تفعيل Private Service Connect، احصل على عنوان URL المرفق بالخدمة المستخدَم في خطوة لاحقة لإنشاء نقطة نهاية Private Service Connect في Looker.
في Cloud Shell، نفِّذ ما يلي:
gcloud sql instances describe [INSTANCE_NAME] --project=$project | grep -i pscServiceAttachmentLink
ينتج مثال على الناتج عنوان URL لمرفق الخدمة:
projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155
gcloud sql instances describe cloud-sql-psc-demo --project=$project | grep -i pscServiceAttachmentLink:
pscServiceAttachmentLink: projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155
من Cloud Console، يمكنك الحصول على مرفق خدمة Cloud SQL PSC:
في Cloud Console، انتقِل إلى:
لغة الاستعلامات البنيوية (SQL) → مثيل لغة الاستعلامات البنيوية (SQL) → الاتصالات
8. إنشاء اتصال بنقطة نهاية PSC في Looker
في القسم التالي، ستربط مرفق خدمة "منتجِي محتوى" Cloud SQL بخدمة Private Service Connect في Looker Core من خلال استخدام علامات –psc-service-attachment في Cloud Shell لنطاق واحد.
داخل Cloud Shell، أنشئ عملية ربط psc من خلال تعديل المَعلمات التالية لتتطابق مع بيئتك:
- INSTANCE_NAME: اسم مثيل Looker (Google Cloud core)
- DOMAIN_1: sql.database1.com
- SERVICE_ATTACHMENT_1: معرّف الموارد المنتظم الذي تم تسجيله عند وصف مثيل Cloud SQL PSC
- المنطقة: المنطقة التي تتم فيها استضافة نسخة Looker (Google Cloud core)
في Cloud Shell، نفِّذ ما يلي:
gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION
مثال:
gcloud looker instances update looker-psc-instance \
--psc-service-attachment domain=sql.database1.com,attachment=projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155 \
--region=us-central1
في Cloud Shell، تحقَّق من أنّ حالة اتصال serviceAttachments هي "مقبول". تأكَّد من تعديل INSTANCE_NAME في Looker PSC:
gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json
مثال:
gcloud looker instances describe looker-psc-instance --region=$region --format=json
مثال:
user@cloudshell$ gcloud looker instances describe looker-psc-instance --region=$region --format=json
{
"adminSettings": {},
"createTime": "2024-08-23T00:00:45.339063195Z",
"customDomain": {
"domain": "looker.cosmopup.com",
"state": "AVAILABLE"
},
"encryptionConfig": {},
"lookerVersion": "24.14.18",
"name": "projects/project/locations/us-central1/instances/looker-psc-instance",
"platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
"pscConfig": {
"allowedVpcs": [
"projects/project/global/networks/looker-psc-demo",
"projects/project/global/networks/looker-shared-vpc"
],
"lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
"serviceAttachments": [
{
"connectionStatus": "ACCEPTED",
"localFqdn": "sql.database1.com",
"targetServiceAttachmentUri": "projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155"
}
]
},
"pscEnabled": true,
"state": "ACTIVE",
"updateTime": "2024-09-04T14:40:05.613026012Z"
}
التحقّق من نقطة نهاية PSC في Cloud Console
من Cloud Console، يمكنك التحقّق من صحة اتصال PSC.
في Cloud Console، انتقِل إلى:
Looker → نسخة Looker → التفاصيل
9. دمج Looker PSC مع Cloud SQL PSC
في القسم التالي، ستستخدم Looker Console لإنشاء اتصال بقاعدة بيانات في مثيل Cloud SQL PSC.
انتقِل إلى المشرف → قاعدة البيانات → عمليات الربط → اختَر إضافة عملية ربط.
املأ تفاصيل الاتصال وفقًا لقطة الشاشة أدناه، ثم انقر على ربط.
اكتمل إعداد عملية الربط.
10. التحقّق من إمكانية الاتصال بمنصّة Looker
في القسم التالي، ستتعرّف على كيفية التحقّق من إمكانية اتصال Looker بمثيل Cloud SQL PSC باستخدام إجراء "اختبار" في Looker.
انتقِل إلى "اتصال البيانات" ADMIN (المشرف) → DATABASE (قاعدة البيانات) → CONNECTIONS (عمليات الربط) → cloud-sql-psc-demo → Test (اختبار).
بعد اختيار "الاختبار"، سيتصل Looker بقاعدة بيانات postgres كما هو موضّح أدناه:
تَنظيم
حذف مكوّنات المختبر من محطة طرفية واحدة في Cloud Shell
gcloud sql instances delete cloud-sql-psc-demo -q
11. تهانينا
نبارك لك على نجاحك في ضبط إعدادات الاتصال بـ Cloud SQL PSC والتحقّق منها باستخدام Looker Console المستندة إلى Private Service Connect.
لقد أنشأت نُسخًا من Cloud SQL PSC بصفتها نقطة نهاية PSC لخدمة Producer وLooker PSC التي سمحت بالاتصال بخدمة Producer.
يعتقد Cosmopup أنّ الدروس التطبيقية حول الترميز رائعة.
الخطوة التالية
اطّلِع على بعض هذه الدروس التطبيقية حول الترميز...
- استخدام Private Service Connect لنشر الخدمات واستخدامها
- الاتصال بالخدمات المستضافة على الموقع باستخدام "الشبكات المختلطة" باستخدام Private Service Connect وجهاز موازنة تحميل وكيل TCP داخلي
- الوصول إلى جميع مجموعات رموز Private Service Connect المنشورة