Looker PSC Northbound Regional Internal L7 ALB

1. مقدمة

في هذا الدرس التطبيقي حول الترميز، ستنشئ جهاز موازنة حمل التطبيقات الداخلي الإقليمي من الطبقة 7 وخلفية Private Service Connect للوصول إلى Looker من الشمال. يتطلّب الوصول إلى Looker السماح لقائمة VPC الخاصة بالمستهلك بالوصول إلى مثيل Looker PSC.

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

الشكل 1.

145ea4672c3a3b14.png

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

الشكل 2.

3edfcc67e195d082.png

ما ستتعلمه

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

المتطلبات

def88091b42bfe4d.png

2. ما ستنشئه

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

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

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

المكونات

الوصف

VPC (looker-psc-demo)

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

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

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

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

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

خدمة الخلفية

تعمل خدمة الخلفية كجسر بين برنامج موازنة الحمل وموارد الخلفية. في البرنامج التعليمي، ترتبط خدمة الخلفية بمجموعة NEG الخاصة بخدمة Private Service Connect.

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

2f6bb87ef0e139b2.png

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

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

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

fbef9caa1602edd0.pnga99b7ace416376c4.png5e3ff691252acf41.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، ما يؤدي إلى تحسين أداء الشبكة والمصادقة بشكل كبير. يمكن إكمال جميع المهام في هذا الدرس العملي ضمن المتصفّح. لست بحاجة إلى تثبيت أي تطبيق.

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. شبكة المستهلكين

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

شبكة 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 consumer-ilb-subnet --network looker-psc-demo --range 172.16.40.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

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

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

في المثال أدناه، looker.cosmopup.com هو النطاق المخصّص

5424ce99136d5b3a.png

مثال على OAuth

في ما يلي مثال على بيانات اعتماد OAuth للأصول المصرَّح بها وعنوان URL للردّ التلقائي للنطاق الفرعي looker.cosmopup.com.

c7e5b8c7d2cc6a01.png

9. Cloud

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

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

10. إضافة Looker إلى القائمة المسموح بها في شبكة VPC

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

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

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

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

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

ad33177a2d721ea7.png

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

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

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

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

cbbc069688890b82.png

عمليات الربط → شبكات VPC المسموح بها

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

dc931643e1b220a.png3e26d16d83cceae9.png

التحقّق من صحة شبكات VPC المسموح بها

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

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

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

e34664c867929c66.png

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

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

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

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

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

a253f94e946a1eef.png

إنشاء مجموعة نقاط نهاية الشبكة الخاصة بخدمة Private Service Connect

داخل 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

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

c80afa6a28b6d922.png

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

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

  • المنطقة المستخدَمة في نشر البنية الأساسية للشبكة
  • الشبكة: looker-psc-demo
  • يتم ملء الشبكة الفرعية "الخادم الوكيل فقط" تلقائيًا استنادًا إلى منطقتك وشبكتك

115627dc54d7a582.pngb3eaa88dd02a95c1.pngcf519145f0259061.png530527bc9273e002.png

قواعد التوجيه

لا يتطلّب إعداد هذه العلامة أي إجراء إضافي.

53a80d74b3c7dd56.png

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

29faa25397025fb4.png538da2b4930d243b.pngbbc13e921681dd65.png

تأكَّد من تفعيل موازن التحميل واحصل على عنوان IP.

في Cloud Console → خدمات الشبكة → موازنة الحمل → looker-ilb-alb

abc7d02b4c951c73.png

12. التحويل باستخدام نظام أسماء النطاقات (DNS)

يمكن أن يكون التحويل باستخدام نظام أسماء النطاقات (DNS) إلى النطاق المخصّص موثوقًا به في الموقع أو في Cloud DNS. في هذا البرنامج التعليمي، سنعرّف Cloud DNS على أنّه الخادم الموثوق لنطاق Looker المخصّص. يتطلّب تفعيل التحويل باستخدام نظام أسماء النطاقات (DNS) من الموقع إلى Google Cloud Platform تفعيل سياسات الخادم الوارد. عند إنشاء سياسة خادم واردة، تنشئ خدمة Cloud DNS نقاط دخول لسياسة الخادم الواردة في شبكة السحابة الإلكترونية الافتراضية الخاصة (VPC) التي يتم تطبيق سياسة الخادم عليها. نقاط دخول سياسة الخادم الواردة هي عناوين IPv4 داخلية مصدرها نطاق عناوين IPv4 الأساسي لكل شبكة فرعية في شبكة VPC المعنيّة، باستثناء الشبكات الفرعية التي تعمل كخادم وكيل فقط.

في القسم التالي، يتم إنشاء منطقة نظام أسماء النطاقات الخاص (DNS) لنطاق Looker المخصّص، looker.cosmopup.com، وسجلّ A يتضمّن عنوان IP لموازنة التحميل.

13. إنشاء منطقة نظام أسماء نطاقات خاص

في Cloud Shell، أنشئ منطقة خاصة في Cloud DNS.

gcloud dns --project=$projectid managed-zones create looker-cosmopup-dns --description="" --dns-name="looker.cosmopup.com." --visibility="private" --networks="https://compute.googleapis.com/compute/v1/projects/$projectid/global/networks/looker-psc-demo"

داخل Cloud Shell، أنشئ سجلّ A يتضمّن عنوان IP الخاص بموازنة الحمل الذي حصلت عليه في الخطوة السابقة.

gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="<insert-your-ip>"

مثال:

gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="172.16.20.7"

بعد ذلك، يجب إعداد شبكة مختلطة (مثل Interconnect وHA-VPN) بين شبكة VPC الخاصة بـ looker-psc-demo وشبكة المؤسسة لتفعيل الاتصال.

في ما يلي الخطوات المطلوبة لإنشاء اتصال مجموعة نقاط نهاية الشبكة المختلطة (NEG) بالشبكة المحلية:

  • اختيار منتج Network Connectivity | Google Cloud
  • في بنية المحور والأطراف التي تستخدم تبادل المعلومات بين شبكات VPC، يتم نشر مجموعة NEG المختلطة في شبكة VPC نفسها التي يتم فيها نشر Cloud Router (المحور).
  • تأكَّد من تعديل جدران الحماية المحلية لتتضمّن نطاق الشبكة الفرعية للخادم الوكيل فقط، لأنّ هذه الشبكة الفرعية تعمل كعنوان IP المصدر للتواصل مع أحمال العمل المحلية.
  • تعديل نظام أسماء النطاقات (DNS) المحلي باستخدام عنوان IP لإعادة التوجيه الوارد باعتباره برنامج تعيين نظام أسماء النطاقات الخاص بـ looker.cosomopup.com

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

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

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

ae43d0d0d7136044.png

14. تَنظيم

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

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

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

gcloud compute url-maps delete regional-internal-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

15. تهانينا

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

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

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

c911c127bffdee57.jpeg

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

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

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

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