إنشاء اختبار مخصص لـ Azure Application Gateway (كلاسيكي) باستخدام PowerShell

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

هام

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

المتطلبات الأساسية: تثبيت الوحدة النمطية Azure PowerShell

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

إشعار

تحتاج إلى حساب Azure لإكمال هذه الخطوات. إذا لم يكن لديك حساب Azure، يمكنك التسجيل للحصول على نسخة تجريبية مجانية.

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

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

  1. إنشاء مورد بوابة التطبيق.
  2. تكوين ملف تكوين XML أو كائن تكوين.
  3. ربط التكوين بمورد عبّارة التطبيق الذي تم إنشاؤه حديثًا.

إنشاء مورد بوابة تطبيق باستخدام تحقيق مخصص

لإنشاء البوابة، استخدم New-AzureApplicationGateway cmdlet، واستبدل القيم. لا تبدأ فوترة البوابة في هذه المرحلة. تبدأ الفوترة في خطوة لاحقة، عندما يتم تشغيل البوابة بنجاح.

يقوم المثال التالي بإنشاء عبّارة تطبيق باستخدام شبكة ظاهرية تسمى "testvnet1" وشبكة فرعية تسمى "subnet-1".

New-AzureApplicationGateway -Name AppGwTest -VnetName testvnet1 -Subnets @("Subnet-1")

للتحقق من أنه تم إنشاء العبارة، يمكنك استخدام Get-AzureApplicationGateway cmdlet.

Get-AzureApplicationGateway AppGwTest

إشعار

القيمة الافتراضية لـ InstanceCount هي 2، بحد أقصى 10. تكون القيمة الافتراضية لـ GatewaySize هي Medium. يمكنك الاختيار بين الصغيرة والمتوسطة والكبيرة.

تظهر VirtualIPs وDnsName فارغة لأن البوابة لم تبدأ بعد. يتم إنشاء هذه القيم بمجرد أن تكون البوابة في حالة التشغيل.

تكوين بوابة تطبيق باستخدام XML

في المثال التالي، يمكنك استخدام ملف XML لتكوين كافة إعدادات بوابة التطبيق والتزامها بمورد بوابة التطبيق.

انسخ النص التالي إلى المفكرة.

<ApplicationGatewayConfiguration xmlns:i="https://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/windowsazure">
<FrontendIPConfigurations>
    <FrontendIPConfiguration>
        <Name>fip1</Name>
        <Type>Private</Type>
    </FrontendIPConfiguration>
</FrontendIPConfigurations>
<FrontendPorts>
    <FrontendPort>
        <Name>port1</Name>
        <Port>80</Port>
    </FrontendPort>
</FrontendPorts>
<Probes>
    <Probe>
        <Name>Probe01</Name>
        <Protocol>Http</Protocol>
        <Host>contoso.com</Host>
        <Path>/path/custompath.htm</Path>
        <Interval>15</Interval>
        <Timeout>15</Timeout>
        <UnhealthyThreshold>5</UnhealthyThreshold>
    </Probe>
    </Probes>
    <BackendAddressPools>
    <BackendAddressPool>
        <Name>pool1</Name>
        <IPAddresses>
            <IPAddress>1.1.1.1</IPAddress>
            <IPAddress>2.2.2.2</IPAddress>
        </IPAddresses>
    </BackendAddressPool>
</BackendAddressPools>
<BackendHttpSettingsList>
    <BackendHttpSettings>
        <Name>setting1</Name>
        <Port>80</Port>
        <Protocol>Http</Protocol>
        <CookieBasedAffinity>Enabled</CookieBasedAffinity>
        <RequestTimeout>120</RequestTimeout>
        <Probe>Probe01</Probe>
    </BackendHttpSettings>
</BackendHttpSettingsList>
<HttpListeners>
    <HttpListener>
        <Name>listener1</Name>
        <FrontendIP>fip1</FrontendIP>
    <FrontendPort>port1</FrontendPort>
        <Protocol>Http</Protocol>
    </HttpListener>
</HttpListeners>
<HttpLoadBalancingRules>
    <HttpLoadBalancingRule>
        <Name>lbrule1</Name>
        <Type>basic</Type>
        <BackendHttpSettings>setting1</BackendHttpSettings>
        <Listener>listener1</Listener>
        <BackendAddressPool>pool1</BackendAddressPool>
    </HttpLoadBalancingRule>
