Looker PSC Northbound Regional External L7 ALB

1. مقدمة

في هذا الدرس التطبيقي حول الترميز، ستُنشئ "موازن تحميل التطبيقات على مستوى L7" و"الخلفية في Private Service Connect" للوصول إلى Looker من جهة الشمال. يتطلّب الوصول إلى Looker من جهة العميل أن تكون "سحابة المستهلك الخاصة الافتراضية" مُدرَجة في القائمة المسموح بها لنسخة Looker من "وحدة التحكّم في الخدمات".

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

الشكل 1.

145ea4672c3a3b14.png

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

الشكل 2.

259493afd914f68b.png

ما ستتعرّف عليه

  • متطلبات الشبكة
  • تعديل القائمة المسموح بها في Looker للوصول من الشمال
  • إنشاء خلفية Private Service Connect في "شبكة سحابة إلكترونية خاصة للمستهلك"
  • الشهادات الصادرة عن Google مقابل الشهادات الموقَّعة ذاتيًا

المتطلبات

def88091b42bfe4d.png

2. ما ستُنشئه

ستُنشئ شبكة مستهلكين مُدرَجة في القائمة المسموح بها، وهي looker-psc-demo، لنشر خدمة موازنة تحميل تطبيقات L7 خارجية على مستوى منطقة معيّنة وNEG في الخلفية في PSC تتطلّب شهادة من Google أو شهادة موقَّعة ذاتيًا. في أيّ من الطريقتَين، يجب توفُّر نطاق مسجَّل يتطابق مع النطاق المخصّص المحدَّد في Looker.

3- متطلبات الشبكة

في ما يلي تفاصيل متطلبات الشبكة:

المكونات

الوصف

VPC (looker-psc-demo)

شبكة VPC في الوضع المخصّص

الشبكة الفرعية لمجموعة نقاط نهاية شبكة اتصال الخدمة الخاصة

تُستخدَم لتخصيص عنوان IP لمجموعة نقاط نهاية الشبكة.

الشبكة الفرعية للوكيل فقط

يتم تعيين عنوان IP داخلي لكل من الخوادم الوكيلة لجهاز موازنة الحمل. الحِزم المُرسَلة من خادم وكيل إلى جهاز افتراضي في الخلفية أو نقطة نهاية لها عنوان IP مصدر من الشبكة الفرعية للخادم الوكيل فقط.

خدمة الخلفية

تعمل خدمة الخلفية كجسر بين جهاز موازنة الحمل وموارد الخلفية. في البرنامج التعليمي، تكون خدمة الخلفية مرتبطة بـ PSC NEG.

4. طوبولوجيا الدرس التطبيقي حول الترميز

7f06f9b9876f76c4.png

5- الإعداد والمتطلبات

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

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

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • اسم المشروع هو الاسم المعروض للمشاركين في هذا المشروع. وهي سلسلة أحرف لا تستخدمها واجهات برمجة تطبيقات Google. ويمكنك تعديلها في أي وقت.
  • يكون معرّف المشروع فريدًا في جميع مشاريع 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، ما يُحسِّن بشكل كبير أداء الشبكة والمصادقة. يمكنك تنفيذ جميع أعمالك في هذا الدليل التعليمي للترميز داخل متصفّح. لست بحاجة إلى تثبيت أي تطبيق.

6- قبل البدء

تفعيل واجهات برمجة التطبيقات

في 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

7- شبكة المستهلك

في القسم التالي، ستنشئ شبكة المستهلك التي سيتم تعديلها في القائمة المسموح بها لشبكة Looker PSC VPC.

شبكة VPC

في Cloud Shell، نفِّذ ما يلي:

gcloud compute networks create looker-psc-demo --subnet-mode custom

إنشاء شبكات فرعية

في Cloud Shell، أنشئ الشبكة الفرعية لمجموعة نقاط نهاية شبكة المستهلك:

gcloud compute networks subnets create consumer-psc-neg-subnet --network looker-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access

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

gcloud compute networks subnets create $region-proxy-only-subnet \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=$region \
  --network=looker-psc-demo \
  --range=10.10.10.0/24

حجز عنوان IP الخاص بجهاز موازنة الحمل

في Cloud Shell، احجز عنوان IP خارجيًا لجهاز موازنة الحمل:

gcloud compute addresses create regional-alb-static-ip  \
   --region=$region \
   --network-tier=STANDARD

في Cloud Shell، اطّلِع على عنوان IP المحجوز:

gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:

مثال على الإخراج:

user@cloudshell$ gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address: 
address: 35.208.202.244

8. إنشاء نطاق مخصّص

يجب اتّباع الخطوات التالية لإنشاء نطاق مخصّص:

