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

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 باستخدام خدمة CA.

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.png

3e26d16d83cceae9.png

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

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

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

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

e34664c867929c66.png

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

تنشئ خدمة Looker PSC بصفتها منتج خدمة معرّف الموارد المنتظم لمرفق الخدمة الذي يستخدمه مستهلكو الخدمة لنشر نقاط النهاية والخوادم الخلفية من أجل الوصول إلى Looker من الشمال. في الخطوة التالية، ستحدّد معرّف الموارد المنتظم (URI) لـ "مرفق خدمة" Private Service Connect في Looker، ثم ستنشئ خلفية مجموعة نقاط نهاية الشبكة (NEG) في Private Service Connect في شبكة 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.png

b3eaa88dd02a95c1.png

cf519145f0259061.png

530527bc9273e002.png

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

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

53a80d74b3c7dd56.png

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

29faa25397025fb4.png

538da2b4930d243b.png

bbc13e921681dd65.png

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

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

abc7d02b4c951c73.png

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) بالشبكة المحلية:

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

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

c911c127bffdee57.jpeg

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

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

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

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