إنشاء بوابة تطبيق مع موازن تحميل محلي (ILB)

يمكن تكوين Azure Application Gateway Standard v1 باستخدام VIP مواجه للإنترنت أو بنقطة نهاية داخلية غير مكشوفة للإنترنت، تعرف أيضا بنقطة نهاية موازن التحميل الداخلي (ILB). تكوين البوابة باستخدام ILB مفيدة لتطبيقات خط الأعمال المحلية التي لا تُعرض للإنترنت. كما أنه مفيد للخدمات والمستويات داخل تطبيق متعدد المستويات يبقى في حاجز آمن لا يتعرض للإنترنت ولكنه لا يزال يتطلب توزيع حمولة الترتيب الدوري أو ثبات الجلسة أو بروتوكول أمان طبقة النقل (TLS)، المعروف سابقًا باسم طبقة مآخذ توصيل آمنة (SSL)، النتيجة.

ترشدك هذه المقالة خلال خطوات تكوين Standard v1 Application Gateway باستخدام ILB.

قبل البدء

إشعار

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

  1. تركيب أحدث إصدار من الوحدة النمطية Azure PowerShell باتباعإرشادات التركيب.
  2. تقوم بإنشاء شبكة ظاهرية وشبكة فرعية لبوابة التطبيق. تأكد من عدم استخدام أية أجهزة ظاهرية أو عمليات توزيع شبكة النظير التي تستخدم الشبكة الفرعية. يجب أن تكون بوابة التطبيق بنفسها في شبكة ظاهرية فرعية.
  3. يجب أن تكون الخوادم التي تقوم بتكوينها لاستخدام بوابة التطبيق موجودة أو أن تكون نقاط النهاية الخاصة بها قد تم إنشاؤها إما في الشبكة الظاهرية أو مع تعيين IP/VIP العام.

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

  • تجمع خادم الواجهة الخلفية: قائمة عناوين IP لخوادم الواجهة الخلفية. يجب أن تنتمي عناوين IP المسرودة إلى الشبكة الظاهرية ولكن في شبكة فرعية مختلفة لبوابة التطبيق أو يجب أن تكون IP/VIP عامة.
  • إعدادات خادم نظام المجموعة الخلفي:تحتوي كل مجموعة على إعدادات مثل المنفذ والبروتوكول والترابط المستند إلى ملف تعريف الارتباط. ترتبط هذه الإعدادات إلى مجموعة وتُطبق على كافة الخوادم داخل التجمع.
  • منفذ الواجهة الأمامية: هذا المنفذ هو المنفذ العام الذي يتم فتحه على بوابة التطبيق. تصل نسبة استخدام الشبكة إلى هذا المنفذ، ثم تتم إعادة توجيهها إلى أحد خوادم الواجهة الخلفية.
  • وحدة الاستماع: لدى وحدة الاستماع منفذ أمامي وبروتوكول (Http أو Https، وهذه حساسة لحالة الأحرف)، واسم شهادة SSL (إذا كان تكوين تفريغ SSL).
  • القاعدة: تربط القاعدة وحدة الاستماع وتجمع خادم الواجهة الخلفية وتحدد تجمع الخادم الخلفي الذي يجب توجيه نسبة استخدام الشبكة إليه عندما تصل إلى وحدة استماع معينة. حاليا، يتم دعم القاعدةالأساسيةفقط. القاعدةالأساسيةهي توزيع تحميل الترتيب الدوري.

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

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

فيما يلي الخطوات التي يتم طلبها لإنشاء بوابة تطبيق:

  1. إنشاء مجموعة الموارد المتعلقة بـAzure Resource Manager
  2. إنشاء شبكة ظاهرية وشبكة فرعية لبوابة التطبيق
  3. إنشاء عنصر تكوين بوابة التطبيق
  4. إنشاء مورد بوابة التطبيق

إنشاء مجموعة الموارد المتعلقة بـAzure Resource Manager

تأكد من تبديل وضع PowerShell لاستخدام Azure Resource Manager cmdlet. تتوفر مزيد من المعلومات فياستخدام Windows PowerShell مع Azure Resource Manager.

الخطوة 1

Connect-AzAccount

الخطوة 2

تحقق من الاشتراكات الخاصة بالحساب.

Get-AzSubscription

تتم مطالبتك للمصادقة ببيانات الاعتماد الخاصة بك.

