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

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

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

2. ما ستنشئه
ستنشئ شبكة مستهلكين مدرَجة في القائمة المسموح بها، looker-psc-demo، لنشر موازن تحميل إقليمي داخلي على المستوى 7 وواجهة خلفية NEG لخدمة Private Service Connect تتطلّب شهادة من Google أو شهادة مُدارة ذاتيًا. لمزيد من التفاصيل، اطّلِع على صفحة ملخّص موازن التحميل والشهادة.
3- متطلبات الشبكة
في ما يلي تفاصيل متطلبات الشبكة:
المكونات | الوصف |
VPC (looker-psc-demo) | شبكة VPC في الوضع المخصّص |
الشبكة الفرعية لمجموعة نقاط نهاية شبكة اتصال خدمة خاصة | تُستخدَم لتخصيص عنوان IP لمجموعة نقاط نهاية الشبكة |
الشبكة الفرعية للوكيل فقط | يتمّ تعيين عنوان IP داخلي لكل خادم وكيل في موازن التحميل. تحتوي الحِزم المُرسَلة من خادم وكيل إلى جهاز افتراضي أو نقطة نهاية في الخلفية على عنوان IP مصدر من الشبكة الفرعية الخاصة بالخادم الوكيل فقط. |
خدمة الخلفية | تعمل خدمة الخلفية كجسر بين جهاز موازنة الحمل وموارد الخلفية. في البرنامج التعليمي، ترتبط خدمة الخلفية بمجموعة NEG الخاصة بخدمة Private Service Connect. |
4. بنية الدرس التطبيقي حول الترميز

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



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

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

9- Cloud
يمكنك إنشاء شهادات Compute Engine أو Certificate Manager. استخدِم أيًا من الطرق التالية لإنشاء شهادات باستخدام "إدارة الشهادات":
- الشهادات الإقليمية المُدارة ذاتيًا للحصول على معلومات حول إنشاء شهادات إقليمية مُدارة ذاتيًا واستخدامها، يُرجى الاطّلاع على نشر شهادة إقليمية مُدارة ذاتيًا. خرائط الشهادات غير متاحة.
- الشهادات التي تديرها Google على مستوى المنطقة خرائط الشهادات غير متاحة. تتيح خدمة Certificate Manager الأنواع التالية من الشهادات الإقليمية التي تديرها Google:
- شهادات إقليمية تديرها Google مع تفويض نظام أسماء النطاقات لكل مشروع لمزيد من المعلومات، يُرجى الاطّلاع على نشر شهادة مُدارة من Google على مستوى منطقة معيّنة.
- شهادات إقليمية تديرها Google (خاصة) باستخدام خدمة مرجع التصديق لمزيد من المعلومات، يُرجى الاطّلاع على مقالة نشر شهادة إقليمية تديرها Google باستخدام خدمة CA.
10. إضافة Looker إلى القائمة المسموح بها في شبكة VPC
عرض شبكات VPC المسموح بها
في القسم التالي، ستستخدم واجهة مستخدم Cloud Console لعرض قائمة "شبكات VPC المسموح بها" في Looker.
في Cloud Console، انتقِل إلى:
Looker → نسخة Looker → التفاصيل
في المثال أدناه، لا تتضمّن قائمة شبكات VPC المسموح بها أي إدخالات:

تعديل شبكات VPC المسموح بها
عدِّل نسخة Looker لتتيح الوصول إلى الشمال من خلال إضافة looker-psc-demo كشبكة VPC مسموح بها.
في Cloud Console، انتقِل إلى:
Looker → نسخة Looker → تعديل

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


التحقّق من صحة شبكات VPC المسموح بها
عرض قائمة "شبكات VPC المسموح بها" المعدّلة
في Cloud Console، انتقِل إلى:
Looker → نسخة Looker → التفاصيل

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

إنشاء مجموعة نقاط نهاية الشبكة لخدمة 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، انتقِل إلى:
خدمات الشبكة → موازنة الحمل → إنشاء جهاز موازنة الحمل

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

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




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

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



