برنامج تعليمي: إنشاء مدخل تطبيق باستخدام قواعد التوجيه المستندة إلى المسار باستخدام مدخل Azure

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

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

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

Diagram of application gateway URL routing example.

إشعار

نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. راجع تثبيت Azure PowerShell للبدء. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

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

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

  • اشتراك Azure

أنشئ الأجهزة الظاهرية

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

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. في مدخل Microsoft Azure، حدد "Create a resource".

  3. حدد Windows Server 2016 Datacenter في القائمة Popular.

  4. أدخِل هذه القيم للجهاز الظاهري:

    • الاشتراك - حدد اشتراكك.
    • مجموعة الموارد، حدد إنشاء جديد، ثم اكتب myResourceGroupAG.
    • اسم الجهاز الظاهري: myVM1
    • المنطقة: (الولايات المتحدة) شرق الولايات المتحدة
    • اسم المستخدم: اكتب اسم مستخدم
    • كلمة المرور: اكتب كلمة مرور
  5. حدد "Next:Disks".

  6. حدد Next:Networking

  7. بالنسبة للشبكة الظاهرية، حدد إنشاء جديد ثم اكتب هذه القيم للشبكة الظاهرية:

    • myVNet- من أجل الاسم الخاص بالشبكة الظاهرية.
    • 10.0.0.0/16 - لمساحة عنوان الشبكة الظاهرية.
    • myBackendSubnet لاسم الشبكة الفرعية الأولى
    • 10.0.1.0/24 - لمساحة عنوان الشبكة الفرعية.
    • myAGSubnet - لاسم الشبكة الفرعية الثانية.
    • 10.0.0.0/24- من أجل مساحة عنوان الشبكة الفرعية.
  8. حدد موافق.

  9. تأكد من أنه ضمن الشبكة الفرعية، يتم تحديد myBackendSubnet للشبكة الفرعية، ثم حدد التالي: الإدارة.

  10. حدد Disable لتعطيل تشخيصات التمهيد.

  11. حدد " Review + Create"، راجع الإعدادات في صفحة الملخص، ثم حدد "Create".

  12. قم بإنشاء جهازين ظاهريين إضافيين، myVM2 وmyVM3ووضعهما في الشبكة الظاهرية MyVNet والشبكة الفرعية myBackendSubnet.

تثبيت IIS

  1. افتح shell التفاعلي وتأكد من تعيينه إلى PowerShell.

    Install custom extension

  2. قم بتشغيل الأمر التالي لتثبيت IIS على الجهاز الظاهري:

         $publicSettings = @{ "fileUris" = (,"https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/appgatewayurl.ps1");  "commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File appgatewayurl.ps1" }
    
        Set-AzVMExtension `
         -ResourceGroupName myResourceGroupAG `
         -Location eastus `
         -ExtensionName IIS `
         -VMName myVM1 `
         -Publisher Microsoft.Compute `
         -ExtensionType CustomScriptExtension `
         -TypeHandlerVersion 1.4 `
         -Settings $publicSettings
    
  3. قم بتثبيت IIS على الأجهزة الظاهرية الأخرى باستخدام الخطوات التي انتهيت منها للتو. استخدم myVM2 وmyVM3لقيم VMName في Set-AzVMExtension.

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

  1. 00-حدد "Create a resource" في القائمة اليمنى مدخل Microsoft Azure.

  2. حدد "Networking" ثم حدد "Application Gateway" في قائمة "Featured".

علامة تبويبBasics

  1. في علامة التبويب "Basics"، أدخل هذه القيم لإعدادات بوابة التطبيق التالية:

    • Subscription: حدد اشتراكك.
    • "Resource group": حدد "myResourceGroupAG" لمجموعة الموارد.
    • اسم بوابة التطبيق: اكتب myAppGateway لاسم بوابة التطبيق.
    • المنطقة - حدد شرق الولايات المتحدة.
  2. ضمن تكوين الشبكة الظاهرية، حدد myVNet لاسم الشبكة الظاهرية.

  3. حدد myAGSubnet للشبكة الفرعية.

  4. اقبل القيم الافتراضية للإعدادات الأخرى ثم حدد Next: Frontends.

    Screenshot of Basics tab of Create application gateway page.

علامة تبويب الواجهات

  1. في علامة التبويب Frontends، تحقق من تعيين Frontend IP address type إلى Public.

    إشعار

    بالنسبة لـ Application Gateway v2 SKU، يمكنك فقط اختيار تكوين IP للواجهة الأمامية "Public". لم يتم تمكين تكوين IP للواجهة الأمامية الخاصة حاليًا لـ v2 SKU هذا.

  2. حدد "Add new" لـ عنوان IP العام وأدخل myAGPublicIPAddress لاسم عنوان IP العام، ثم حدد "OK".

  3. حدد Next: Backends.

علامة تبويب "Backends"

