الوصول من Looker PSC إلى Cloud SQL PSC

1. مقدمة

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

‫Private Service Connect هي إحدى إمكانات شبكة Google Cloud التي تتيح للمستهلكين الوصول إلى الخدمات المُدارة بشكل خاص من داخل شبكة السحابة الإلكترونية الخاصة الافتراضية (VPC). وبالمثل، يتيح لمقدّمي الخدمات المُدارة استضافة هذه الخدمات في شبكات VPC منفصلة وتقديم اتصال خاص للمستهلكين. على سبيل المثال، عند استخدام Private Service Connect للوصول إلى Looker، تكون أنت مستهلك الخدمة، وتكون Google هي منتِج الخدمة، كما هو موضّح في الشكل 1.

145ea4672c3a3b14.png

تتيح إمكانية الوصول الصادرة، المعروفة أيضًا باسم PSC العكسي، للمستهلك إنشاء خدمة منشورة بصفتها منتِجًا للسماح لـ Looker بالوصول إلى نقاط النهاية المحلية وفي شبكة VPC وإلى الخدمات المُدارة والإنترنت. يمكن نشر عمليات الربط المتجهة جنوبًا في أي منطقة، بغض النظر عن مكان نشر Looker PSC، كما هو موضّح في الشكل 2.

259493afd914f68b.png

ما ستتعلمه

  • إنشاء خدمة منتِج مثيل Cloud SQL باستخدام Private Service Connect
  • إنشاء نقطة نهاية Private Service Connect في Looker كمستهلك خدمة

المتطلبات

def88091b42bfe4d.png

2. ما ستنشئه

ستنشئ مثيلاً من Cloud SQL PSC يتم نشره كمقدّم خدمة مرتبط بخدمة Looker PSC كمستهلك خدمة.

تؤكّد الإجراءات التالية إمكانية الوصول إلى خدمة Producer:

  • إنشاء نقطة نهاية Private Service Connect في Looker مرتبطة بمرفق خدمة المنتج
  • استخدِم Looker Console لإنشاء اتصال قاعدة بيانات بخدمة Cloud SQL PSC
  • اختبار إمكانية الاتصال بـ Cloud SQL PSC من خلال المصادقة والوصول إلى مخطط محدّد مسبقًا

3- بنية الدرس التطبيقي حول الترميز

1e7035ea608d7d23.png

4. الإعداد والمتطلبات

إعداد البيئة بالسرعة التي تناسبك

  1. سجِّل الدخول إلى Google Cloud Console وأنشِئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. إذا لم يكن لديك حساب على Gmail أو Google Workspace، عليك إنشاء حساب.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

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

بدء Cloud Shell

على الرغم من إمكانية تشغيل Google Cloud عن بُعد من الكمبيوتر المحمول، ستستخدم في هذا الدرس التطبيقي حول الترميز Google Cloud Shell، وهي بيئة سطر أوامر تعمل في السحابة الإلكترونية.

من Google Cloud Console، انقر على رمز Cloud Shell في شريط الأدوات أعلى يسار الصفحة:

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

يتم تحميل هذه الآلة الافتراضية مزوّدة بكل أدوات التطوير التي ستحتاج إليها. توفّر هذه الخدمة دليلًا منزليًا ثابتًا بسعة 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

1367ec0136aa5ad6.png

7. إنشاء مثيل Cloud SQL خاص بموفّر الخدمة

في القسم التالي، ستنشئ مثيلاً لخدمة Cloud SQL PSC يُستخدم لأغراض الاختبار ويتم نشره باستخدام كلمة مرور محدّدة مسبقًا تحدّد مشروع Looker PSC في قائمة مشاريع PSC المسموح بها.

إنشاء Cloud SQL PSC

في 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، احصل على معرّف الموارد المنتظم (URI) لربط الخدمة المستخدَم في خطوة لاحقة لإنشاء نقطة نهاية Private Service Connect في Looker.