مثال على نطاق مخصّص

يتوفّر النطاق المخصّص looker.cosmopup.com كشبكة فرعية عامة لنظام أسماء النطاقات مرتبطة بسجلّ A لعناوين IP الثابتة (regional-alb-static-ip) المحدّدة سابقًا. اطّلِع على لقطة شاشة تم التقاطها من وحدة تحكّم تُجري عملية التحقّق من بحث dns.

6be44a9b2536e3f4.png

بعد ذلك، أنشئ نطاق العميل باستخدام النطاق الفرعي looker.cosmopup.com.

5424ce99136d5b3a.png

مثال على بروتوكول OAuth

في ما يلي مثال على بيانات اعتماد OAuth لمصادر البيانات المعتمَدة وبيانات الإعادة الاتصال للنطاق الفرعي looker.cosmopup.com.

c7e5b8c7d2cc6a01.png

9. الشهادات

يمكنك إنشاء شهادات Compute Engine أو شهادات "مدير الشهادات". استخدِم أيًا من الطرق التالية لإنشاء الشهادات باستخدام "مدير الشهادات":

  • الشهادات المُدارة ذاتيًا على مستوى منطقة معيّنة للحصول على معلومات عن إنشاء الشهادات المُدارة ذاتيًا على مستوى منطقة معيّنة واستخدامها، يُرجى الاطّلاع على مقالة نشر شهادة مُدارة ذاتيًا على مستوى منطقة معيّنة. لا تتوفّر خرائط الشهادات.
  • الشهادات الإقليمية التي تديرها Google لا تتوفّر خرائط الشهادات. تتيح خدمة "إدارة الشهادات" الأنواع التالية من الشهادات الإقليمية التي تديرها Google:
  • الشهادات الإقليمية التي تديرها Google مع تفويض نظام أسماء النطاقات لكل مشروع لمزيد من المعلومات، يُرجى الاطّلاع على مقالة نشر شهادة إقليمية مُدارة من Google.
  • الشهادات (الخاصة) الإقليمية التي تديرها Google من خلال خدمة مرجع التصديق لمزيد من المعلومات، يُرجى الاطّلاع على مقالة نشر شهادة إقليمية مُدارة من Google باستخدام خدمة CA.

10. القائمة المسموح بها في Looker VPC

عرض شبكات VPC المسموح بها

في القسم التالي، ستستخدم واجهة مستخدم Cloud Console لعرض قائمة "شبكات VPC المسموح بها" في Looker.

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

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

في المثال أدناه، لا تتضمّن قائمة "شبكات VPC المسموح بها" أي إدخالات:

ad33177a2d721ea7.png

تعديل "شبكات VPC المسموح بها"

عدِّل نسخة Looker لتتيح الوصول من الشمال إلى الجنوب من خلال إضافة looker-psc-demo كشبكة سحابة إلكترونية خاصة مسموح بها.

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

Looker → نسخة Looker → تعديل

cbbc069688890b82.png

الاتصالات → شبكات VPC المسموح بها

تأكَّد من اختيار المشروع الذي تم نشر looker-psc-demo فيه، ثمّ VPC looker-psc-demo، ثمّ انقر على "متابعة".

dc931643e1b220a.png

3e26d16d83cceae9.png

التحقّق من صحة مجموعات VPC المسموح بها

عرض قائمة "شبكات VPC المسموح بها" المعدَّلة

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

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

e34664c867929c66.png

11. إنشاء خلفية PSC

تُنشئ Looker PSC بصفتها مُنشئ خدمة عنوانًا موحّدًا للموارد (URI) لمرفق الخدمة يستخدمه مستهلكو الخدمة لنشر نقاط النهاية والخلفيات للحصول على إذن بالوصول إلى Looker من جهة الشمال. في الخطوة التالية، عليك تحديد معرّف الموارد المنتظم (URI) لمرفق خدمة Looker PSC، ثم إنشاء خلفية "مجموعة نقاط نهاية الشبكة" (NEG) في Private Service Connect في "سحابة المستهلك الافتراضية" (VPC).

تحديد مرفق خدمة Looker PSC

في Cloud Console، انتقِل إلى معرّف الموارد المنتظم (URI) الخاص بمرفق الخدمة وانسخه:

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

a253f94e946a1eef.png

إنشاء مجموعة نقاط نهاية الشبكة في PSC

داخل Cloud Shell، نفِّذ ما يلي مع التأكّد من تعديل psc-target-service:

gcloud compute network-endpoint-groups create looker-northbound-neg \
    --network-endpoint-type=private-service-connect \
    --psc-target-service=[UPDATE WITH YOU LOOKER SERVICE ATTACHMENT URI] \
    --region=$region \
    --network=looker-psc-demo \
    --subnet=consumer-psc-neg-subnet