يُستخدم التجمع الخلفي لتوجيه الطلبات إلى الخوادم الخلفية التي تخدم الطلب. يمكن أن تتكون تجمعات الواجهة الخلفية من NICs ومجموعات مقياس الجهاز الظاهري وعناوين IP العامة وعناوين IP الداخلية وأسماء المجال المؤهلة بالكامل (FQDN) والخلفيات متعددة المستأجرين مثل Azure App Service.

  1. في علامة التبويب Backends، حدد Add a backend pool.

  2. في نافذة Add a backend pool التي تفتح، أدخِل القيم التالية لإنشاء تجمع خلفي فارغ:

    • "Name": أدخل myBackendPool لاسم تجمع الواجهة الخلفية.
  3. من "Target type"، حدد "Virtual machine" من القائمة المنسدلة.

  4. ضمن Target حدد واجهة الشبكة ل myVM1.

  5. حدد إضافة.

  6. كرر لإضافة تجمع الواجهة الخلفية Images مع myVM2 كهدف، وتجمع خلفية فيديو مع myVM3 كهدف.

  7. حدد Add لحفظ تكوين تجمع الخلفية والعودة إلى علامة التبويب Backends .

  8. في علامة التبويب Backends حدد Next: Configuration.

علامة التبويب "التكوين"

في علامة التبويب Configuration ستوصل التجمع الأمامي والخلفي التي أنشأته باستخدام قاعدة تحويل.

  1. حدد "Add a routing rule" من عمود "Routing rules".

  2. من نافذة "Add a routing rule" التي تفتح، أدخل myRoutingRule في "Rule name".

  3. تتطلب قاعدة التوجيه وحدة إصغاء. في علامة التبويب Listener ضمن نافذة Add a routing rule ، اكتب القيم التالية للمستمع:

    • "Listener name": أدخل myListener لاسم وحدة الإصغاء.

    • "Frontend IP": حدد Public لاختيار عنوان IP العام الذي أنشأته للواجهة الأمامية.

    • المنفذ: النوع 8080

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

  4. في علامة التبويب أهداف الواجهة الخلفية، حدد myBackendPoolلهدف الواجهة الخلفية.

  5. بالنسبة "HTTP setting"، حدد "Add new" لإضافة إعداد HTTP جديد. سيحدد إعداد HTTP سلوك قاعدة التحويل.

  6. في نافذة "Add an HTTP setting" التي تفتح، أدخل myHTTPSetting لـ اسم إعداد HTTP. وافق على القيم الافتراضية للإعدادات الأخرى في نافذة إضافة إعداد HTTP، ثم حدد "Add" للعودة إلى نافذة إضافة قاعدة توجيه.

  7. ضمن التوجيه المستند إلى المسار، حدد إضافة أهداف متعددة لإنشاء قاعدة تستند إلى المسار.

  8. بالنسبة للمسار، اكتب /images/*.

  9. بالنسبة إلى Target name، اكتب Images.

  10. بالنسبة لإعداد HTTP، حدد myHTTPSetting

  11. بالنسبة إلى هدف الواجهة الخلفية، حدد الصور.

  12. حدد Add لحفظ قاعدة المسار والعودة إلى علامة التبويب Add a routing rule .

  13. كرر لإضافة قاعدة أخرى للفيديو.

  14. حدد Add لإضافة قاعدة التوجيه والعودة إلى علامة التبويب Configuration .

  15. حدد Next: Tags ثم Next: Review + create.

إشعار

لا تحتاج إلى إضافة قاعدة مسار * مخصصة /لمعالجة الحالات الافتراضية. يتم التعامل مع هذا تلقائيًا بواسطة مجموعة الواجهة الخلفية الافتراضية.

إشعار

يتم تكريم محدد * حرف البدل فقط في نهاية القاعدة. لمزيد من المعلومات وأمثلة القواعد المستندة إلى المسار المدعوم، راجع نظرة عامة على التوجيه المستند إلى مسار URL.

مراجعة + إنشاء علامة التبويب

راجع الإعدادات في علامة التبويب "Review + create"، ثم حدد "Create" لإنشاء الشبكة الظاهرية وعنوان IP العام وبوابة التطبيق. قد يستغرق الأمر عدة دقائق لـ Azure لإنشاء application gateway. انتظر حتى ينتهي التوزيع بنجاح قبل الانتقال إلى القسم التالي.

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

  1. حدد "All resources"، ثم حدد myAppGateway.

    Record application gateway public IP address

  2. نسخ عنوان IP العام، ثم ألصقه في شريط العنوان في متصفحك. مثل http://52.188.72.175:8080.

    Test base URL in application gateway

    يقوم المستمع الموجود على المنفذ 8080 بتوجيه هذا الطلب إلى تجمع الواجهة الخلفية الافتراضي.

  3. غير عنوان URL إلى http://< ip-address>:8080/images/test.htm، واستبدل <ip-address> بعنوان IP العام ل myAppGateway، ويجب أن ترى شيئا مثل المثال التالي:

    Test images URL in application gateway

    يوجه وحدة الاستماع على المنفذ 8080 هذا الطلب إلى تجمع الواجهة الخلفية Images .

  4. غير عنوان URL إلى http://< ip-address>:8080/video/test.htm، واستبدل <ip-address> بعنوان IP العام ل myAppGateway، ويجب أن ترى شيئا مثل المثال التالي:

    Test video URL in application gateway

    يوجه وحدة الاستماع على المنفذ 8080 هذا الطلب إلى تجمع الواجهة الخلفية للفيديو .

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

عند انعدام الحاجة إلى مجموعة الموارد، احذفها واحذف جميع الموارد ذات الصلة. للقيام بذلك، حدد مجموعة الموارد، ثم اختر "Delete resource group".

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

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

لمعرفة المزيد حول التوجيه المستند إلى المسار في Application Gateways، راجع نظرة عامة على التوجيه المستند إلى مسار URL

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