تأكَّد من تفعيل موازن التحميل واحصل على عنوان IP.
في Cloud Console → خدمات الشبكة → موازنة التحميل → looker-ilb-alb

12. التحويل باستخدام نظام أسماء النطاقات (DNS)
يمكن أن تكون عملية تحويل نظام أسماء النطاقات إلى النطاق المخصّص موثوقة داخل المؤسسة أو من خلال Cloud DNS. في هذا البرنامج التعليمي، سنعرّف Cloud DNS على أنّه الخادم الموثوق لنطاق Looker المخصّص. يتطلّب تفعيل التحويل باستخدام نظام أسماء النطاقات (DNS) من الموقع إلى Google Cloud Platform تفعيل سياسات الخادم الوارد. عند إنشاء سياسة خادم وارد، تنشئ خدمة Cloud DNS نقاط دخول لسياسة الخادم الوارد في شبكة السحابة الإلكترونية الافتراضية الخاصة (VPC) التي يتم تطبيق سياسة الخادم عليها. نقاط دخول سياسة الخادم الوارد هي عناوين IPv4 داخلية مصدرها نطاق عناوين IPv4 الأساسي لكل شبكة فرعية في شبكة VPC السارية، باستثناء الشبكات الفرعية التي تعمل كخادم وكيل فقط.
في القسم التالي، يتم إنشاء منطقة نظام أسماء النطاقات الخاص لنطاق 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) بالشبكة المحلية:
- اختيار أحد منتجات ربط الشبكات | Google Cloud
- في بنية المحور والأطراف التي تستخدم تبادل المعلومات بين شبكات VPC، يتم نشر مجموعة NEG المختلطة في شبكة VPC نفسها التي يتم فيها نشر Cloud Router (المحور).
- تأكَّد من تعديل جدران الحماية المحلية لتناسب نطاق الشبكة الفرعية للخادم الوكيل فقط، لأنّ هذه الشبكة الفرعية تعمل كعنوان IP المصدر للتواصل مع أحمال العمل المحلية.
- تعديل نظام أسماء النطاقات المحلي باستخدام عنوان IP لإعادة التوجيه الوارد باعتباره برنامج تعيين نظام أسماء النطاقات لـ looker.cosomopup.com
الوصول إلى واجهة مستخدم Looker
بعد أن يصبح موازن التحميل جاهزًا للتشغيل، يمكنك الوصول إلى نطاق Looker المخصّص من خلال متصفّح ويب. من المهم ملاحظة أنّه قد تظهر لك تحذيرات حسب نوع الشهادة التي تستخدمها، مثل شهادة غير موثوق بها مقابل شهادة موثوق بها.
في ما يلي مثال (شهادة غير موثوق بها) على الوصول إلى نطاق Looker المخصّص looker.cosmopup.com الذي يتيح الوصول إلى واجهة مستخدم Looker:

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 خاصة بخدمة Private Service Connect ونطاق مخصّص، كما تعرّفت على خيارات الشهادات المختلفة. هناك الكثير من الميزات الرائعة التي ستساعدك في استخدام Looker.
تعتقد Cosmopup أنّ الدروس التطبيقية حول الترميز رائعة!!

ما هي الخطوات التالية؟
اطّلِع على بعض دروس الترميز التطبيقية هذه...
- استخدام Private Service Connect لنشر الخدمات واستخدامها
- الاتصال بالخدمات المحلية عبر "الشبكات المختلطة" باستخدام Private Service Connect وموازنة تحميل TCP Proxy داخلية
- الوصول إلى جميع دروس Private Service Connect البرمجية المنشورة
مزيد من المعلومات والفيديوهات
المستندات المرجعية
- استخدام شهادات طبقة المقابس الآمنة المُدارة ذاتيًا | موازنة الحمل | Google Cloud
- نشر شهادة تديرها Google في منطقة معيّنة
- إنشاء خلفية Private Service Connect | شبكة VPC | Google Cloud
- إنشاء خلفية Private Service Connect | شبكة VPC | Google Cloud
- إنشاء مثيل Private Service Connect في Looker (خدمة Google Cloud الأساسية)
- كيفية نشر خدمة باستخدام Private Service Connect