موازنة التحميل على تكوينات IP متعددة باستخدام PowerShell

توضح هذه المقالة كيفية استخدام موازن التحميل في Azure مع عناوين IP متعددة على واجهة شبكة اتصال ثانوية (NIC). بالنسبة لهذا السيناريو، يتوفر لدينا جهازان ظاهريان يعملان بنظام Windows، لكل منهما بطاقة واجهة شبكة أساسية وثانوية. لدى كل من بطاقات واجهات الشبكة الثانوية اثنين من تكوينات IP. يستضيف كل جهاز ظاهري موقعي الويب contoso.com وfabrikam.com. يرتبط كل موقع ويب بأحد تكوينات IP على بطاقة واجهة الشبكة الثانوية. نستخدم موازن التحميل في Azure لكشف عنواني IP للواجهة الأمامية، واحد لكل موقع ويب، لتوزيع حركة المرور على تكوين IP الخاص بموقع الويب. يستخدم هذا السيناريو نفس رقم المنفذ عبر كل من الواجهة الأمامية، وعناوين IP لتجمع الواجهة الخلفية.

خطوات لموازنة التحميل على تكوينات IP متعددة

إشعار

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

اتبع الخطوات أدناه لتحقيق السيناريو الموضح في هذه المقالة:

  1. تثبيت Azure PowerShell. راجع كيفية تثبيت Azure PowerShell وتكوينه للحصول على معلومات حول تثبيت أحدث إصدار من Azure PowerShell وتحديد اشتراكك وتسجيل الدخول إلى حسابك.

  2. إنشاء مجموعة موارد باستخدام الإعدادات التالية:

    $location = "westcentralus".
    $myResourceGroup = "contosofabrikam"
    

    لمزيد من المعلومات، راجع الخطوة 2 من إنشاء مجموعة موارد.

  3. إنشاء مجموعة توفر لاحتواء الأجهزة الظاهرية. بالنسبة لهذا السيناريو، استخدم الأمر التالي:

    New-AzAvailabilitySet -ResourceGroupName "contosofabrikam" -Name "myAvailset" -Location "West Central US"
    
  4. اتبع الخطوات من 3 إلى 5 في مقالة إنشاء أجهزة ظاهرية تعمل بنظام Windows للتحضير لإنشاء جهاز ظاهري باستخدام بطاقات واجهة الشبكة. نفذ الخطوة 6.1، ثم استخدم ما يلي بدلًا من الخطوة 6.2:

    $availset = Get-AzAvailabilitySet -ResourceGroupName "contosofabrikam" -Name "myAvailset"
    New-AzVMConfig -VMName "VM1" -VMSize "Standard_DS1_v2" -AvailabilitySetId $availset.Id
    

    ثم أكمل إنشاء جهاز ظاهري يعمل بنظام Windows الخطوات من 6.3 إلى 6.8.

  5. أضف تكوين IP ثانيًا إلى كل من الأجهزة الظاهرية. اتبع الإرشادات الموجودة في مقالة تعيين عناوين IP متعددة للأجهزة الظاهرية. استخدم إعدادات التكوين التالية:

    $NicName = "VM1-NIC2"
    $RgName = "contosofabrikam"
    $NicLocation = "West Central US"
    $IPConfigName4 = "VM1-ipconfig2"
    $Subnet1 = Get-AzVirtualNetworkSubnetConfig -Name "mySubnet" -VirtualNetwork $myVnet
    

    لا تحتاج إلى إقران تكوينات IP الثانوية ب IPs العامة في هذا البرنامج التعليمي. حرر الأمر لإزالة جزء اقتران IP العام.

  6. إكمال الخطوات من 4 إلى 6 من هذه المقالة مرة أخرى لـ VM2. تأكد من استبدال اسم VM إلى VM2 عند القيام بذلك. لا تحتاج إلى إنشاء شبكة ظاهرية للجهاز الظاهري الثاني. يمكنك إنشاء شبكة فرعية جديدة استنادا إلى حالة الاستخدام الخاصة بك.

  7. إنشاء عنواني IP عمومين وتخزينهما في المتغيرات المناسبة كما هو موضح:

    $publicIP1 = New-AzPublicIpAddress -Name PublicIp1 -ResourceGroupName contosofabrikam -Location 'West Central US' -AllocationMethod Dynamic -DomainNameLabel contoso
    $publicIP2 = New-AzPublicIpAddress -Name PublicIp2 -ResourceGroupName contosofabrikam -Location 'West Central US' -AllocationMethod Dynamic -DomainNameLabel fabrikam
    
    $publicIP1 = Get-AzPublicIpAddress -Name PublicIp1 -ResourceGroupName contosofabrikam
    $publicIP2 = Get-AzPublicIpAddress -Name PublicIp2 -ResourceGroupName contosofabrikam
    
  8. إنشاء تكوينين IP للواجهة الأمامية:

    $frontendIP1 = New-AzLoadBalancerFrontendIpConfig -Name contosofe -PublicIpAddress $publicIP1
    $frontendIP2 = New-AzLoadBalancerFrontendIpConfig -Name fabrikamfe -PublicIpAddress $publicIP2
    
  9. إنشاء تجمعات العناوين الخلفية الخاصة بك، ومجس وقواعد موازنة التحميل الخاصة بك:

    $beaddresspool1 = New-AzLoadBalancerBackendAddressPoolConfig -Name contosopool
    $beaddresspool2 = New-AzLoadBalancerBackendAddressPoolConfig -Name fabrikampool
    
    $healthProbe = New-AzLoadBalancerProbeConfig -Name HTTP -RequestPath 'index.html' -Protocol http -Port 80 -IntervalInSeconds 15 -ProbeCount 2
    
    $lbrule1 = New-AzLoadBalancerRuleConfig -Name HTTPc -FrontendIpConfiguration $frontendIP1 -BackendAddressPool $beaddresspool1 -Probe $healthprobe -Protocol Tcp -FrontendPort 80 -BackendPort 80
    $lbrule2 = New-AzLoadBalancerRuleConfig -Name HTTPf -FrontendIpConfiguration $frontendIP2 -BackendAddressPool $beaddresspool2 -Probe $healthprobe -Protocol Tcp -FrontendPort 80 -BackendPort 80
    
  10. بمجرد إنشاء هذه الموارد، قم بإنشاء موازن التحميل:

    $mylb = New-AzLoadBalancer -ResourceGroupName contosofabrikam -Name mylb -Location 'West Central US' -FrontendIpConfiguration $frontendIP1 -LoadBalancingRule $lbrule -BackendAddressPool $beAddressPool -Probe $healthProbe
    
  11. قم بإضافة تجمع عنوان الخلفية الثاني وتكوين IP للواجهة الأمامية إلى موازن التحميل الذي تم إنشاؤه حديثًا:

    $mylb = Get-AzLoadBalancer -Name "mylb" -ResourceGroupName $myResourceGroup | Add-AzLoadBalancerBackendAddressPoolConfig -Name fabrikampool | Set-AzLoadBalancer
    
    $mylb | Add-AzLoadBalancerFrontendIpConfig -Name fabrikamfe -PublicIpAddress $publicIP2 | Set-AzLoadBalancer
    
    Add-AzLoadBalancerRuleConfig -Name HTTP -LoadBalancer $mylb -FrontendIpConfiguration $frontendIP2 -BackendAddressPool $beaddresspool2 -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 80 | Set-AzLoadBalancer
    
  12. تحصل الأوامر أدناه على بطاقات NIC ثم أضف تكوينات IP لكل بطاقة NIC ثانوية إلى تجمع عناوين الواجهة الخلفية لموازن التحميل:

    $nic1 = Get-AzNetworkInterface -Name "VM1-NIC2" -ResourceGroupName "MyResourcegroup";
    $nic2 = Get-AzNetworkInterface -Name "VM2-NIC2" -ResourceGroupName "MyResourcegroup";
    
    $nic1.IpConfigurations[0].LoadBalancerBackendAddressPools.Add($mylb.BackendAddressPools[0]);
    $nic1.IpConfigurations[1].LoadBalancerBackendAddressPools.Add($mylb.BackendAddressPools[1]);
    $nic2.IpConfigurations[0].LoadBalancerBackendAddressPools.Add($mylb.BackendAddressPools[0]);
    $nic2.IpConfigurations[1].LoadBalancerBackendAddressPools.Add($mylb.BackendAddressPools[1]);
    
    $mylb = $mylb | Set-AzLoadBalancer
    
    $nic1 | Set-AzNetworkInterface
    $nic2 | Set-AzNetworkInterface
    
  13. وأخيرًا، يجب تكوين سجلات موارد DNS للإشارة إلى عنوان IP الواجهة الأمامية المعنية من موازن التحميل. يمكنك استضافة المجالات الخاصة بك في Azure DNS. لمزيد من المعلومات حول استخدام Azure DNS مع موازن التحميل، راجع استخدام Azure DNS مع خدمات Azure الأخرى.

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