1. مقدمة
في هذا الدرس التطبيقي حول الترميز، ستُنشئ "موازن تحميل تطبيقات داخلية إقليمي من المستوى 7" و"خلفية Private Service Connect" للوصول إلى Looker من جهة الشمال. يتطلب الوصول إلى Looker من جهة العميل إضافة "شبكة المستهلك الافتراضية الخاصة" إلى القائمة المسموح بها في مثيل 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 في "شبكة سحابة إلكترونية خاصة للمستهلك"
- الشهادات الصادرة عن Google مقابل الشهادات الموقَّعة ذاتيًا
المتطلبات
- مشروع Google Cloud الذي يتضمّن أذونات المالك
- النطاق المسجَّل
- مثيل Looker PSC الحالي
2. ما ستُنشئه
عليك إنشاء شبكة مستهلكين مُدرَجة في القائمة المسموح بها، وهي looker-psc-demo، لنشر جهاز موازنة تحميل تطبيقات L7 داخلي على مستوى منطقة معيّنة وNEG في الخلفية في PSC يتطلب شهادة من Google أو شهادة مُدارة ذاتيًا. لمزيد من التفاصيل، اطّلِع على صفحة ملخّص جهاز موازنة التحميل والشهادة.
3- متطلبات الشبكة
في ما يلي تفاصيل متطلبات الشبكة:
المكونات | الوصف |
VPC (looker-psc-demo) | شبكة VPC للوضع المخصّص |
الشبكة الفرعية لمجموعة نقاط نهاية شبكة اتصال الخدمة الخاصة | تُستخدَم لتخصيص عنوان IP لمجموعة نقاط نهاية الشبكة. |
الشبكة الفرعية للوكيل فقط | يتم تعيين عنوان IP داخلي لكلّ من الخوادم الوكيلة لموازنة التحميل. الحِزم المُرسَلة من خادم وكيل إلى جهاز افتراضي في الخلفية أو نقطة نهاية لها عنوان IP مصدر من الشبكة الفرعية للخادم الوكيل فقط. |
خدمة الخلفية | تعمل خدمة الخلفية كجسر بين جهاز موازنة الحمل وموارد الخلفية. في البرنامج التعليمي، تكون خدمة الخلفية مرتبطة بـ PSC NEG. |
4. طوبولوجيا الدرس التطبيقي حول الترميز
5- الإعداد والمتطلبات
إعداد البيئة حسب السرعة التي تناسبك
- سجِّل الدخول إلى Google Cloud Console وأنشئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. إذا لم يكن لديك حساب على Gmail أو Google Workspace، عليك إنشاء حساب.
- اسم المشروع هو الاسم المعروض للمشاركين في هذا المشروع. وهي سلسلة أحرف لا تستخدمها واجهات برمجة تطبيقات Google. ويمكنك تعديلها في أي وقت.
- يكون معرّف المشروع فريدًا في جميع مشاريع 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- شبكة المستهلك
في القسم التالي، ستنشئ شبكة المستهلك التي سيتم تعديلها في القائمة المسموح بها لشبكة 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 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 لمصادر البيانات المعتمَدة وبيانات الإعادة الاتصال للنطاق الفرعي looker.cosmopup.com.
9- الشهادات
يمكنك إنشاء شهادات Compute Engine أو شهادات "مدير الشهادات". استخدِم أيًا من الطرق التالية لإنشاء الشهادات باستخدام "مدير الشهادات":
- الشهادات المُدارة ذاتيًا على مستوى منطقة معيّنة للحصول على معلومات عن إنشاء الشهادات المُدارة ذاتيًا على مستوى منطقة معيّنة واستخدامها، يُرجى الاطّلاع على مقالة نشر شهادة مُدارة ذاتيًا على مستوى منطقة معيّنة. لا يمكن استخدام خرائط الشهادات.
- الشهادات الإقليمية التي تديرها Google لا يمكن استخدام خرائط الشهادات. تتيح خدمة "إدارة الشهادات" الأنواع التالية من الشهادات الإقليمية التي تديرها Google:
- الشهادات الإقليمية التي تديرها Google مع تفويض نظام أسماء النطاقات لكل مشروع لمزيد من المعلومات، يُرجى الاطّلاع على مقالة نشر شهادة إقليمية مُدارة من Google.
- الشهادات (الخاصة) الإقليمية التي تديرها Google من خلال خدمة مرجع التصديق لمزيد من المعلومات، يُرجى الاطّلاع على مقالة نشر شهادة إقليمية مُدارة من Google باستخدام خدمة CA.
10. القائمة المسموح بها في Looker VPC
عرض شبكات VPC المسموح بها
في القسم التالي، ستستخدم واجهة مستخدم Cloud Console لعرض قائمة "شبكات VPC المسموح بها" في Looker.
في Cloud Console، انتقِل إلى:
Looker → نسخة Looker → التفاصيل
في المثال أدناه، لا تتضمّن قائمة "شبكات VPC المسموح بها" أي إدخالات:
تعديل "شبكات VPC المسموح بها"
عدِّل نسخة Looker لتتيح الوصول من الشمال إلى الجنوب من خلال إضافة looker-psc-demo كشبكة سحابة إلكترونية خاصة افتراضية مسموح بها.
في Cloud Console، انتقِل إلى:
Looker → نسخة Looker → تعديل
الاتصالات → شبكات VPC المسموح بها
تأكَّد من اختيار المشروع الذي تم نشر looker-psc-demo فيه، ثمّ VPC looker-psc-demo، ثمّ انقر على "متابعة".
التحقّق من صحة مجموعات VPC المسموح بها
عرض قائمة "شبكات VPC المسموح بها" المعدَّلة
في Cloud Console، انتقِل إلى:
Looker → نسخة Looker → التفاصيل
11. إنشاء خلفية PSC
تُنشئ Looker PSC بصفتها مُنشئ خدمة عنوانًا موحّدًا للموارد (URI) لمرفق الخدمة يستخدمه مستهلكو الخدمة لنشر نقاط النهاية والخلفيات للحصول على إذن بالوصول إلى Looker من جهة الشمال. في الخطوة التالية، عليك تحديد معرّف الموارد المنتظم (URI) لمرفق خدمة Looker PSC، ثم إنشاء خلفية "مجموعة نقاط نهاية الشبكة" (NEG) لخدمة Private Service Connect في "سحابة المستهلك الافتراضية" (VPC).
تحديد مرفق خدمة Looker PSC
في Cloud Console، انتقِل إلى معرّف الموارد المنتظم (URI) الخاص بمرفق الخدمة وانسخه:
Looker → نسخة Looker → التفاصيل
إنشاء مجموعة نقاط نهاية الشبكة في 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، انتقِل إلى:
خدمات الشبكة → موازنة الحمل → إنشاء جهاز موازنة الحمل
حدِّد الخيارات التالية:
إنشاء إعدادات الواجهة الخلفية
حدِّد الخيارات التالية وخصِّص البيئة استنادًا إلى عملية النشر:
- المنطقة المستخدَمة في نشر البنية الأساسية للشبكة
- الشبكة: 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 السارية، باستثناء الشبكات الفرعية التي تستخدم الخادم الوكيل فقط.
في القسم التالي، يتم إنشاء منطقة 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) بين looker-psc-demo VPC والشبكة على الموقع الإلكتروني لتفعيل الاتصال.
في ما يلي الخطوات المطلوبة لإنشاء اتصال بين مجموعة نقاط نهاية الشبكة المختلطة والموقع الجغرافي:
- اختيار منتج "الاتصال بالشبكة" | Google Cloud
- في بنية الشبكة المستندة إلى مركز وأطراف مع تبادل المعلومات بين شبكات VPC، يتم نشر NEG المختلط في شبكة VPC نفسها التي يستخدمها "راوتر السحابة" (المركز).
- تأكَّد من تعديل جدران الحماية على الموقع لاستيعاب نطاق الشبكة الفرعية للخادم الوكيل فقط، لأنّ هذه الشبكة الفرعية تُستخدَم كعنوان 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 لشهادة موفِّر خدمات البريد الإلكتروني (PSC) ونطاق مخصّص، وتعرّفت على خيارات الشهادة المختلفة. هناك الكثير من الأشياء المثيرة التي ستساعدك في استخدام Looker.
يعتقد Cosmopup أنّ الدروس التطبيقية حول الترميز رائعة.
الخطوة التالية
اطّلِع على بعض هذه الدروس التطبيقية حول الترميز...
- استخدام Private Service Connect لنشر الخدمات واستخدامها
- الاتصال بالخدمات المستضافة على الموقع باستخدام "الشبكات المختلطة" باستخدام Private Service Connect وجهاز موازنة تحميل وكيل TCP داخلي
- الوصول إلى جميع مجموعات رموز Private Service Connect المنشورة
مزيد من المراجع والفيديوهات
المستندات المرجعية
- استخدام شهادات طبقة المقابس الآمنة المُدارة ذاتيًا | موازنة التحميل | Google Cloud
- نشر شهادة إقليمية تديرها Google
- إنشاء خلفية Private Service Connect | VPC | Google Cloud
- إنشاء خلفية Private Service Connect | VPC | Google Cloud
- إنشاء مثيل Private Service Connect في Looker (Google Cloud core)
- كيفية نشر خدمة باستخدام Private Service Connect