إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يمكنك استخدام Azure CLI لتكوين web traffic redirection عندما تقوم بإنشاء application gatewa. في هذا البرنامج التعليمي، تقوم بتعريف تجمع الخلفية باستخدام مجموعة قياسات الأجهزة الظاهرية. يمكنك بعد ذلك تكوين المستمعين والقواعد بناءً على المجالات التي تمتلكها للتأكد من وصول حركة مرور الويب إلى التجمع المناسب. يفترض هذا البرنامج التعليمي أنك تملك مجالات متعددة ويستخدم أمثلة على www.contoso.com www.contoso.org.
في هذه المقالة، ستتعرف على كيفية:
- إعداد الشبكة
- إنشاء بوابة تطبيق
- قم بإضافة وحدات الاستماع وقاعدة إعادة التوجيه
- إنشاء مقياس آلة افتراضي مع مجموعة الواجهة الخلفية
- إنشاء سجل CNAME في مجالك
إذا لم يكن لديك حساب 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 والشبكة الفرعية اسمه myAGSubne باستخدام من الألف إلى الياء شبكة vnet إنشاء. يمكنك بعد ذلك إضافة الشبكة الفرعية المسماة myBackendSubnet والتي تحتاجها مجموعة الخوادم الخلفية باستخدام إنشاء الشبكة الفرعية لشبكة az network vnet. أنشئ عنوان 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
إنشاء بوابة تطبيق
استخدم 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_Medium \
--http-settings-cookie-based-affinity Disabled \
--frontend-port 80 \
--http-settings-port 80 \
--http-settings-protocol Http \
--public-ip-address myAGPublicIPAddress
قد يستغرق إنشاء بوابة التطبيق عدة دقائق. بعد إنشاء بوابة التطبيق، يمكنك رؤية الميزات الجديدة لها:
- appGatewayBackendPool - يجب أن يكون هناك بوابة التطبيق تجمع عنوان الخلفية واحد على الأقل.
- appGatewayBackendHttpSettings - يحدد هذا المنفذ 80 وبروتوكول HTTP يستخدم للاتصال.
- appGatewayHttpListener - المستمع الافتراضية المرتبطة appGatewayBackendPool.
- appGatewayFrontendIP - المتنازل myAGPublicIPAddress إلى appGatewayHttpListener.
- rule1 - قاعدة التحويل توجيه مقترن appGatewayHttpListener.
أضف المستمعين والقواعد
يلزم توفر وحدة استماع لتمكين بوابة التطبيق من توجيه حركة مرور الويب بشكل مناسب إلى مجموعة الواجهة الخلفية. في هذا البرنامج التعليمي تقوم بإنشاء مستمِعَيْن اثنين للمجالين الخاصين بك. في هذا المثال، يتم إنشاء وحدات استماع لمجالات www.contoso.com www.contoso.org.
أضف مستمعي الواجهة الخلفية اللازمين لتوجيه نسبة استخدام الشبكة باستخدام az network application-gateway http-listener create.
az network application-gateway http-listener create \
--name contosoComListener \
--frontend-ip appGatewayFrontendIP \
--frontend-port appGatewayFrontendPort \
--resource-group myResourceGroupAG \
--gateway-name myAppGateway \
--host-name www.contoso.com
az network application-gateway http-listener create \
--name contosoOrgListener \
--frontend-ip appGatewayFrontendIP \
--frontend-port appGatewayFrontendPort \
--resource-group myResourceGroupAG \
--gateway-name myAppGateway \
--host-name www.contoso.org
إضافة تكوين إعادة التوجيه
أضف تكوين إعادة التوجيه الذي يرسل حركة المرور من www.contoso.org إلى وحدة الاستماع www.contoso.comفي بوابة التطبيق باستخدام az network application-gateway redirect-config create.
az network application-gateway redirect-config create \
--name orgToCom \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--type Permanent \
--target-listener contosoListener \
--include-path true \
--include-query-string true
أضف قواعد التحويل
تتم معالجة القواعد بالترتيب الذي تم إنشاؤها به، ويتم توجيه نسبة استخدام الشبكة باستخدام القاعدة الأولى التي تطابق عنوان URL المرسل إلى بوابة التطبيق. على سبيل المثال، إذا كانت لديك قاعدة تستخدم مستمعاً أساسيّاً، وقاعدة تستخدم مستمعاً متعدد المواقع على نفس المنفذ، فيجب إدراج القاعدة مع مستمع متعدد المواقع قبل القاعدة مع المستمع الأساسي من أجل متعدد -قاعدة الموقع لتعمل كما هو متوقع.
في هذا المثال تقوم بإنشاء قاعدتين جديدتين وحذف القاعدة الافتراضية التي تم إنشاؤها. يمكنك إضافة القاعدة باستخدام az network application-gateway rule create.
az network application-gateway rule create \
--gateway-name myAppGateway \
--name contosoComRule \
--resource-group myResourceGroupAG \
--http-listener contosoComListener \
--rule-type Basic \
--address-pool appGatewayBackendPool
az network application-gateway rule create \
--gateway-name myAppGateway \
--name contosoOrgRule \
--resource-group myResourceGroupAG \
--http-listener contosoOrgListener \
--rule-type Basic \
--redirect-config orgToCom
az network application-gateway rule delete \
--gateway-name myAppGateway \
--name rule1 \
--resource-group myResourceGroupAG
إنشاء مجموعات مقياس آلة افتراضية
في هذا المثال، تقوم بإنشاء مجموعة مقياس آلة افتراضية تدعم تجمع الواجهة الخلفية الذي قمت بإنشائه. تسمى مجموعة القياسات التي تقوم بإنشائها myvmss وتحتوي على مثيلين للجهاز الظاهري تقوم بتثبيت NGINX عليهما.
az vmss create \
--name myvmss \
--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 appGatewayBackendPool
قم بتثبيت NGINX
قم بتشغيل هذا الأمر في نافذة shell:
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroupAG \
--vmss-name myvmss \
--settings '{ "fileUris": ["https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/install_nginx.sh"],
"commandToExecute": "./install_nginx.sh" }'
إنشاء سجل CNAME في مجالك
بعد إنشاء بوابة التطبيق بعنوان IP العام الخاص بها، يمكنك الحصول على عنوان DNS واستخدامه لإنشاء سجل CNAME في مجالك. يمكنك استخدام az network public-ip show للحصول على عنوان DNS لبوابة التطبيق. انسخ قيمة fqdn لإعدادات DNS واستخدمها كقيمة لسجل CNAME الذي تنشئه. لا يوصى باستخدام سجلات A لأن VIP قد يتغير عند إعادة تشغيل بوابة التطبيق.
az network public-ip show \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--query [dnsSettings.fqdn] \
--output tsv
اختبار بوابة التطبيق
أدخل اسم مجالك في شريط العنوان في متصفحك. مثل http://www.contoso.com.
قم بتغيير العنوان إلى مجالك الآخر، على سبيل المثال http://www.contoso.org ، ويجب أن ترى أنه تمت إعادة توجيه نسبة استخدام الشبكة مرة أخرى إلى وحدة الاستماع www.contoso.com.
الخطوات التالية
في هذا البرنامج التعليمي، نتعلم طريقة القيام بما يأتي:
- إعداد الشبكة
- إنشاء بوابة تطبيق
- قم بإضافة وحدات الاستماع وقاعدة إعادة التوجيه
- إنشاء مقياس آلة افتراضي مع مجموعة الواجهة الخلفية
- إنشاء سجل CNAME في مجالك