الخطوة 3

اختر أي اشتراك من اشتراكات Azure الخاصة بك لاستخدامه.

Select-AzSubscription -Subscriptionid "GUID of subscription"

الخطوة 4

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

New-AzResourceGroup -Name appgw-rg -location "West US"

تتطلب Azure Resource Manager بأن تقوم كافة مجموعات الموارد بتحديد الموقع. يُستخدم كموقع افتراضي للموارد في مجموعة الموارد تلك. تأكد من أنه يتم استخدام نفس مجموعة الموارد لكافة الأوامر لإنشاء بوابة تطبيق.

في المثال السابق، قمنا بإنشاء مجموعة موارد تسمى «appgw-RG» في موقع «غرب الولايات المتحدة».

إنشاء شبكة ظاهرية وشبكة فرعية لبوابة التطبيق

يوضح المثال التالي كيفية إنشاء شبكة ظاهرية من خلال استخدام Azure Resource Manager:

الخطوة 1

$subnetconfig = New-AzVirtualNetworkSubnetConfig -Name subnet01 -AddressPrefix 10.0.0.0/24

تُعيّن هذه الخطوة نطاق العناوين 10.0.0.0/24 إلى متغير شبكة فرعية لاستخدامها لإنشاء شبكة ظاهرية.

الخطوة 2

$vnet = New-AzVirtualNetwork -Name appgwvnet -ResourceGroupName appgw-rg -Location "West US" -AddressPrefix 10.0.0.0/16 -Subnet $subnetconfig

تُنشئ هذه الخطوة شبكة ظاهرية تسمى "appgwvnet" في مجموعة الموارد "appgw-rg" لمنطقة غرب الولايات المتحدة باستخدام البادئة 10.0.0.0/16 مع الشبكة الفرعية 10.0.0.0/24.

الخطوة 3

$subnet = $vnet.subnets[0]

تُعيّن هذه الخطوة عنصر الشبكة الفرعية إلى متغير $subnet للخطوات التالية.

إنشاء عنصر تكوين بوابة التطبيق

الخطوة 1

$gipconfig = New-AzApplicationGatewayIPConfiguration -Name gatewayIP01 -Subnet $subnet

هذه الخطوة لإنشاء تكوين بوابة تطبيق IP المسمى "gatewayIP01". عند بدء تشغيل Application Gateway، فإنه يلتقط عنوان IP من الشبكة الفرعية المكونة ويوجه حركة مرور الشبكة إلى عناوين IP في تجمع IP الخلفي. ضع في اعتبارك أن كل مثيل يأخذ عنوان IP واحدًا.

الخطوة 2

$pool = New-AzApplicationGatewayBackendAddressPool -Name pool01 -BackendIPAddresses 10.1.1.8,10.1.1.9,10.1.1.10

تقوم هذه الخطوة بتكوين تجمع عناوين IP الخلفية المسمى "pool01" مع عناوين IP "10.1.1.8، 10.1.1.9، 10.1.1.10". هذه هي عناوين IP التي تتلقى نسبة استخدام الشبكة التي تأتي من نقطة نهاية IP الأمامية. قم باستبدال عناوين IP السابقة لإضافة نقاط نهاية عنوان IP للتطبيق الخاص بك.

الخطوة 3

$poolSetting = New-AzApplicationGatewayBackendHttpSettings -Name poolsetting01 -Port 80 -Protocol Http -CookieBasedAffinity Disabled

تقوم هذه الخطوة بتكوين إعداد بوابة التطبيق "poolsetting01" لحركة مرور الشبكة المتوازنة في تجمع الواجهة الخلفية.

الخطوة 4

$fp = New-AzApplicationGatewayFrontendPort -Name frontendport01  -Port 80

تقوم هذه الخطوة بتكوين منفذ IP للواجهة الأمامية المسمى "frontendport01" ل ILB.

الخطوة 5

$fipconfig = New-AzApplicationGatewayFrontendIPConfig -Name fipconfig01 -Subnet $subnet

تنشئ هذه الخطوة تكوين IP الأمامي المسمى "fipconfig01" وتربطه بعنوان IP خاص من الشبكة الفرعية للشبكة الظاهرية الحالية.

الخطوة 6

$listener = New-AzApplicationGatewayHttpListener -Name listener01  -Protocol Http -FrontendIPConfiguration $fipconfig -FrontendPort $fp

