1. مقدمة
يوفّر هذا المستند بنية مرجعية لضبط نطاق مخصّص للوصول إلى AgentSpace. بدلاً من عنوان URL الذي تديره Google والذي تمّ تعيينه أثناء إنشاء تطبيق Agentspace، يمكن للمستخدمين استخدام نطاق مخصّص. يوضّح هذا الدرس التطبيقي حول الترميز كيفية الوصول إلى تقويم Agentspace وتطبيقات Drive باستخدام نطاق nip.io. وnip.io هي خدمة مجانية ومفتوحة المصدر توفّر نظام أسماء النطاقات البديل لأي عنوان IP. ويسمح لك هذا الإجراء بشكل أساسي بإنشاء اسم مضيف يتم تحويله إلى عنوان IP معيّن بدون الحاجة إلى إعداد خادم نظام أسماء النطاقات الخاص بك أو تعديل ملف /etc/hosts.
ننصحك باستخدام نطاقك الخاص، ولكن يتم استخدام nip.io في البرنامج التعليمي لأغراض توضيحية.
في سيناريو النشر الموضّح أدناه (الشكل 1)، نشرت AgentSpace مستودع بيانات يحتوي على تطبيق "تقويم Google" يمكن الوصول إليه من خلال عنوان URL متاح للجميع تديره Google.
الشكل 1
يؤدي النمو المستمر لقاعدة بيانات التخزين والتطبيقات اللاحقة إلى إدارة إضافية لعناوين URL العامة التي تديرها Google كما هو موضّح في سيناريو النشر أدناه (الشكل 2)، ما يؤدي إلى ربط تطبيقات Agentspace بعنوان URL بنسبة 1:1.
الشكل 2.
يتيح النطاق المخصّص ربط تطبيقات AgentSpace المختلفة بنطاق عميل واحد يحدّده المستخدم. تتيح هذه الميزة ربط مسار عنوان URL معيّن بكل تطبيق من تطبيقات Agentspace، ما يوفر مرونة أكبر كما هو موضّح في سيناريو النشر أدناه (الشكل 3). على سبيل المثال، يتم تقسيم النطاق الذي يديره العميل agentspace.cosmopup.com إلى قواعد مسارات، ويتم ربط كل مسار بتطبيق Agentspace معيّن، وتشمل الأمثلة ما يلي:
- agentspace.cosmopup.com/drive-app الذي يتم ربطه بتطبيق Agentspace في Workspace Drive
- agentspace.cosmopup.com/calendar-app الذي يتم ربطه بتطبيق Agentspace في "تقويم Workspace"
إنّ قواعد المضيف والمسار في أداة "موازنة تحميل التطبيقات الخارجية"، التي يتم ضبطها من خلال ميزة "ربط عناوين URL"، تتحكّم في المنطق الذي يربط النطاق المخصّص بعنوان URL الذي تديره Google. وينفِّذ الدالة التالية باستخدام المثال agentspace.cosmopup.com/drive-app
- يتلقّى موازن التحميل مسار مضيف النطاق المخصّص agentspace.cosmopup.com/drive-app.
- تم ضبط خريطة عناوين URL لمطابقة قاعدة المضيف والمسار المتقدّمة
- مضيف agentspace.cosmopup.com مؤهَّل لمطابقة المسار وإعادة كتابته
- يخضع مسار مضيف النطاق المخصّص agentspace.cosmopup.com/drive-app لعملية إعادة كتابة عناوين URL.
- PathPrefixRewrite هو مسار Agentspace: /us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd
- hostRewrite هو مضيف Agentspace: vertexaisearch.cloud.google.com
- يتم تنفيذ عملية إعادة الكتابة قبل التوجيه إلى خدمة الخلفية.
- تُوجّه خدمة الخلفية الزيارات إلى تطبيق Drive-app استنادًا إلى عنوان URL الخاص بـ Agentspace.
الشكل 3
ما ستتعرّف عليه
- إنشاء جهاز موازنة حمل خارجي على مستوى العالم للتطبيقات
- إنشاء عملية إعادة كتابة للخدمة الخلفية باستخدام نطاق مخصّص وعملية إعادة كتابة لتطبيق Agentspace
- كيفية دمج nip.io وCloud DNS لإنشاء نطاق مخصّص
- كيفية التحقّق من إمكانية الوصول إلى نطاق مخصّص في Agentspace
المتطلبات
- مشروع Google Cloud الذي يتضمّن أذونات المالك
- عناوين URL الحالية لتطبيقات Agentspace
- نطاق خاص يملكه المستخدم (اختياري)
- الشهادات - موقَّعة ذاتيًا أو مُدارة من Google
2. ما ستُنشئه
ستُنشئ أداة "موازن تحميل التطبيقات الخارجية" العالمية مع إمكانات إدارة الزيارات المتقدّمة لتفعيل مطابقة مسار النطاق المخصّص لتطبيقات Agentspace باستخدام إعادة كتابة المضيف والمسار. بعد نشر التطبيق، عليك تنفيذ الإجراءات التالية للتحقّق من إمكانية الوصول إلى تطبيق Agentspace:
- يمكنك الوصول إلى تطبيق Agentspace من خلال فتح متصفّح ويب والانتقال إلى نطاقك المخصّص والمسار المحدّد.
3. متطلبات الشبكة
في ما يلي تفاصيل متطلبات الشبكة:
المكونات | الوصف |
VPC (agentspace-vpc) | شبكة VPC للوضع المخصّص |
مجموعة نقاط نهاية الشبكة للإنترنت | مورد يُستخدَم لتحديد نظام خلفية خارجي لموازن الحمولة تم ضبطه على أنّه اسم نطاق مؤهَّل بالكامل يشير إلى اسم النطاق المؤهَّل بالكامل الذي تديره Google في Agentspace (vertexaisearch.cloud.google.com). يُجري عنوان FQDN للإنترنت عملية بحث في نظام أسماء النطاقات (DNS) ضمن "شبكة VPC" لإجراء عملية التحويل. |
خدمة الخلفية | تعمل خدمة الخلفية كجسر بين جهاز موازنة الحمل وموارد الخلفية. في البرنامج التعليمي، تكون خدمة الخلفية مرتبطة بـ Internet NEG. |
Cloud | لضبط الشهادات في "موازن تحميل التطبيقات" في Google Cloud، ستستخدم خدمة مدير الشهادات وشهادات طبقة المقابس الآمنة التي تديرها Google أو شهادات طبقة المقابس الآمنة المُدارة ذاتيًا. |
Cloud DNS | تُستخدَم المنطقة العامة في Cloud DNS لترجمة عنوان IP الخارجي لموازن تحميل التطبيقات الخارجي إلى nip.io (agentspace.externalip.nip.io). بدلاً من ذلك، يمكنك استخدام نطاقك المخصّص وسجلّ A المكوّن من عنوان IP لموازن الحمولة. |
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" 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
gcloud services enable dns.googleapis.com
7. إنشاء شبكة VPC
شبكة VPC
في Cloud Shell، نفِّذ ما يلي:
gcloud compute networks create agentspace-vpc --subnet-mode custom
8. إعداد مكوّنات "موازنة الحمل"
حجز عنوان IP الخارجي لجهاز موازنة الحمل
في Cloud Shell، احجز عنوان IP خارجيًا لجهاز موازنة الحمل:
gcloud compute addresses create external-ip \
--network-tier=PREMIUM \
--ip-version=IPV4 \
--global
في Cloud Shell، اطّلِع على عنوان IP المحجوز:
gcloud compute addresses describe external-ip \
--global | grep -i address:
مثال على الإخراج:
user@cloudshell$ gcloud compute addresses describe external-ip \
--global | grep -i address:
address: 34.54.158.206
إعداد مجموعة نقاط نهاية الشبكة للإنترنت
أنشئ NEG على الإنترنت، واضبط –network-endpoint-type على internet-fqdn-port (اسم المضيف والمنفذ حيث يمكن الوصول إلى الخلفية الخارجية). لحلّ Agentspace، يتم استخدام FQDN vertexaisearch.cloud.google.com والمنفذ 443.
gcloud compute network-endpoint-groups create agentspace-ineg \
--network-endpoint-type="internet-fqdn-port" \
--global
gcloud compute network-endpoint-groups update agentspace-ineg \
--add-endpoint="fqdn=vertexaisearch.cloud.google.com,port=443" \
--global
إنشاء "جهاز موازنة الحمل"
في Cloud Shell، نفِّذ ما يلي:
gcloud compute backend-services create agentspace-ineg-bes \
--load-balancing-scheme=EXTERNAL_MANAGED \
--protocol=HTTPS \
--global
gcloud compute backend-services add-backend agentspace-ineg-bes \
--network-endpoint-group=agentspace-ineg \
--global-network-endpoint-group \
--global
إنشاء الشهادة
في هذه المرحلة، تكون قد أنشأت خدمة neg وخدمة الخلفية على الإنترنت. في القسم التالي، ستحتاج إلى إنشاء مورد شهادة لاستخدامه في الخادم الوكيل المستهدف لخدمة HTTPS. يمكنك إنشاء مورد شهادة طبقة المقابس الآمنة باستخدام شهادة طبقة المقابس الآمنة التي تديرها Google أو شهادة طبقة المقابس الآمنة المُدارة ذاتيًا. ننصحك باستخدام الشهادات المُدارة من Google لأنّ Google Cloud تحصل على هذه الشهادات وتُديرها وتجدّدها تلقائيًا.
للاطّلاع على مزيد من المعلومات عن الشهادات المتوافقة مع "موازن تحميل التطبيقات الخارجي الشامل" المستخدَم في هذا الدليل التعليمي، يُرجى الرجوع إلى ما يلي:
نظرة عامة على شهادات طبقة المقابس الآمنة | موازنة التحميل | Google Cloud
في القسم التالي، ستنشئ شهادة موقَّعة ذاتيًا (على الرغم من أنّه يمكن استخدام شهادة مُدارة من Google بدلاً من ذلك) تتطلّب ربط الاسم الشائع باسم النطاق المؤهَّل بالكامل (agentspace.YOUR-EXTERNAL-IP.nip.io) الذي يتوافق مع عنوان IP الخارجي لموازن الحمولة الذي تم إنشاؤه سابقًا، على النحو الموضّح أدناه:
الاسم الشائع: agentspace.34.54.158.206.nip.io
داخل Cloud Shell، أنشئ المفتاح الخاص.
openssl genrsa -out private-key-file.pem 2048
داخل Cloud Shell، أنشئ ملف config.txt المستخدَم لإنشاء ملف pem. حدِّد اسم النطاق المؤهَّل بالكامل في إدخال نظام أسماء النطاقات 1 agentspace.YOUR-EXTERNAL-IP.nip.io، مثل agentspace.34.54.158.206.nip.io في الإعداد أدناه.
cat <<'EOF' >config.txt
[req]
default_bits = 2048
req_extensions = extension_requirements
distinguished_name = dn_requirements
[extension_requirements]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @sans_list
[dn_requirements]
countryName = Country Name (2 letter code)
stateOrProvinceName = State or Province Name (full name)
localityName = Locality Name (eg, city)
organizationName = Organization Name (eg, company)
organizationalUnitName = Organizational Unit Name (eg, section)
commonName = Common Name (e.g. server FQDN or YOUR name)
emailAddress = Email Address
[sans_list]
DNS.1 = agentspace.YOUR-EXTERNAL-IP.nip.io
EOF
في Cloud Shell، تحقّق من إنشاء ملفَي config.txt وprivate-key-file.pem.
user@cloudshell:$ ls
config.txt private-key-file.pem
داخل Cloud Shell، نفِّذ ما يلي:
sudo openssl req -new -key private-key-file.pem \
-out csr.pem \
-config config.txt
مثال:
user@cloudshell:$ sudo openssl req -new -key private-key-file.pem \
-out csr.pem \
-config config.txt
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []:
State or Province Name (full name) []:
Locality Name (eg, city) []:
Organization Name (eg, company) []:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name)[]:agentspace.34.54.158.206.nip.io
Email Address []:
في Cloud Shell، تحقّق من إنشاء ملف pem المطلوب لتوقيع الشهادة.
user@cloudshell:$ ls
config.txt csr.pem private-key-file.pem
في Cloud Shell، أنشئ الشهادة.
sudo openssl x509 -req \
-signkey private-key-file.pem \
-in csr.pem \
-out cert.cert \
-extfile config.txt \
-extensions extension_requirements \
-days 365
مثال على النتائج:
user@cloudshell:$ sudo openssl x509 -req \
-signkey private-key-file.pem \
-in csr.pem \
-out cert.cert \
-extfile config.txt \
-extensions extension_requirements \
-days 365
Certificate request self-signature ok
subject=CN = agentspace.34.54.158.206.nip.io
داخل Cloud Shell، تحقّق من إنشاء الملف cert.cert
user@cloudshell:$ ls
cert.cert config.txt csr.pem private-key-file.pem
أنشئ مورد شهادة لربطه بجهاز موازنة الحمل الخارجي. استبدِل مَعلمتَي الشهادة والمفتاح الخاص بأسماء ملفاتك المحدّدة.
في Cloud Shell، نفِّذ ما يلي:
gcloud compute ssl-certificates create agentspace-self-signed-cert \
--certificate=cert.cert \
--private-key=private-key-file.pem \
--global
في Cloud Shell، نفِّذ ما يلي:
gcloud compute url-maps create agentspace-lb \
--default-service=agentspace-ineg-bes \
--global
في Cloud Shell، نفِّذ ما يلي:
gcloud compute target-https-proxies create https-proxy \
--ssl-certificates=agentspace-self-signed-cert \
--url-map=agentspace-lb \
--global
في Cloud Shell، نفِّذ ما يلي:
gcloud compute forwarding-rules create agentspace-fr \
--load-balancing-scheme=EXTERNAL_MANAGED \
--network-tier=PREMIUM \
--address=external-ip \
--target-https-proxy=https-proxy \
--global \
--ports=443
9- إنشاء منطقة نظام أسماء النطاقات العلني
في القسم التالي، ستنشئ منطقة نظام أسماء النطاقات العام التي يستخدمها nip.io لحلّ عنوان IP الخارجي لجهاز موازنة الحمل.
في Cloud Shell، اتّبِع الخطوات التالية لإنشاء متغيّر لعنوان IP الخاص بجهاز موازنة الحمل الخارجي:
externalip=<YOUR-EXTERNAL-IP>
echo $externalip
في Cloud Shell، نفِّذ ما يلي:
gcloud dns --project=$project managed-zones create agentspace-dns --description="Agentspace public dns" --dns-name="$externalip.nip.io." --visibility="public"
في Cloud Shell، نفِّذ ما يلي:
gcloud dns --project=$project record-sets create agentspace.$externalip.nip.io. --zone="agentspace-dns" --type="A" --ttl="300" --rrdatas="$externalip"
10. بيانات اعتماد OAuth
في القسم التالي، ستُنشئ بيانات اعتماد بروتوكول OAuth لتطبيقات الويب التي تعيد توجيه عنوان URL الذي تديره Google إلى oauth-redirect للمصادقة. إنّ بيانات الاعتماد التي تم إنشاؤها غير مطلوبة للدليل التعليمي.
لمعرفة المزيد عن بروتوكول Oauth، يُرجى الاطّلاع على ما يلي:
إضافة إجراءات "تقويم Google" وGmail | Google Agentspace
إنشاء تطبيق OAuth وإضافة نطاقات
- انتقِل إلى "واجهات برمجة التطبيقات والخدمات" > شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth: الانتقال إلى شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth
- اختَر "داخلي"، ثم انقر على "إنشاء".
- أدخِل اسمًا لتطبيق OAuth.
- أدخِل عنوان بريد إلكتروني مخصّصًا للتواصل مع فريق دعم المستخدمين.
- أدخِل معلومات الاتصال بالمطوّر.
- انقر على حفظ ومتابعة.
إنشاء معرِّف عميل OAuth
يوضّح هذا الإجراء كيفية إنشاء معرّف عميل OAuth جديد لإجراءات Google Cloud. يمكن أيضًا استخدام معرّف عميل OAuth وسرّه هذاَين لتنفيذ إجراءات أخرى في Google Cloud. إذا كان لديك معرِّف عميل OAuth حالي في Google Cloud لإجراءات Google Cloud، يمكنك استخدام معرِّف العميل وسرّه لإجراءات "تقويم Google" بدلاً من إنشاء معرِّف عميل جديد.
- انتقِل إلى صفحة "بيانات الاعتماد" وانقر على "إنشاء بيانات اعتماد" > "معرّف عميل OAuth".
- اختَر "تطبيق ويب".
- أدخِل اسمًا لرقم تعريف العميل.
- انقر على "إضافة معرّف الموارد المنتظم (URI)" وأدخِل معرّف الموارد المنتظم (URI) التالي: https://vertexaisearch.cloud.google.com/oauth-redirect.
- انقر على "إنشاء" وانسخ المعلومات التالية:
- معرِّف العميل
- سر العميل
11. تحديد عناوين URL لتطبيق Agentspace
تحدِّد الإجراء التالي عناوين URL العامة في Agentspace التي تديرها Google والتي أنشأتها Google وتم ربطها بكل تطبيق في Agentspace. إنّ نتائج عناوين URL هي أمثلة تستند إلى البنية المرجعية، لذا عليك التأكّد من دقة عناوين URL.
احرص على تخزين رابط تطبيق الويب لكل تطبيق.
تطبيق "تقويم Google"
عنوان URL لموقع Agentspace الإلكتروني: https://vertexaisearch.cloud.google.com/us/home/cid/bb6b8b27-939b-494d-9227-45903bb8afcf
تطبيق Drive
عنوان URL لموقع Agentspace الإلكتروني:
https://vertexaisearch.cloud.google.com/us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd
12. إنشاء قاعدة متقدّمة للمضيف والمسار
في القسم التالي، ستُعدِّل قواعد توجيه أجهزة موازنة التحميل لتفعيل خيار تحديد قواعد المضيف والمسار باستخدام Cloud Console. يوضّح الجدول التالي القيم المخصّصة (بالترتيب من الأعلى إلى الأسفل)، ويتم تعديلها استنادًا إلى بيئتك:
قيمة مخصّصة | مثال استنادًا إلى الدليل التعليمي | |
المضيفون | agentspace.YOUR-EXTERNAL-IP.nip.io | agentspace.34.54.158.206.nip.io |
defaultService | projects/<projectid>/global/backendServices/agentspace-ineg-bes | عرض لقطة الشاشة |
prefixMatch | /<name of Agentspace app#1> | /drive-app |
backendService | projects/<projectid>/global/backendServices/agentspace-ineg-bes | عرض لقطة الشاشة |
pathPrefixRewrite | /<Agentspace URL path of app#1> | /us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd |
hostRewrite | vertexaisearch.cloud.google.com | vertexaisearch.cloud.google.com |
prefixMatch | /<name of Agentspace app#2> | /calendar-app |
backendService | projects/<projectid>/global/backendServices/agentspace-ineg-bes | عرض لقطة الشاشة |
pathPrefixRewrite | /<Agentspace URL path of app#2> | /us/home/cid/bb6b8b27-939b-494d-9227-45903bb8afcf |
hostRewrite | vertexaisearch.cloud.google.com | vertexaisearch.cloud.google.com |
انتقِل إلى ما يلي للوصول إلى قواعد المضيف والمسار
Load balancing → agentspace-lb → Select edit
اختَر قواعد التوجيه ← قواعد المضيف والمسار المتقدّمة.
اختَر "إضافة قاعدة مضيف ومسار".
سيُطلب منك الآن إنشاء قاعدة مضيف ومسار جديدة. في قسم المضيفين، أدخِل agentspace.YOUR-EXTERNAL-IP.nip.io أو نطاق مخصّص.
في حقل "مطابق مسار" (المطابقات والإجراءات والخدمات)، عدِّل المحتوى أدناه باستخدام إعدادات البيئة ثم اختَر "تعديل".
defaultService: projects/<projectid>/global/backendServices/agentspace-ineg-bes
name: matcher1
routeRules:
- matchRules:
- prefixMatch: /<name of Agentspace app#1>
priority: 1
routeAction:
weightedBackendServices:
- backendService: projects/<projectid>/global/backendServices/agentspace-ineg-bes
weight: 100
urlRewrite:
pathPrefixRewrite: /<Agentspace URL path of app#1>
hostRewrite: vertexaisearch.cloud.google.com
- matchRules:
- prefixMatch: /<name of Agentspace app#2>
priority: 2
routeAction:
weightedBackendServices:
- backendService: projects/<projectid>/global/backendServices/agentspace-ineg-bes
weight: 101
urlRewrite:
pathPrefixRewrite: /<Agentspace URL path of app#2>
hostRewrite: vertexaisearch.cloud.google.com
مثال على لقطة الشاشة:
13. التحقّق من الصحة
اكتملت عملية النشر. يمكنك الوصول إلى تطبيق Agentspace باستخدام النطاق المخصّص من خلال متصفّح ويب أو وحدة تحكّم في المحطة الطرفية من خلال تحديد agentspace.YOUR-EXTERNAL-IP.nip.io/path، على سبيل المثال agentspace.34.54.158.206.nip.io، وإليك أمثلة على ذلك:
تطبيق Agentspace: drive-app
المسار: agentspace.34.54.158.206.nip.io/drive-app
تطبيق Agentspace: drive-app
المسار: agentspace.34.54.158.206.nip.io/calendar-app
14. تَنظيم
لحذف بيانات اعتماد OAuth، عليك اتّباع الخطوات التالية:
انتقِل إلى "واجهات برمجة التطبيقات والخدمات" (APIS & Services) > "بيانات الاعتماد" (Credentials).
ضمن "معرّفات عملاء OAuth 2.0"، اختَر بيانات الاعتماد ثم احذفها.
من محطة Cloud Shell واحدة، يمكنك حذف مكوّنات المختبر:
gcloud compute forwarding-rules delete agentspace-fr --global -q
gcloud compute target-https-proxies delete https-proxy --global -q
gcloud compute url-maps delete agentspace-lb --global -q
cloud compute ssl-certificates delete agentspace-self-signed-cert --global -q
gcloud compute backend-services delete agentspace-ineg-bes --global -q
gcloud compute network-endpoint-groups delete agentspace-ineg --global -q
gcloud dns --project=$projectid record-sets delete agentspace.$externalip.nip.io --zone="agentspace-dns" --type="A"
gcloud dns --project=$projectid managed-zones delete agentspace-dns
gcloud compute addresses delete external-ip --global -q
gcloud compute networks delete agentspace-vpc -q
15. تهانينا
مبروك، لقد نجحت في ضبط إمكانية الاتصال بمساحة وكيل باستخدام نطاق مخصّص باستخدام أداة "موازن تحميل التطبيقات الخارجي" مع إدارة الزيارات المتقدّمة.
لقد أنشأت البنية الأساسية لموازن الحمولة، وتعرّفت على كيفية إنشاء NEG على الإنترنت ونظام أسماء النطاقات في السحابة الإلكترونية وإدارة الزيارات المتقدّمة التي فعّلت إعادة كتابة المضيف والمسار، ما سمح بالاتصال بـ Agentspace باستخدام نطاق مخصّص.
يعتقد Cosmopup أنّ الدروس التطبيقية حول الترميز رائعة.