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

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

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

قبل أن تبدأ

ملاحظة

تستخدم هذه المقالة الوحدة النمطية Azure Az PowerShell، وهي الوحدة النمطية PowerShell الموصى بها للتفاعل مع Azure. لبدء استخدام الوحدة النمطية Az PowerShell، راجع تثبيت 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 هو الأمر الذي تقوم منه بإنشاء بوابة التطبيق والعناصر التي تحتاج إلى تكوين. مع إدارة الموارد، يتم تكوين جميع العناصر التي تجعل بوابة التطبيق بشكل فردي ثم تُجمع معًا لإنشاء تطبيق Azure 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". عند بدء تشغيل "بوابة التطبيق"، فإنه يلتقط تكوين عنوان 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 does not exist.

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

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

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