داخل Cloud Shell، اتّبِع الخطوات التالية:

gcloud sql instances describe [INSTANCE_NAME] --project=$project | grep -i pscServiceAttachmentLink

ينتج المثال التالي عنوان URI لمرفق الخدمة:

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 SQL PSC من Cloud Console باتّباع الخطوات التالية:

في Cloud Console، انتقِل إلى:

SQL → مثيل SQL → عمليات الربط

18940483f646ed15.png

8. إنشاء اتصال بنقطة نهاية Private Service Connect في Looker

في القسم التالي، ستربط Cloud SQL Producers Service Attachment بـ Looker Core PSC من خلال استخدام العلامات ‎–psc-service-attachment في Cloud Shell لنطاق واحد.

داخل Cloud Shell، أنشئ عملية ربط بين الخدمات الخاصة في السحابة الإلكترونية من خلال تعديل المَعلمات التالية لتتطابق مع بيئتك:

  • INSTANCE_NAME: اسم مثيل Looker (المنتج الأساسي من Google Cloud).
  • DOMAIN_1: sql.database1.com
  • SERVICE_ATTACHMENT_1: معرّف الموارد المنتظم (URI) الذي تم تسجيله عند وصف مثيل Cloud SQL PSC
  • المنطقة: المنطقة التي تتم فيها استضافة نسخة Looker (المنتج الأساسي من Google Cloud)

داخل 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.connectionStatus هي "ACCEPTED". احرص على التعديل باستخدام 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

يمكنك التحقّق من صحة اتصال PSC من Cloud Console

في Cloud Console، انتقِل إلى:

Looker → نسخة Looker → التفاصيل

2d4684d722d31e4b.png

9fa909f826dec963.png

9- دمج Looker PSC مع Cloud SQL PSC

في القسم التالي، ستستخدم "وحدة تحكّم Looker" لإنشاء عملية ربط بقاعدة بيانات بمثيل Cloud SQL PSC.

انتقِل إلى ADMIN (المشرف) → DATABASE (قاعدة البيانات) → CONNECTIONS (عمليات الربط) → اختَر ADD CONNECTION (إضافة عملية ربط).

املأ تفاصيل الربط وفقًا للقطة الشاشة أدناه، ثم انقر على ربط.

eb3ef74d3ae71f1a.png

اكتمل إعداد عملية الربط

29017202470ad81f.png

10. التحقّق من إمكانية الاتصال بمنصة Looker

في القسم التالي، ستتعرّف على كيفية التحقّق من صحة اتصال Looker بمثيل Cloud SQL PSC باستخدام إجراء "الاختبار" في Looker.

انتقِل إلى "ربط البيانات" ADMIN (المشرف) → DATABASE (قاعدة البيانات) → CONNECTIONS (عمليات الربط) → cloud-sql-psc-demo → Test (اختبار)

بعد اختيار "اختبار"، سيربط Looker بقاعدة بيانات postgres كما هو موضّح أدناه:

d9729caf9a61bfc2.png

تَنظيم

حذف مكوّنات المختبر من نافذة Cloud Shell واحدة

gcloud sql instances delete cloud-sql-psc-demo -q

11. تهانينا

تهانينا، لقد نجحت في ضبط اتصال Private Service Connect في Cloud SQL والتحقّق منه باستخدام Looker Console المستند إلى Private Service Connect.

لقد أنشأت مثيلات Cloud SQL PSC كخدمة منتِج ونقطة نهاية Looker PSC التي سمحت بالاتصال بخدمة المنتج.

تعتقد Cosmopup أنّ الدروس التطبيقية حول الترميز رائعة!!

c911c127bffdee57.jpeg

ما هي الخطوات التالية؟

اطّلِع على بعض دروس الترميز التطبيقية هذه...

مزيد من المعلومات والفيديوهات

المستندات المرجعية