مثال:

gcloud compute network-endpoint-groups create looker-northbound-neg \
    --network-endpoint-type=private-service-connect \
 --psc-target-service=projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183 \
    --region=$region \
    --network=looker-psc-demo \
    --subnet=consumer-psc-neg-subnet

التحقّق من إنشاء مجموعة نهاية شبكة PSC

داخل Cloud Shell، نفِّذ ما يلي، مع التأكّد من قبول pscConnectionStatus:

gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:

مثال:

user@cloudshell$ gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus: 
  pscConnectionStatus: ACCEPTED

إنشاء جهاز موازنة حمل على مستوى منطقة معيّنة للتطبيقات

في الخطوات التالية، ستستخدم Cloud Console لإنشاء أداة توزيع الأحمال للتطبيقات الخارجية على مستوى منطقة معيّنة مع ربط شهاداتك التي تم إنشاؤها بإعدادات الواجهة الأمامية.

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

خدمات الشبكة → موازنة الحمل → إنشاء جهاز موازنة الحمل

e3474ca153d7c55a.png

حدِّد الخيارات التالية:

63c2e656953444f2.png

إنشاء إعدادات الواجهة الأمامية

حدِّد الخيارات التالية وخصِّص البيئة استنادًا إلى عملية النشر:

  • المنطقة المستخدَمة في نشر البنية الأساسية للشبكة
  • يتم ملء الشبكة الفرعية للوكيل فقط تلقائيًا استنادًا إلى منطقتك.
  • يتوفّر عنوان IP الثابت المحدَّد مسبقًا استنادًا إلى اختيار المنطقة

a1c24bd4650b27d3.png

يؤدي اختيار "الشهادة" إلى عرض خيار استخدام شهادة حالية أو جديدة:

aac196a6fa1ee3d5.png

حمِّل شهادتك ومفتاحك الخاص، ثم اختَر "إنشاء":

64a390bda0c9c3f1.png

انقر على "تم" لإكمال عملية ضبط الواجهة الأمامية:

758a1921e3020854.png

إنشاء إعدادات الواجهة الخلفية

حدِّد الخيارات التالية:

e9bf17b1277bd597.png

af3b4a59864b15bc.png

6c784cc0169c892b.png

ba3bf9fa7d3497a5.png

إنشاء قواعد التوجيه

حدِّد الخيارات التالية (الخيارات التلقائية):

8884421f10a50ce0.png

المراجعة والانتهاء

تأكَّد من الإعدادات واختَر "إنشاء":

bdf5793ba8f46bb9.png

تم تفعيل جهاز موازنة الحمل الآن:

61adc0509f07ab15.png

الوصول إلى واجهة مستخدم Looker

بعد أن أصبح موازن الحمولة قيد التشغيل، يمكنك الوصول إلى نطاق Looker المخصّص من خلال متصفّح ويب. تجدر الإشارة إلى أنّه قد يظهر لك تحذير استنادًا إلى نوع الشهادة التي تستخدمها، مثل الشهادة غير الموثوق بها مقابل الشهادة الموثوق بها.

في ما يلي مثال (شهادة غير موثوق بها) للوصول إلى النطاق المخصّص Looker‏ looker.cosmopup.com الذي يحصل على إذن بالوصول إلى واجهة مستخدم Looker من جهة الشمال:

ae43d0d0d7136044.png

12. تَنظيم

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

gcloud compute forwarding-rules delete regional-external-alb-fr --region=$region -q

gcloud compute target-https-proxies delete regional-external-alb-target-proxy --region=$region -q

gcloud compute url-maps delete regional-external-alb --region=$region -q

gcloud compute backend-services delete looker-psc-neg-backend-svc --region=$region -q

gcloud compute addresses delete regional-alb-static-ip --region=$region -q

gcloud compute network-endpoint-groups delete looker-northbound-neg --region=$region -q

gcloud compute networks delete looker-psc-demo -q

13. تهانينا

مبروك، لقد نجحت في ضبط الاتصال من جهة العميل إلى Looker والتحقّق منه باستخدام نطاق العميل وموازن تحميل التطبيقات الخارجي الإقليمي.

لقد أنشأت بنية المستهلك وتعرّفت على كيفية إنشاء NEG لشهادة موفِّر خدمات البريد الإلكتروني (PSC) ونطاق مخصّص، وتعرّفت على خيارات الشهادة المختلفة. هناك الكثير من الأشياء المثيرة للاهتمام التي ستساعدك في استخدام Looker.

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

c911c127bffdee57.jpeg

الخطوة التالية

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

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

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