تنشئ هذه الخطوة وحدة الاستماع المسماة "listener01" وتربط منفذ الواجهة الأمامية إلى تكوين IP للواجهة الأمامية.

الخطوة 7

$rule = New-AzApplicationGatewayRequestRoutingRule -Name rule01 -RuleType Basic -BackendHttpSettings $poolSetting -HttpListener $listener -BackendAddressPool $pool

تقوم هذه الخطوة بإنشاء قاعدة تحويل موازن تحميل تسمى "rule01" لتكوين سلوك موازن التحميل.

الخطوة 8

$sku = New-AzApplicationGatewaySku -Name Standard_Small -Tier Standard -Capacity 2

تقوم هذه الخطوة بتكوين حجم مثيل لبوابة التطبيق.

إشعار

القيمة الافتراضية المتعلقة بالسعة هي 2. بالنسبة إلى اسم وحدة حفظ المخزون، يمكنك الاختيار بين قياسي_متوسط وقياسي_كبير.

إنشاء بوابة تطبيق باستخدام New-AzureApplicationGateway

إنشاء بوابة تطبيق مع كافة عناصر التكوين من الخطوات السالفة الذكر. تُسمى بوابة التطبيق في هذا المثال "appgwtest".

$appgw = New-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg -Location "West US" -BackendAddressPools $pool -BackendHttpSettingsCollection $poolSetting -FrontendIpConfigurations $fipconfig  -GatewayIpConfigurations $gipconfig -FrontendPorts $fp -HttpListeners $listener -RequestRoutingRules $rule -Sku $sku

تُنشئ هذه الخطوة بوابة تطبيق مع كافة عناصر التكوين من الخطوات السابقة. تُسمى بوابة التطبيق في هذا المثال "appgwtest".

حذف بوابة التطبيق

تحتاج إلى القيام بالخطوات التالية بالترتيب لحذف بوابة التطبيق:

  1. استخدمStop-AzApplicationGatewaycmdlet لإيقاف البوابة.
  2. استخدمRemove-AzApplicationGatewaycmdlet لإزالة البوابة.
  3. تحقق من إزالة البوابة باستخدامGet-AzureApplicationGatewaycmdlet.

الخطوة 1

الحصول على عنصر بوابة التطبيق وإقرانه إلى متغير "$getgw".

$getgw =  Get-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg

الخطوة 2

استخدمStop-AzApplicationGatewayلإيقاف بوابة التطبيق. تظهر هذه العينةStop-AzApplicationGatewaycmdlet على السطر الأول متبوعًا بالإخراج.

Stop-AzApplicationGateway -ApplicationGateway $getgw  
VERBOSE: 9:49:34 PM - Begin Operation: Stop-AzureApplicationGateway
VERBOSE: 10:10:06 PM - Completed Operation: Stop-AzureApplicationGateway
Name       HTTP Status Code     Operation ID                             Error
----       ----------------     ------------                             ----
Successful OK                   ce6c6c95-77b4-2118-9d65-e29defadffb8

بمجرد أن تكون بوابة التطبيق في حالة التوقف، استخدمRemove-AzApplicationGatewaycmdlet لإزالة الخدمة.

Remove-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg -Force
VERBOSE: 10:49:34 PM - Begin Operation: Remove-AzureApplicationGateway
VERBOSE: 10:50:36 PM - Completed Operation: Remove-AzureApplicationGateway
Name       HTTP Status Code     Operation ID                             Error
----       ----------------     ------------                             ----
Successful OK                   055f3a96-8681-2094-a304-8d9a11ad8301

إشعار

يمكن استخدام رمز التبديل-forceلمنع رسالة تأكيد الإزالة.

للتحقق من أن الخدمة قد تمت إزالتها، يمكنك استخدامGet-AzApplicationGatewaycmdlet. هذه الخطوة غير مطلوبة.

Get-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg
VERBOSE: 10:52:46 PM - Begin Operation: Get-AzureApplicationGateway

Get-AzureApplicationGateway : ResourceNotFound: The gateway doesn't exist.

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

إذا كنت تريد تكوين SSL ملغى التحميل، انظرتكوين بوابة التطبيق SSL مُلغى التحميل.

في حال كنت تريد المزيد من المعلومات حول خيارات موازنة التحميل بشكل عام، انظر: