إبدأ بإنشاء موازن تحميل مواجه للإنترنت باستخدام IPv6 باستخدام PowerShell لـ Resource Manager

إشعار

توضح هذه المقالة ميزة IPv6 التمهيدية للسماح لموزنات التحميل الأساسي بتوفير اتصال IPv4 وIPv6. يتوفر اتصال IPv6 الشامل الآن مع IPv6 لـ Azure VNETs الذي يدمج اتصال IPv6 مع الشبكات الظاهرية الخاصة بك ويتضمن ميزات رئيسية مثل قواعد IPv6 Network Security Group والتوجيه الذي يحدده المستخدم IPv6 وموازنة التحميل IPv6 Basic وStandard وأكثر من ذلك. IPv6 لـ Azure VNETs هو المعيار الموصى به لتطبيقات IPv6 في Azure. راجع IPv6 لتوزيع Azure VNET Powershell

Azure load balancer هو موازن تحميل من الطبقة 4 (TCP وUDP). يوفر موازن التحميل قابلية وصول عالية من خلال توزيع نسبة استخدام الشبكة الواردة بين مثيلات الخدمة السليمة في الخدمات السحابية أو الأجهزة الظاهرية في مجموعة موازن التحميل. يمكن لـ Azure Load Balancer أيضًا تقديم هذه الخدمات على منافذ متعددة أو عناوين IP متعددة أو كليهما.

إشعار

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

مثال سيناريو النشر

يوضح الرسم التخطيطي التالي حل موازنة التحميل الجاري نشره في هذه المقالة.

Load balancer scenario

في هذا السيناريو، ستقوم بإنشاء موارد Azure التالية:

  • موازن تحميل مواجه للإنترنت بعناوين IP عام IPv4 وIPv6
  • قاعدتان لموازنة التحميل لتعيين VIPs العامة إلى نقاط النهاية الخاصة
  • مجموعة توفر تحتوي على الجهازين الظاهريين
  • جهازين ظاهريين (VMs)
  • واجهة شبكة ظاهرية لكل جهاز ظاهري مع تعيين كل من عناوين IPv4 وIPv6

نشر الحل باستخدام Azure PowerShell

توضح الخطوات التالية كيفية إنشاء موازن تحميل يواجه الإنترنت باستخدام Azure Resource Manager مع PowerShell. باستخدام Azure Resource Manager، يتم إنشاء كل مورد وتكوينه بشكل فردي، ثم يتم تجميعه معًا لإنشاء مورد.

لاستخدام موازن التحميل، قم بإنشاء وتكوين الكائنات التالية:

  • تكوين IP للجهة الأمامية - يحتوي على عناوين IP العامة لحركة مرور الشبكة الواردة.
  • تجمع عناوين الجهة الخلفية : يحتوي على واجهات الشبكة (NIC) للأجهزة الافتراضية لتلقي حركة مرور الشبكة من موازن التحميل.
  • قواعد موازنة التحميل - تحتوي على قواعد تعيين منفذ عام على موازن التحميل إلى المنفذ في تجمع عناوين الواجهة الخلفية.
  • قواعد NAT الواردة - تحتوي على قواعد تعيين منفذ عام على موازن التحميل إلى منفذ لجهاز ظاهري معين في تجمع عناوين الواجهة الخلفية.
  • Probes - يحتوي على فحوصات السلامة المستخدمة للتحقق من توفر مثيلات الأجهزة الظاهرية في تجمع عناوين الواجهة الخلفية.

لمزيد من المعلومات، راجع Azure Load Balancer components.

إعداد PowerShell لاستخدام Azure Resource Manager

تأكد من أن لديك أحدث إصدار إنتاج من وحدة Azure Resource Manager الخاصة بـ PowerShell.

  1. تسجيل الدخول إلى Azure

    Connect-AzAccount
    

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

  2. قم باختبار الاشتراكات المتعلقة بالحساب

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

    Select-AzSubscription -SubscriptionId 'GUID of subscription'
    
  4. قم بإنشاء مجموعة موارد (تخطى هذه الخطوة إذا كنت تستخدم مجموعة موارد حالية)

    New-AzResourceGroup -Name NRP-RG -location "West US"
    

إنشاء شبكة ظاهرية وعنوان IP عام لتجمع IP للواجهة الأمامية

  1. إنشاء شبكة ظاهرية باستخدام شبكة فرعية.

    $backendSubnet = New-AzVirtualNetworkSubnetConfig -Name LB-Subnet-BE -AddressPrefix 10.0.2.0/24
    $vnet = New-AzvirtualNetwork -Name VNet -ResourceGroupName NRP-RG -Location 'West US' -AddressPrefix 10.0.0.0/16 -Subnet $backendSubnet
    
  2. إنشاء موارد عنوان IP العام Azure (PIP) لتجمع عناوين IP الأمامية. تأكد من تغيير القيمة -DomainNameLabel قبل تشغيل الأوامر التالية. يجب أن تكون القيمة فريدة داخل منطقة Azure.

    $publicIPv4 = New-AzPublicIpAddress -Name 'pub-ipv4' -ResourceGroupName NRP-RG -Location 'West US' -AllocationMethod Static -IpAddressVersion IPv4 -DomainNameLabel lbnrpipv4
    $publicIPv6 = New-AzPublicIpAddress -Name 'pub-ipv6' -ResourceGroupName NRP-RG -Location 'West US' -AllocationMethod Dynamic -IpAddressVersion IPv6 -DomainNameLabel lbnrpipv6
    

    هام

    يستخدم موازن التحميل تسمية المجال لعنوان IP العام كبادئة لـ FQDN الخاص به. في هذا المثال، تكون FQDNs lbnrpipv4.westus.cloudapp.azure.com و lbnrpipv6.westus.cloudapp.azure.com.

إنشاء تكوينات IP للواجهة الأمامية وتجمع عناوين الواجهة الخلفية

  1. إنشاء تكوين عنوان الواجهة الأمامية الذي يستخدم عناوين IP العامة التي قمت بإنشائها.

    $FEIPConfigv4 = New-AzLoadBalancerFrontendIpConfig -Name "LB-Frontendv4" -PublicIpAddress $publicIPv4
    $FEIPConfigv6 = New-AzLoadBalancerFrontendIpConfig -Name "LB-Frontendv6" -PublicIpAddress $publicIPv6
    
  2. إنشاء تجمعات عناوين الواجهة الخلفية.

    $backendpoolipv4 = New-AzLoadBalancerBackendAddressPoolConfig -Name "BackendPoolIPv4"
    $backendpoolipv6 = New-AzLoadBalancerBackendAddressPoolConfig -Name "BackendPoolIPv6"
    

قم بإنشاء قواعد LB وقواعد NAT واختبار وموازن تحميل

ينشئ هذا المثال العناصر التالية:

  • قاعدة NAT لترجمة جميع حركات المرور الواردة على المنفذ 443 إلى المنفذ 4443
  • قاعدة موازن التحميل لموازنة جميع حركة المرور الواردة على المنفذ 80 إلى المنفذ 80 على العناوين في تجمع الخلفية.
  • قاعدة موازن التحميل للسماح باتصال RDP بالأجهزة الظاهرية على المنفذ 3389.
  • قاعدة اختبار للتحقق من الحالة الصحية على صفحة مسماة HealthProbe.aspx أو خدمة على المنفذ 8080
  • موازن تحميل يستخدم كل هذه الكائنات
  1. إنشاء قواعد NAT.

    $inboundNATRule1v4 = New-AzLoadBalancerInboundNatRuleConfig -Name "NicNatRulev4" -FrontendIpConfiguration $FEIPConfigv4 -Protocol TCP -FrontendPort 443 -BackendPort 4443
    $inboundNATRule1v6 = New-AzLoadBalancerInboundNatRuleConfig -Name "NicNatRulev6" -FrontendIpConfiguration $FEIPConfigv6 -Protocol TCP -FrontendPort 443 -BackendPort 4443
    
  2. إنشاء اختبار صحي. هناك طريقتان لتكوين اختبار:

    اختبار HTTP

    $healthProbe = New-AzLoadBalancerProbeConfig -Name 'HealthProbe-v4v6' -RequestPath 'HealthProbe.aspx' -Protocol http -Port 80 -IntervalInSeconds 15 -ProbeCount 2
    

    أو اختبار TCP

    $healthProbe = New-AzLoadBalancerProbeConfig -Name 'HealthProbe-v4v6' -Protocol Tcp -Port 8080 -IntervalInSeconds 15 -ProbeCount 2
    $RDPprobe = New-AzLoadBalancerProbeConfig -Name 'RDPprobe' -Protocol Tcp -Port 3389 -IntervalInSeconds 15 -ProbeCount 2
    

    على سبيل المثال، سنستخدم تحقيقات TCP.

  3. إنشاء قاعدة موازن تحميل.

    $lbrule1v4 = New-AzLoadBalancerRuleConfig -Name "HTTPv4" -FrontendIpConfiguration $FEIPConfigv4 -BackendAddressPool $backendpoolipv4 -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 8080
    $lbrule1v6 = New-AzLoadBalancerRuleConfig -Name "HTTPv6" -FrontendIpConfiguration $FEIPConfigv6 -BackendAddressPool $backendpoolipv6 -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 8080
    $RDPrule = New-AzLoadBalancerRuleConfig -Name "RDPrule" -FrontendIpConfiguration $FEIPConfigv4 -BackendAddressPool $backendpoolipv4 -Probe $RDPprobe -Protocol Tcp -FrontendPort 3389 -BackendPort 3389
    
  4. إنشاء موازن التحميل باستخدام الكائنات التي تم إنشاؤها مسبقًا.

    $NRPLB = New-AzLoadBalancer -ResourceGroupName NRP-RG -Name 'myNrpIPv6LB' -Location 'West US' -FrontendIpConfiguration $FEIPConfigv4,$FEIPConfigv6 -InboundNatRule $inboundNATRule1v6,$inboundNATRule1v4 -BackendAddressPool $backendpoolipv4,$backendpoolipv6 -Probe $healthProbe,$RDPprobe -LoadBalancingRule $lbrule1v4,$lbrule1v6,$RDPrule
    

إنشاء بطاقات واجهة الشبكة للأجهزة الظاهرية الخلفية

  1. احصل على الشبكة الافتراضية والشبكة الفرعية للشبكة الظاهرية، حيث يلزم إنشاء NICs.

    $vnet = Get-AzVirtualNetwork -Name VNet -ResourceGroupName NRP-RG
    $backendSubnet = Get-AzVirtualNetworkSubnetConfig -Name LB-Subnet-BE -VirtualNetwork $vnet
    
  2. قم بإنشاء تكوينات IP و NIC للأجهزة الظاهرية.

    $nic1IPv4 = New-AzNetworkInterfaceIpConfig -Name "IPv4IPConfig" -PrivateIpAddressVersion "IPv4" -Subnet $backendSubnet -LoadBalancerBackendAddressPool $backendpoolipv4 -LoadBalancerInboundNatRule $inboundNATRule1v4
    $nic1IPv6 = New-AzNetworkInterfaceIpConfig -Name "IPv6IPConfig" -PrivateIpAddressVersion "IPv6" -LoadBalancerBackendAddressPool $backendpoolipv6 -LoadBalancerInboundNatRule $inboundNATRule1v6
    $nic1 = New-AzNetworkInterface -Name 'myNrpIPv6Nic0' -IpConfiguration $nic1IPv4,$nic1IPv6 -ResourceGroupName NRP-RG -Location 'West US'
    
    $nic2IPv4 = New-AzNetworkInterfaceIpConfig -Name "IPv4IPConfig" -PrivateIpAddressVersion "IPv4" -Subnet $backendSubnet -LoadBalancerBackendAddressPool $backendpoolipv4
    $nic2IPv6 = New-AzNetworkInterfaceIpConfig -Name "IPv6IPConfig" -PrivateIpAddressVersion "IPv6" -LoadBalancerBackendAddressPool $backendpoolipv6
    $nic2 = New-AzNetworkInterface -Name 'myNrpIPv6Nic1' -IpConfiguration $nic2IPv4,$nic2IPv6 -ResourceGroupName NRP-RG -Location 'West US'
    

إنشاء الأجهزة الظاهرية وتعيين NICs المنشأة حديثا

لمزيد من المعلومات حول إنشاء جهاز ظاهري، راجع إنشاء جهاز ظاهري Windows مع إدارة الموارد و Azure PowerShell والتكوين المسبق له

  1. إنشاء حساب مجموعة التوفر والتخزين

    New-AzAvailabilitySet -Name 'myNrpIPv6AvSet' -ResourceGroupName NRP-RG -location 'West US'
    $availabilitySet = Get-AzAvailabilitySet -Name 'myNrpIPv6AvSet' -ResourceGroupName NRP-RG
    New-AzStorageAccount -ResourceGroupName NRP-RG -Name 'mynrpipv6stacct' -Location 'West US' -SkuName "Standard_LRS"
    $CreatedStorageAccount = Get-AzStorageAccount -ResourceGroupName NRP-RG -Name 'mynrpipv6stacct'
    
  2. إنشاء كل جهاز ظاهري وتعيين NICs التي تم إنشاؤها مسبقًا

    $mySecureCredentials= Get-Credential -Message "Type the username and password of the local administrator account."
    
    $vm1 = New-AzVMConfig -VMName 'myNrpIPv6VM0' -VMSize 'Standard_G1' -AvailabilitySetId $availabilitySet.Id
    $vm1 = Set-AzVMOperatingSystem -VM $vm1 -Windows -ComputerName 'myNrpIPv6VM0' -Credential $mySecureCredentials -ProvisionVMAgent -EnableAutoUpdate
    $vm1 = Set-AzVMSourceImage -VM $vm1 -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2012-R2-Datacenter -Version "latest"
    $vm1 = Add-AzVMNetworkInterface -VM $vm1 -Id $nic1.Id -Primary
    $osDisk1Uri = $CreatedStorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/myNrpIPv6VM0osdisk.vhd"
    $vm1 = Set-AzVMOSDisk -VM $vm1 -Name 'myNrpIPv6VM0osdisk' -VhdUri $osDisk1Uri -CreateOption FromImage
    New-AzVM -ResourceGroupName NRP-RG -Location 'West US' -VM $vm1
    
    $vm2 = New-AzVMConfig -VMName 'myNrpIPv6VM1' -VMSize 'Standard_G1' -AvailabilitySetId $availabilitySet.Id
    $vm2 = Set-AzVMOperatingSystem -VM $vm2 -Windows -ComputerName 'myNrpIPv6VM1' -Credential $mySecureCredentials -ProvisionVMAgent -EnableAutoUpdate
    $vm2 = Set-AzVMSourceImage -VM $vm2 -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2012-R2-Datacenter -Version "latest"
    $vm2 = Add-AzVMNetworkInterface -VM $vm2 -Id $nic2.Id -Primary
    $osDisk2Uri = $CreatedStorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/myNrpIPv6VM1osdisk.vhd"
    $vm2 = Set-AzVMOSDisk -VM $vm2 -Name 'myNrpIPv6VM1osdisk' -VhdUri $osDisk2Uri -CreateOption FromImage
    New-AzVM -ResourceGroupName NRP-RG -Location 'West US' -VM $vm2