1. مقدمة
تتيح خدمة Cloud Load Balancing موازنة تحميل الزيارات إلى نقاط نهاية تتجاوز Google Cloud، مثل مراكز البيانات المحلية والسُحب الإلكترونية العامة الأخرى التي يمكنك استخدام الاتصال المختلط للوصول إليها.
الاستراتيجية المختلطة هي حلّ عملي يتيح لك التكيّف مع متطلبات السوق المتغيّرة وتحديث تطبيقاتك بشكل تدريجي. يمكن أن يكون هذا النشر المختلط مؤقتًا لإتاحة نقل البيانات إلى حلّ حديث مستند إلى السحابة الإلكترونية أو جزءًا دائمًا من البنية التحتية لتكنولوجيا المعلومات في مؤسستك.
يتيح لك إعداد موازنة الحمل المختلطة أيضًا الاستفادة من مزايا إمكانات الشبكات في Cloud Load Balancing للخدمات التي تعمل على بنيتك الأساسية الحالية خارج Google Cloud.
إذا أردت إتاحة الخدمة المختلطة في شبكات VPC أخرى، يمكنك استخدام Private Service Connect من أجل نشر الخدمة. من خلال وضع مرفق خدمة أمام موازن التحميل الداخلي الإقليمي HTTP(s)، يمكنك السماح للعملاء في شبكات VPC الأخرى بالوصول إلى الخدمات المختلطة التي تعمل في بيئات محلية أو بيئات سحابية أخرى.
ما ستنشئه
في هذا الدرس التطبيقي حول الترميز، ستنشئ جهاز موازنة حمل داخليًا لبروتوكول HTTP(S) مع ميزة "إمكانية الاتصال المختلط" بخدمة محلية باستخدام "مجموعة نقاط نهاية الشبكة"، وستتمكّن سحابة VPC الخاصة بالمستهلك من التواصل مع الخدمة المحلية باستخدام المنفذ 80، علمًا بأنّ المنفذ 443 ليس ضمن نطاق الدرس التطبيقي حول الترميز.

