إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
بصفتك مسؤول تكنولوجيا المعلومات الذي يدير حركة مرور الويب، فأنت تريد مساعدة عملائك والمستخدمين في الحصول على المعلومات التي يحتاجونها في أسرع وقت ممكن. إحدى الطرق التي يمكنك من خلالها تحسين تجربتهم هي توجيه أنواع مختلفة من نسبة استخدام الشبكة على الويب إلى موارد خادم مختلفة. توضح لك هذه المقالة كيفية استخدام Azure CLI لإعداد وتكوين توجيه بوابة التطبيق لأنواع مختلفة من نسبة استخدام الشبكة من التطبيق لديك. يقوم التوجيه بعد ذلك بإدارة نسبة استخدام الشبكة إلى تجمعات خوادم مختلفة بناءً على عنوان URL.
في هذه المقالة، ستتعرف على كيفية:
- إنشاء مجموعة موارد لموارد الشبكة التي تحتاجها
- إنشاء موارد الشبكة
- قم بإنشاء بوابة تطبيق لنسبة استخدام الشبكة القادمة من التطبيق لديك
- حدد تجمعات الخوادم، وقواعد التوجيه للأنواع المختلفة لنسبة استخدام الشبكة
- إنشاء مجموعة قياس لكل تجمع بحيث يمكن للمجمع القياس تلقائيًا
- أجرِ اختبارًا حتى تتمكن من التحقق من أن الأنواع المختلفة من نسبة استخدام الشبكة تذهب إلى التجمع الصحيح
إذا كنت تفضل ذلك، يمكنك إكمال هذا الإجراء باستخدام Azure PowerShell أو مدخل Microsoft Azure.
إذا لم يكن لديك حساب Azure، فأنشئ حساباً مجانياً قبل أن تبدأ.
المتطلبات الأساسية
استخدم بيئة Bash في Azure Cloud Shell. لمزيد من المعلومات، راجع بدء استخدام Azure Cloud Shell.
إذا كنت تفضل تشغيل أوامر مرجع CLI محلياً قم بتثبيت CLI Azure. إذا كنت تعمل على نظام تشغيل Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker. لمزيد من المعلومات، راجع كيفية تشغيل Azure CLI في حاوية Docker.
إذا كنت تستخدم تثبيت محلي، يُرجى تسجيل الدخول إلى Azure CLI مستخدمًا أمر az login. لإنهاء عملية المصادقة، اتبع الخطوات المعروضة في جهازك. للحصول على خيارات تسجيل الدخول الأخرى، راجع المصادقة على Azure باستخدام Azure CLI.
عندما يُطلب منك، قم بتثبيت ملحق Azure CLI عند الاستخدام لأول مرة. لمزيد من المعلومات حول الملحقات، راجع استخدام الملحقات وإدارتها باستخدام Azure CLI.
يُرجى تشغيل إصدار az للوصول إلى الإصدار والمكتبات التابعة التي تم تثبيتها. للتحديث لآخر إصدار، يُرجى تشغيل تحديث az.
- يتطلب هذا البرنامج التعليمي الإصدار 2.0.4 أو الأحدث من Azure CLI. إذا كنت تستخدم Azure Cloud Shell، يتم تثبيت أحدث إصدار بالفعل.
إنشاء مجموعة موارد
مجموعة الموارد عبارة عن حاوية منطقية يتم فيها توزيع موارد Azure وإدارتها. إنشاء مجموعة موارد باستخدام az group create.
في المثال التالي، سيتم إنشاء مجموعة موارد باسم "myResourceGroupAG" في "eastus".
az group create --name myResourceGroupAG --location eastus
إنشاء موارد الشبكة
أنشئ الشبكة الظاهرية المسماة myVNet والشبكة الفرعية المسماة myAGSubnet باستخدام az network vnet create. ثم أضف شبكة فرعية تسمى myBackendSubnet التي تحتاجها خوادم الواجهة الخلفية باستخدام az network vnet subnet create. أنشئ عنوان IP العام المسمى myAGPublicIPAddress باستخدام az network public-ip create.
az network vnet create \
--name myVNet \
--resource-group myResourceGroupAG \
--location eastus \
--address-prefix 10.0.0.0/16 \
--subnet-name myAGSubnet \
--subnet-prefix 10.0.1.0/24
az network vnet subnet create \
--name myBackendSubnet \
--resource-group myResourceGroupAG \
--vnet-name myVNet \
--address-prefix 10.0.2.0/24
az network public-ip create \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--allocation-method Static \
--sku Standard
إنشاء بوابة التطبيق باستخدام خريطة URL
استخدم az network application-gateway create لإنشاء بوابة تطبيق باسم myAppGateway. عند إنشاء بوابة تطبيق باستخدام Azure CLI، فإنك تحدد معلومات التكوين، مثل إعدادات السعة وsku وHTTP. يتم تعيين بوابة التطبيق إلى myAGSubnet وmyAGPublicIPAddress.
az network application-gateway create \
--name myAppGateway \
--location eastus \
--resource-group myResourceGroupAG \
--vnet-name myVNet \
--subnet myAGsubnet \
--capacity 2 \
--sku Standard_v2 \
--http-settings-cookie-based-affinity Disabled \
--frontend-port 80 \
--http-settings-port 80 \
--http-settings-protocol Http \
--public-ip-address myAGPublicIPAddress \
--priority 100
قد يستغرق الأمر عدة دقائق لـ Azure لإنشاء application gateway. بعد إنشاء بوابة التطبيق، يمكنك رؤية هذه الميزات الجديدة:
| ميزة | الوصف |
|---|---|
| appGatewayBackendPool | يجب أن تحتوي بوابة التطبيق على تجمع عناوين خلفية واحد على الأقل. |
| appGatewayBackendHttpSettings | تحديد استخدام المنفذ 80 وبروتوكول HTTP للاتصال. |
| appGatewayHttpListener | المستمع الافتراضي المرتبط بـ appGatewayBackendPool |
| appGatewayFrontendIP | يعيّن myAGPublicIPAddress لتطبيق Gateway Http Listener. |
| القاعدة 1 | قاعدة التوجيه الافتراضية المرتبطة بـ appGatewayHttpListener. |
إضافة تجمعات خلفية للصور والفيديو ومنفذًا
أضف تجمعات الواجهة الخلفية المسماة imagesBackendPool يمكنك إضافة منفذ الواجهة الأمامية للتجمعات باستخدام az network application-gateway frontend-port create.
az network application-gateway address-pool create \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--name imagesBackendPool
az network application-gateway address-pool create \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--name videoBackendPool
az network application-gateway frontend-port create \
--port 8080 \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--name port8080
قم بإنشاء مستمع خلفي
أضف وحدة الإصغاء الخلفية المسماة backendListener المطلوبة لتوجيه نسبة استخدام الشبكة باستخدام az network application-gateway http-listener create.
az network application-gateway http-listener create \
--name backendListener \
--frontend-ip appGatewayFrontendIP \
--frontend-port port8080 \
--resource-group myResourceGroupAG \
--gateway-name myAppGateway
إضافة مخطط مسار URL
تضمن مخططات مسار URL أن عناوين URL المحددة يتم توجيهها إلى تجمعات محددة في الخلفية. إنشاء خرائط مسار URL المسماة imagePathRule و videoPathRule باستخدام az network application-gateway url-path-map create وaz network application-gateway url-path-map rule create.
az network application-gateway url-path-map create \
--gateway-name myAppGateway \
--name myPathMap \
--paths /images/* \
--resource-group myResourceGroupAG \
--address-pool imagesBackendPool \
--default-address-pool appGatewayBackendPool \
--default-http-settings appGatewayBackendHttpSettings \
--http-settings appGatewayBackendHttpSettings \
--rule-name imagePathRule
az network application-gateway url-path-map rule create \
--gateway-name myAppGateway \
--name videoPathRule \
--resource-group myResourceGroupAG \
--path-map-name myPathMap \
--paths /video/* \
--address-pool videoBackendPool \
--http-settings appGatewayBackendHttpSettings
إضافة قاعدة توجيه
تربط قاعدة التوجيه مخططات URL بمستمع الرسائل الذي قمت بإنشائه. أضف قاعدة تسمى rule2 باستخدام az network application-gateway rule create.
az network application-gateway rule create \
--gateway-name myAppGateway \
--name rule2 \
--resource-group myResourceGroupAG \
--http-listener backendListener \
--rule-type PathBasedRouting \
--url-path-map myPathMap \
--address-pool appGatewayBackendPool \
--priority 200
إنشاء مجموعات مقياس الجهاز الظاهري
في هذه المقالة، يمكنك إنشاء ثلاث مجموعات مقياس الجهاز الظاهري التي تدعم تجمعات الواجهة الخلفية الثلاثة التي قمت بإنشائها. يمكنك إنشاء مجموعات مقياس تسمى myvmss1 وmyvmss2 وmyvmss3. تحتوي كل مجموعة مقياس على مثيلين للجهاز الظاهري حيث تقوم بتثبيت NGINX.
for i in `seq 1 3`; do
if [ $i -eq 1 ]
then
poolName="appGatewayBackendPool"
fi
if [ $i -eq 2 ]
then
poolName="imagesBackendPool"
fi
if [ $i -eq 3 ]
then
poolName="videoBackendPool"
fi
az vmss create \
--name myvmss$i \
--resource-group myResourceGroupAG \
--image Ubuntu2204 \
--admin-username azureuser \
--admin-password Azure123456! \
--instance-count 2 \
--vnet-name myVNet \
--subnet myBackendSubnet \
--vm-sku Standard_DS2 \
--upgrade-policy-mode Automatic \
--app-gateway myAppGateway \
--backend-pool-name $poolName
done
قم بتثبيت NGINX
for i in `seq 1 3`; do
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroupAG \
--vmss-name myvmss$i \
--settings '{ "fileUris": ["https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/install_nginx.sh"], "commandToExecute": "./install_nginx.sh" }'
done
اختبار بوابة التطبيق
للحصول على عنوان IP العام لبوابة التطبيق، استخدم عرض الشبكة العامة للشبكة من الألف إلى الياء. نسخ عنوان IP العام، ثم ألصقه في شريط العنوان في متصفحك. مثل: http://40.121.222.19 أو http://40.121.222.19:8080/images/test.htm، أو http://40.121.222.19:8080/video/test.htm.
az network public-ip show \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--query [ipAddress] \
--output tsv
تغيير URL إلى http://<عنوان IP>:8080/صور /test.html، استبدال عنوان IP الخاص بك لـ <عنوان IP>، ويجب أن ترى شيئاً مثل المثال التالي:
قم بتغيير عنوان URL إلى http://< ip-address>:8080/video/test.html، واستبدل عنوان IP الخاص بك ل <ip-address>، ويجب أن ترى شيئا مثل المثال التالي.
تنظيف الموارد
عند عدم الحاجة إلى ذلك، قم بإزالة مجموعة الموارد، وبوابة التطبيق، وجميع الموارد ذات الصلة.
az group delete --name myResourceGroupAG