</HttpLoadBalancingRules>
</ApplicationGatewayConfiguration>

قم بتحرير القيم بين الأقواس لعناصر التكوين. احفظ الملف بملحق .xml.

يوضح المثال التالي كيفية استخدام ملف تكوين لإعداد بوابة التطبيق لتحميل حركة مرور HTTP على المنفذ العام 80 وإرسال حركة مرور الشبكة إلى المنفذ الخلفي 80 بين عنواني IP باستخدام فحص مخصص.

هام

عنصر البروتوكول Http أو Https حساس لحالة الأحرف.

تتم إضافة مسبار> عنصر <تكوين جديد لتكوين تحقيقات مخصصة.

معلمات التكوين هي:

المعلمة الوصف
الاسم اسم المرجع للاختبار المخصص.
البروتوكول البروتوكول المستخدم (القيم المحتملة هي HTTP أو HTTPS).
Host وPath إكمال اختبار URL الذي يتم استدعاؤه بواسطة بوابة التطبيق لتحديد صحة المثيل. على سبيل المثال، إذا كان لديك موقع ويب http://contoso.com/، فيمكن تكوين الفحص المخصص ل "http://contoso.com/path/custompath.htm"؛ لفحوصات الفحص للحصول على استجابة HTTP ناجحة.
الفترة تكوين فحوصات فاصل الاختبار بالثواني.
المهلة تعريف مهلة الاختبار لفحص استجابة HTTP.
UnhealthyThreshold عدد استجابات HTTP الفاشلة اللازمة لوضع علامة على مثيل الخلفية على أنه غير سليم.

تتم الإشارة إلى اسم الفحص في <تكوين BackendHttpSettings> لتعيين تجمع الخلفية الذي يستخدم إعدادات الفحص المخصصة.

إضافة اختبار مخصص إلى بوابة تطبيق موجودة

يتطلب تغيير التكوين الحالي لبوابة التطبيق ثلاث خطوات: الحصول على ملف تكوين XML الحالي، وتعديله للحصول على مسبار مخصص، وتكوين بوابة التطبيق باستخدام إعدادات XML الجديدة.

  1. الحصول على ملف XML باستخدام Get-AzureApplicationGatewayConfig. يصدر أمر cmdlet هذا XML التكوين ليتم تعديله لإضافة إعداد اختبار.

    Get-AzureApplicationGatewayConfig -Name "<application gateway name>" -Exporttofile "<path to file>"
    
  2. افتح ملف XML في محرر نصي. إضافة قسم <probe> بعد <frontendport>.

    <Probes>
     <Probe>
         <Name>Probe01</Name>
         <Protocol>Http</Protocol>
         <Host>contoso.com</Host>
         <Path>/path/custompath.htm</Path>
         <Interval>15</Interval>
         <Timeout>15</Timeout>
         <UnhealthyThreshold>5</UnhealthyThreshold>
     </Probe>
    </Probes>
    

    في المقطع backendHttpSettings، إضافة اسم التحقيق كما هو موضح في المثال التالي:

     <BackendHttpSettings>
         <Name>setting1</Name>
         <Port>80</Port>
         <Protocol>Http</Protocol>
         <CookieBasedAffinity>Enabled</CookieBasedAffinity>
         <RequestTimeout>120</RequestTimeout>
         <Probe>Probe01</Probe>
     </BackendHttpSettings>
    

    حفظ ملف XML.

  3. تحديث تكوين بوابة التطبيق مع ملف XML الجديد باستخدام Set-AzureApplicationGatewayConfig. يُحدث cmdlet بوابة التطبيق الخاص بك مع التكوين الجديد.

Set-AzureApplicationGatewayConfig -Name "<application gateway name>" -Configfile "<path to file>"

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

إذا كنت ترغب في تكوين أمان طبقة النقل (TLS)، المعروف سابقًا بإلغاء تحميل طبقة مآخذ التوصيل الآمنة (SSL)، فراجع تكوين بوابة تطبيق لإلغاء تحميل TLS.

إذا كنت تريد تكوين بوابة تطبيق لاستخدامها مع موازن تحميل داخلي، فراجع إنشاء بوابة تطبيق باستخدام موازن تحميل داخلي (ILB).