ما ستتعلمه
- كيفية إنشاء جهاز موازنة حمل داخلي يستخدم بروتوكول HTTP(S) مع خلفية Hybrid NEG
- كيفية إنشاء مقدّم خدمة (مرفق خدمة) ومستهلك (قاعدة توجيه) في Private Service Connect
المتطلبات
- الشبكات المختلطة المُنشأة، مثل HA VPN وInterconnect وSW-WAN
- مشروع Google Cloud
إنشاء اتصال مختلط
يجب ربط بيئات Google Cloud والبيئات المحلية أو السحابية الأخرى من خلال الاتصال المختلط، وذلك باستخدام إما مرفقات شبكة VLAN في Cloud Interconnect أو أنفاق Cloud VPN مع Cloud Router. ننصحك باستخدام اتصال عالي التوفّر.
تتعرّف خدمة Cloud Router المفعّلة باستخدام التوجيه الديناميكي العالمي على نقطة النهاية المحدّدة من خلال بروتوكول BGP وتبرمجها في شبكة VPC على Google Cloud. التوجيه الديناميكي الإقليمي غير متاح. لا تتوفّر أيضًا المسارات الثابتة.
إنّ شبكة السحابة الإلكترونية الخاصة الافتراضية (VPC) على Google Cloud التي تستخدمها لإعداد Cloud Interconnect أو Cloud VPN هي الشبكة نفسها التي تستخدمها لإعداد عملية نشر موازنة التحميل المختلطة. تأكَّد من أنّ نطاقات CIDR للشبكة الفرعية لشبكة VPC لا تتعارض مع نطاقات CIDR البعيدة. عندما تتداخل عناوين IP، يتم إعطاء الأولوية لمسارات الشبكة الفرعية على الاتصال عن بُعد.
للحصول على التعليمات، يُرجى الاطّلاع على:
إعلانات المسارات المخصّصة
تتطلّب الشبكات الفرعية أدناه إعلانات مخصّصة من Cloud Router إلى الشبكة المحلية، ما يضمن تعديل قواعد جدار الحماية المحلية.
الشبكة الفرعية | الوصف |
172.16.0.0/23 | الشبكة الفرعية للخادم الوكيل المستخدَمة للتواصل مباشرةً مع الخدمة المحلية |
130.211.0.0/22, 35.191.0.0/16 |
2. قبل البدء
تعديل المشروع ليتوافق مع الدرس التطبيقي
يستخدِم هذا الدرس التطبيقي حول الترميز $variables للمساعدة في تنفيذ عملية إعداد gcloud في Cloud Shell.
داخل Cloud Shell، نفِّذ ما يلي
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
psclab=YOUR-PROJECT-NAME
echo $psclab
3- إعداد Producer
إنشاء شبكة VPC الخاصة بالمنتج
داخل Cloud Shell، نفِّذ ما يلي
gcloud compute networks create producer-vpc --project=$psclab --subnet-mode=custom
إنشاء الشبكات الفرعية الخاصة بالمنتج
داخل Cloud Shell، نفِّذ ما يلي
gcloud compute networks subnets create subnet-201 --project=$psclab --range=10.10.1.0/24 --network=producer-vpc --region=us-central1
gcloud compute networks subnets create subnet-202 --project=$psclab --range=10.20.1.0/24 --network=producer-vpc --region=us-central1
حجز عنوان IP لجهاز موازنة الحمل الداخلي
داخل Cloud Shell، نفِّذ ما يلي، مع العلم أنّه لا يمكن استخدام SHARED_VIP مع Private Service Connect، لذا استخدِم GCE_ENDPOINT بدلاً من ذلك.
gcloud compute addresses create lb-ip \
--region=us-central1 \
--subnet=subnet-202 \
--purpose=GCE_ENDPOINT
استخدِم الأمر compute addresses describe لعرض عنوان IP المخصّص.
gcloud compute addresses describe lb-ip --region=us-central1 | grep address:
إنشاء الشبكات الفرعية للخادم الوكيل الإقليمي
يتم تخصيص الخادم الوكيل على مستوى شبكة VPC، وليس على مستوى موازن التحميل. يجب إنشاء شبكة فرعية مخصّصة للوكيل فقط في كل منطقة من الشبكة الافتراضية (VPC) التي تستخدم فيها موازنات التحميل المستندة إلى Envoy. إذا نشرت عدّة أجهزة موازنة حمل في المنطقة نفسها وشبكة VPC نفسها، ستتشارك هذه الأجهزة في الشبكة الفرعية نفسها المخصّصة للوكيل فقط من أجل موازنة الحمل.
- ينشئ العميل اتصالاً بعنوان IP ومنفذ قاعدة إعادة التوجيه لموازنة التحميل.
- يستمع كل وكيل على عنوان IP والمنفذ المحدّدين في قاعدة إعادة التوجيه الخاصة بموازن التحميل المقابل. يتلقّى أحد الخوادم الوكيلة اتصال الشبكة الخاص بالعميل وينهيه.
- يُنشئ الخادم الوكيل اتصالاً بالآلة الافتراضية المناسبة أو نقطة النهاية في الخلفية في مجموعة NEG، وذلك على النحو الذي تحدّده خريطة عناوين URL وخدمات الخلفية لجهاز موازنة الحمل.
يجب إنشاء شبكات فرعية مخصّصة للوكيل فقط بغض النظر عمّا إذا كانت شبكتك في الوضع التلقائي أو الوضع المخصّص. يجب أن توفّر الشبكة الفرعية للخادم الوكيل فقط 64 عنوان IP أو أكثر. يتوافق ذلك مع طول بادئة يبلغ /26 أو أقل. حجم الشبكة الفرعية المقترَح هو /23 (512 عنوانًا للوكيل فقط).
داخل Cloud Shell، نفِّذ ما يلي
gcloud compute networks subnets create proxy-subnet-us-central \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=us-central1 \
--network=producer-vpc \
--range=172.16.0.0/23
إنشاء الشبكات الفرعية لترجمة عناوين الشبكة (NAT) في Private Service Connect
أنشِئ شبكة فرعية واحدة أو أكثر مخصّصة لاستخدامها مع Private Service Connect. إذا كنت تستخدم وحدة تحكّم Google Cloud من أجل نشر خدمة، يمكنك إنشاء الشبكات الفرعية أثناء هذا الإجراء. أنشئ الشبكة الفرعية في المنطقة نفسها التي يقع فيها جهاز موازنة الحمل الخاص بالخدمة. لا يمكنك تحويل شبكة فرعية عادية إلى شبكة فرعية في Private Service Connect.
داخل Cloud Shell، نفِّذ ما يلي
gcloud compute networks subnets create psc-nat-subnet --network=producer-vpc --region=us-central1 --range=100.100.10.0/24 --purpose=private-service-connect
إنشاء قواعد جدار الحماية الخاصة بالمنتج
اضبط قواعد جدار الحماية للسماح بمرور الزيارات بين نقاط نهاية Private Service Connect وربط الخدمة. في الدرس التطبيقي حول الترميز، تم إنشاء قاعدة جدار حماية Ingress تسمح للشبكة الفرعية NAT 100.100.10.0/24 بالوصول إلى مرفق خدمة Private Service Connect (جهاز موازنة الحمل الداخلي).
داخل Cloud Shell، نفِّذ ما يلي
gcloud compute --project=$psclab firewall-rules create allow-to-ingress-nat-subnet --direction=INGRESS --priority=1000 --network=producer-vpc --action=ALLOW --rules=all --source-ranges=100.100.10.0/24
داخل Cloud Shell، أنشئ قاعدة fw-allow-health-check للسماح لعمليات التحقّق من الصحة في Google Cloud بالوصول إلى الخدمة المحلية (خدمة الخلفية) على منفذ TCP رقم 80.
gcloud compute firewall-rules create fw-allow-health-check \
--network=producer-vpc \
--action=allow \
--direction=ingress \
--source-ranges=130.211.0.0/22,35.191.0.0/16 \
--rules=tcp:80
إنشاء قاعدة جدار حماية تتيح الدخول للشبكة الفرعية للخادم الوكيل فقط من أجل السماح لجهاز موازنة الحمل بالتواصل مع مثيلات الخلفية على منفذ TCP رقم 80
gcloud compute firewall-rules create fw-allow-proxy-only-subnet \
--network=producer-vpc \
--action=allow \
--direction=ingress \
--source-ranges=172.16.0.0/23 \
--rules=tcp:80
إعداد مجموعة نقاط نهاية الشبكة للاتصال المختلط
عند إنشاء مجموعة NEG، استخدِم منطقة تقلّل المسافة الجغرافية بين Google Cloud وبيئة مؤسستك أو بيئة Cloud أخرى. على سبيل المثال، إذا كنت تستضيف خدمة في بيئة محلية في فرانكفورت، ألمانيا، يمكنك تحديد منطقة europe-west3-a في Google Cloud عند إنشاء مجموعة NEG.
بالإضافة إلى ذلك، إذا كنت تستخدم Cloud Interconnect، يجب أن تكون المنطقة المستخدَمة لإنشاء مجموعة NEG في المنطقة نفسها التي تم فيها ضبط مرفق Cloud Interconnect.
للاطّلاع على المناطق والأقاليم المتاحة، راجِع مستندات Compute Engine: المناطق والأقاليم المتاحة.
داخل Cloud Shell، أنشئ مجموعة نقاط نهاية شبكة (NEG) للاتصال المختلط باستخدام الأمر gcloud compute network-endpoint-groups create.
gcloud compute network-endpoint-groups create on-prem-service-neg \
--network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
--zone=us-central1-a \
--network=producer-vpc
داخل Cloud Shell، أضِف نقطة نهاية IP:Port المحلية إلى مجموعة NEG المختلطة.
gcloud compute network-endpoint-groups update on-prem-service-neg \
--zone=us-central1-a \
--add-endpoint="ip=192.168.1.5,port=80"
ضبط جهاز موازنة الحمل
في الخطوات التالية، ستضبط موازن التحميل (قاعدة إعادة التوجيه) وتربطها بمجموعة نقاط نهاية الشبكة.
داخل Cloud Shell، أنشئ فحص السلامة الإقليمي الذي تم تمريره إلى الخدمة المحلية
gcloud compute health-checks create http http-health-check \
--region=us-central1 \
--use-serving-port
داخل Cloud Shell، أنشئ خدمة الخلفية للخلفية المحلية باستخدام مجموعة نقاط نهاية الشبكة المختلطة.
gcloud compute backend-services create on-premise-service-backend \
--load-balancing-scheme=INTERNAL_MANAGED \
--protocol=HTTP \
--health-checks=http-health-check \
--health-checks-region=us-central1 \
--region=us-central1
داخل Cloud Shell، أضِف الخلفية المختلطة لمجموعة نقاط نهاية الشبكة إلى خدمة الخلفية. بالنسبة إلى RATE، أدخِل الحدّ الأقصى لـ RATE الذي يجب أن يتعامل معه الخلفية.
gcloud compute backend-services add-backend on-premise-service-backend \
--region=us-central1 \
--balancing-mode=RATE \
--max-rate-per-endpoint=100 \
--network-endpoint-group=on-prem-service-neg \
--network-endpoint-group-zone=us-central1-a
داخل Cloud Shell، أنشئ خريطة URL لتوجيه الطلبات الواردة إلى خدمة الخلفية
gcloud compute url-maps create on-prem-svc-url-map \
--default-service on-premise-service-backend \
--region=us-central1
إنشاء خادم وكيل مستهدف HTTP
gcloud compute target-http-proxies create proxy-subnet-us-central\
--url-map=on-prem-svc-url-map \
--url-map-region=us-central1 \
--region=us-central1
أنشئ قاعدة إعادة توجيه لتوجيه الطلبات الواردة إلى الخادم الوكيل. لا تستخدِم الشبكة الفرعية المخصّصة للوكيل فقط لإنشاء قاعدة إعادة التوجيه.
gcloud compute forwarding-rules create http-hybrid-neg-fwd-rule \
--load-balancing-scheme=INTERNAL_MANAGED \
--network=producer-vpc \
--subnet=subnet-202 \
--address=lb-ip \
--ports=80 \
--region=us-central1 \
--target-http-proxy=proxy-subnet-us-central \
--target-http-proxy-region=us-central1
4. التحقّق من صحة أداة موازنة الحمل
من Cloud Console، انتقِل إلى خدمات الشبكة → موازنة الحمل → أجهزة موازنة الحمل. يُرجى العِلم أنّ مجموعة NEG واحدة هي "خضراء"، ما يشير إلى إجراء فحص سلامة ناجح للخدمة المحلية.

