إدارة نقل بيانات الويب من خلال Application Gateway باستخدام Azure CLI

تُستخدم بوابة التطبيقات لإدارة وتأمين حركة مرور الويب إلى الخوادم التي تحتفظ بها. يمكنك استخدام Azure CLI لإنشاء بوابة تطبيق تستخدم مجموعة مقياس الجهاز الظاهري لخوادم الواجهة الخلفية. في هذا المثال، تحتوي مجموعة المقياس على مثيلين للجهاز الافتراضي. تتم إضافة مجموعة المقياس إلى تجمع الواجهة الخلفية الافتراضية لبوابة التطبيق.

في هذه المقالة، ستتعرف على كيفية:

  • إعداد الشبكة
  • إنشاء بوابة تطبيق
  • إنشاء مجموعة مقياس الجهاز الظاهري مع تجمع الواجهة الخلفية الافتراضي

إذا كنت تفضل ذلك، يمكنك إكمال هذا الإجراء باستخدام Azure PowerShell.

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

المتطلبات الأساسية

  • يتطلب هذا البرنامج التعليمي الإصدار 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 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

إنشاء بوابة تطبيق

استخدم az network application-gateway create لإنشاء بوابة التطبيق المسماة myAppGateway. عند إنشاء بوابة تطبيق باستخدام Azure CLI، فإنك تحدد معلومات التكوين، مثل إعدادات السعة وsku وHTTP. يتم تعيين بوابة التطبيق لـ myAGSubnet وmyPublicIPAddress الذي قمت بإنشائه سابقا.

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

قد يستغرق إنشاء بوابة التطبيق عدة دقائق. بعد إنشاء بوابة التطبيق، سترى هذه الميزات الجديدة:

  • appGatewayBackendPool - يجب أن يكون هناك بوابة التطبيق تجمع عنوان الخلفية واحد على الأقل.
  • appGatewayBackendHttpSettings - يحدد هذا المنفذ 80 وبروتوكول HTTP يستخدم للاتصال.
  • appGatewayHttpListener - المستمع الافتراضية المرتبطة appGatewayBackendPool⁩.
  • appGatewayFrontendIP - المتنازل myAGPublicIPAddress ⁩إلى appGatewayHttpListener.
  • rule1 - قاعدة التحويل توجيه مقترن appGatewayHttpListener.

إنشاء مجموعة مقياس آلة افتراضية

في هذا المثال، يمكنك إنشاء مجموعة مقياس الجهاز الظاهري التي توفر خوادم لتجمع الواجهة الخلفية في بوابة التطبيق. ترتبط الأجهزة الظاهرية في مجموعة المقياس مع myBackendSubnet و appGatewayBackendPool. لإنشاء مجموعة التحجيم، استخدم az vmss create.

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

الآن يمكنك تثبيت NGINX على مجموعة مقياس الجهاز الظاهري حتى تتمكن من اختبار اتصال HTTP بتجمع الخلفية.

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" }'

اختبار بوابة التطبيق

للحصول على عنوان IP العام لبوابة التطبيق، استخدم عرض الشبكة العامة للشبكة من الألف إلى الياء. نسخ عنوان IP العام، ثم ألصقه في شريط العنوان في متصفحك.

az network public-ip show \
 --resource-group myResourceGroupAG \
 --name myAGPublicIPAddress \
 --query [ipAddress] \
 --output tsv

Test base URL in application gateway

تنظيف الموارد

عند عدم الحاجة إلى ذلك، قم بإزالة مجموعة الموارد، وبوابة التطبيق، وجميع الموارد ذات الصلة.

az group delete --name myResourceGroupAG --location eastus

الخطوات التالية

تقييد حركة مرور الويب باستخدام جدار حماية تطبيق ويب