يؤدي اختيار ‘on-premise-svc-url-map' إلى عرض عنوان IP للواجهة الأمامية وتحديد خدمة الخلفية.

5- عرض المسارات التي تم التعرّف عليها من الموقع الجغرافي
انتقِل إلى شبكة VPC → طرق التوجيه. ملاحظة: الشبكة الفرعية لخدمة "على أجهزة الشركة" التي تم التعرّف عليها هي 192.168.1.0/27

6. التحقّق من إمكانية الاتصال بالخدمة داخل المؤسسة
من شبكة VPC الخاصة بالمنتجين، سننشئ جهازًا افتراضيًا (VM) لاختبار إمكانية الاتصال بالخدمة المحلية، وبعد ذلك سيكون ملحق الخدمة هو الإعداد التالي.
داخل Cloud Shell، أنشئ مثيل الاختبار في شبكة VPC الخاصة بالمنتج
gcloud compute instances create test-box-us-central1 \
--zone=us-central1-a \
--image-family=debian-10 \
--image-project=debian-cloud \
--subnet=subnet-201 \
--no-address
للسماح لميزة "الوصول إلى الأجهزة الافتراضية عبر الإنترنت" بالاتصال بأجهزة VM الافتراضية، أنشئ قاعدة جدار حماية تتضمّن ما يلي:
- ينطبق على جميع مثيلات الأجهزة الافتراضية التي تريد إتاحتها باستخدام IAP.
- يسمح بحركة البيانات الواردة من نطاق عناوين IP 35.235.240.0/20. يحتوي هذا النطاق على جميع عناوين IP التي تستخدمها خدمة IAP لإعادة توجيه بروتوكول TCP.
داخل Cloud Shell، أنشئ مثيل الاختبار في شبكة VPC الخاصة بالمنتج
gcloud compute firewall-rules create ssh-iap \
--network producer-vpc \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
سجِّل الدخول إلى test-box-us-central1 باستخدام IAP في Cloud Shell للتحقّق من إمكانية الاتصال بالخدمة المحلية من خلال تنفيذ curl مقابل عنوان IP لموازنة الحمل. أعِد المحاولة إذا انتهت المهلة.
gcloud compute ssh test-box-us-central1 --project=$psclab --zone=us-central1-a --tunnel-through-iap
نفِّذ أمر curl للتحقّق من إمكانية الاتصال بالخدمة المحلية. بعد التحقّق من صحة البيانات، اخرج من الجهاز الظاهري بالعودة إلى موجّه أوامر Cloud Shell. استبدِل عنوان IP الخاص بجهاز موازنة الحمل الداخلي استنادًا إلى الناتج الذي تم تحديده في الخطوة 4.
user@test-box-us-central1:~$ curl -v 10.20.1.2
* Expire in 0 ms for 6 (transfer 0x55b7725c10f0)
* Trying 10.20.1.2...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x55b7725c10f0)
* Connected to 10.20.1.2 (10.20.1.2) port 80 (#0)
> GET / HTTP/1.1
> Host: 10.20.1.2
> User-Agent: curl/7.64.0
> Accept: */*
>
< HTTP/1.1 200 OK
< content-type: text/html; charset=utf-8
< accept-ranges: bytes
< etag: "3380914763"
< last-modified: Mon, 05 Dec 2022 15:10:56 GMT
< expires: Mon, 12 Dec 2022 03:17:20 GMT
< cache-control: max-age=0
< content-length: 37
< date: Mon, 12 Dec 2022 03:17:20 GMT
< server: lighttpd/1.4.53
< via: 1.1 google
<
Welcome to my on-premise service!!
7. إنشاء مرفق خدمة Private Service Connect
في الخطوات التالية، سننشئ Service Attachment، وبعد إقرانه بنقطة نهاية المستهلك، يمكن الوصول إلى الخدمة المحلية بدون الحاجة إلى تبادل معلومات بين شبكات VPC.
إنشاء مرفق الخدمة
إنشاء مرفق الخدمة داخل Cloud Shell
gcloud compute service-attachments create service-1 --region=us-central1 --producer-forwarding-rule=http-hybrid-neg-fwd-rule --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=psc-nat-subnet
اختياري: في حال استخدام شبكة VPC مشتركة، أنشئ Service Attachment في "مشروع الخدمة".
gcloud compute service-attachments create service-1 --region=us-central1 --producer-forwarding-rule=http-hybrid-neg-fwd-rule --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=projects/<hostproject>/regions/<region>/subnetworks/<natsubnet>
التحقّق من صحة مرفق خدمة TCP
gcloud compute service-attachments describe service-1 --region us-central1
اختياري: انتقِل إلى خدمات الشبكة → Private Service Connect لعرض Service Attachment الذي تم إنشاؤه حديثًا.

يؤدي اختيار Service-1 إلى تقديم تفاصيل أكثر، بما في ذلك معرّف الموارد المنتظم (URI) لربط الخدمة الذي يستخدمه المستهلك لإنشاء اتصال Private Service Connect. دوِّن معرّف الموارد المنتظم (URI) لأنّه سيتم استخدامه في خطوة لاحقة.

تفاصيل مرفق الخدمة: projects/<projectname>/regions/us-central1/serviceAttachments/service-1
8. إعداد المستهلك
إنشاء شبكة VPC الخاصة بالمستهلك
داخل Cloud Shell، نفِّذ ما يلي
gcloud compute networks create consumer-vpc --project=$psclab --subnet-mode=custom
إنشاء الشبكات الفرعية للمستهلك
داخل Cloud Shell، أنشئ الشبكة الفرعية في GCE
gcloud compute networks subnets create subnet-101 --project=$psclab --range=10.100.1.0/24 --network=consumer-vpc --region=us-central1
داخل Cloud Shell، أنشئ الشبكة الفرعية لنقطة نهاية المستهلك.
gcloud compute networks subnets create subnet-102 --project=$psclab --range=10.100.2.0/24 --network=consumer-vpc --region=us-central1
إنشاء نقطة نهاية المستهلك (قاعدة إعادة التوجيه)
داخل Cloud Shell، أنشئ عنوان IP ثابتًا سيتم استخدامه كنقطة نهاية للمستهلك.
gcloud compute addresses create psc-consumer-ip-1 --region=us-central1 --subnet=subnet-102 --addresses 10.100.2.10
لنستخدِم معرّف الموارد المنتظم (URI) لمرفق الخدمة الذي تم إنشاؤه سابقًا لإنشاء نقطة نهاية المستهلك.
إنشاء نقطة نهاية المستهلك داخل Cloud Shell
gcloud compute forwarding-rules create psc-consumer-1 --region=us-central1 --network=consumer-vpc --address=psc-consumer-ip-1 --target-service-attachment=projects/$psclab/regions/us-central1/serviceAttachments/service-1
9- التحقّق من صحة Private Service Connect للمستهلك - شبكة VPC للمستهلك
من شبكة VPC الخاصة بالمستهلك، تحقَّق من نجاح اتصال Private Service Connect من خلال الانتقال إلى خدمات الشبكة → Private Service Connect → نقاط النهاية المتصلة. دوِّن اتصال psc-consumer-1 وعنوان IP المقابل الذي أنشأناه سابقًا.

عند اختيار psc-consumer-1، يتم تقديم التفاصيل، بما في ذلك معرّف الموارد المنتظم (URI) لربط الخدمة.

10. التحقّق من صحة شبكة VPC الخاصة بمقدّم الخدمة في Consumer Private Service Connect
من شبكة VPC الخاصة بمقدّم الخدمة، تأكَّد من نجاح عملية ربط Private Service Connect من خلال الانتقال إلى خدمات الشبكة → Private Service Connect → الخدمة المنشورة. لاحظ أنّ اتصال الخدمة-1 المنشور يشير الآن إلى قاعدة إعادة توجيه واحدة (نقطة نهاية الاتصال).

11. إنشاء منطقة نظام أسماء نطاقات خاص وسجلّ A
أنشِئ منطقة نظام أسماء النطاقات الخاصّة التي تم ربطها بنقطة نهاية اتصال PSC، ما يتيح الوصول السلس إلى المنتج من أي مضيف داخل السحابة الإلكترونية الافتراضية الخاصة.
من Cloud Shell
gcloud dns --project=$psclab managed-zones create codelab-zone --description="" --dns-name="codelab.net." --visibility="private" --networks="consumer-vpc"
gcloud dns --project=$psclab record-sets create service1.codelab.net. --zone="codelab-zone" --type="A" --ttl="300" --rrdatas="10.100.2.10"
12. التحقّق من إمكانية وصول المستهلك إلى خدمة "المزوّد" باستخدام الجهاز الافتراضي
من شبكة VPC الخاصة بالمستهلكين، سننشئ جهازًا افتراضيًا لاختبار إمكانية الاتصال بالخدمة المحلية من خلال الوصول إلى نقطة نهاية المستهلك service1.codelabs.net
داخل Cloud Shell، أنشئ المثيل التجريبي في شبكة VPC الخاصة بالمستهلك.
gcloud compute instances create consumer-vm \
--zone=us-central1-a \
--image-family=debian-10 \
--image-project=debian-cloud \
--subnet=subnet-101 \
--no-address
للسماح لميزة "الوصول إلى الأجهزة الافتراضية عبر الإنترنت" بالاتصال بأجهزة VM الافتراضية، أنشئ قاعدة جدار حماية تتضمّن ما يلي:
- ينطبق على جميع مثيلات الأجهزة الافتراضية التي تريد إتاحتها باستخدام IAP.
- يسمح بحركة البيانات الواردة من نطاق عناوين IP 35.235.240.0/20. يحتوي هذا النطاق على جميع عناوين IP التي تستخدمها خدمة IAP لإعادة توجيه بروتوكول TCP.
داخل Cloud Shell، أنشئ المثيل التجريبي في شبكة VPC الخاصة بالمستهلك.
gcloud compute firewall-rules create ssh-iap-consumer \
--network consumer-vpc \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
سجِّل الدخول إلى consumer-vm باستخدام IAP في Cloud Shell للتحقّق من إمكانية الاتصال بالخدمة المحلية من خلال تنفيذ curl على خدمة FQDN لنظام أسماء النطاقات service1.codelab.net. أعِد المحاولة إذا حدث انتهاء مهلة.
gcloud compute ssh consumer-vm --project=$psclab --zone=us-central1-a --tunnel-through-iap
نفِّذ أمر curl للتحقّق من إمكانية الاتصال بالخدمة المحلية. بعد التحقّق من صحة الشهادة، اخرج من الجهاز الظاهري (VM) بالعودة إلى طلب Cloud Shell.
تنفيذ curl داخل Cloud Shell
$ curl -v service1.codelab.net
* Trying 10.100.2.10...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x5650fc3390f0)
* Connected to service1.codelab.net (10.100.2.10) port 80 (#0)
> GET / HTTP/1.1
> Host: service1.codelab.net
> User-Agent: curl/7.64.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: text/html; charset=utf-8
< Accept-Ranges: bytes
< ETag: "3380914763"
< Last-Modified: Mon, 05 Dec 2022 15:10:56 GMT
< Expires: Mon, 05 Dec 2022 15:15:41 GMT
< Cache-Control: max-age=0
< Content-Length: 37
< Date: Mon, 05 Dec 2022 15:15:41 GMT
< Server: lighttpd/1.4.53
<
Welcome to my on-premise service!!
في ما يلي مثال على عملية تسجيل من الخدمة المحلية، يُرجى ملاحظة أنّ عنوان IP المصدر 172.16.0.13 هو من نطاق الشبكة الفرعية للخادم الوكيل 172.16.0.0/23

13. إخلاء مساحة Producer
حذف مكوّنات Producer
داخل Cloud Shell، احذف مثيلات الاختبار في شبكة VPC الخاصة بالمنتج
gcloud compute instances delete test-box-us-central1 --zone=us-central1-a --quiet
gcloud compute service-attachments delete service-1 --region=us-central1 --quiet
gcloud compute forwarding-rules delete http-hybrid-neg-fwd-rule --region=us-central1 --quiet
gcloud compute target-http-proxies delete proxy-subnet-us-central --region=us-central1 --quiet
gcloud compute url-maps delete on-prem-svc-url-map --region=us-central1 --quiet
gcloud compute backend-services delete on-premise-service-backend --region=us-central1 --quiet
gcloud compute network-endpoint-groups delete on-prem-service-neg --zone=us-central1-a --quiet
gcloud compute addresses delete lb-ip --region=us-central1 --quiet
gcloud compute networks subnets delete psc-nat-subnet subnet-201 subnet-202 proxy-subnet-us-central --region=us-central1 --quiet
gcloud compute firewall-rules delete ssh-iap fw-allow-proxy-only-subnet allow-to-ingress-nat-subnet fw-allow-health-check --quiet
gcloud compute health-checks delete http-health-check --region=us-central1 --quiet
gcloud compute networks delete producer-vpc --quiet
14. إخلاء مساحة بيانات المستهلك
حذف مكوّنات المستهلك
داخل Cloud Shell، احذف مثيلات الاختبار في شبكة VPC الخاصة بالمستهلك.
gcloud compute instances delete consumer-vm --zone=us-central1-a --quiet
gcloud compute forwarding-rules delete psc-consumer-1 --region=us-central1 --quiet
gcloud compute addresses delete psc-consumer-ip-1 --region=us-central1 --quiet
gcloud compute networks subnets delete subnet-101 subnet-102 --region=us-central1 --quiet
gcloud compute firewall-rules delete ssh-iap-consumer --quiet
gcloud dns record-sets delete service1.codelab.net --type=A --zone=codelab-zone --quiet
gcloud dns managed-zones delete codelab-zone --quiet
gcloud compute networks delete consumer-vpc --quiet
15. تهانينا
تهانينا، لقد نجحت في إعداد خدمة Private Service Connect والتحقّق من صحتها باستخدام جهاز موازنة حمل داخلي يستخدم بروتوكول HTTP(S).
لقد أنشأت البنية الأساسية للمنتج، وأضفت مرفق خدمة في شبكة VPC الخاصة بالمنتج يشير إلى خدمة محلية. تعرّفت على كيفية إنشاء نقطة نهاية مستهلك في شبكة VPC الخاصة بالمستهلك تتيح الاتصال بالخدمة المحلية.
ما هي الخطوات التالية؟
اطّلِع على بعض دروس الترميز التطبيقية هذه...
- استخدام Private Service Connect لنشر الخدمات واستهلاكها مع GKE
- استخدام Private Service Connect لنشر الخدمات واستهلاكها
- الاتصال بالخدمات المحلية عبر شبكة مختلطة باستخدام خدمة Private Service Connect وجهاز موازنة الحمل الداخلي الذي يستخدم وكيل TCP
مزيد من المعلومات والفيديوهات
- نظرة عامة على Private Service Connect
- ما هي خدمة Private Service Connect؟
- أنواع موازنات الحمل المتوافقة