Aracılığıyla paylaş


PowerShell kullanarak birden çok IP yapılandırmasında yük dengeleme

Bu makalede, Azure Load Balancer'ın ikincil ağ arabiriminde (NIC) birden çok IP adresiyle nasıl kullanılacağı açıklanmaktadır. Bu senaryoda, her biri birincil ve ikincil NIC'ye sahip windows çalıştıran iki VM'miz vardır. İkincil NIC'lerin her biri iki IP yapılandırmasına sahiptir. Her VM hem contoso.com hem de fabrikam.com web sitelerini barındırıyor. Her web sitesi ikincil NIC'deki IP yapılandırmalarından birine bağlıdır. Azure Load Balancer'ı, trafiği web sitesinin ilgili IP yapılandırmasına dağıtmak üzere her web sitesi için bir tane olmak üzere iki ön uç IP adresini kullanıma sunma amacıyla kullanırız. Bu senaryo hem ön uçlarda hem de arka uç havuzu IP adreslerinde aynı bağlantı noktası numarasını kullanır.

Birden çok IP yapılandırmasında yük dengeleme adımları

Not

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz . Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Bu makalede özetlenen senaryoya ulaşmak için aşağıdaki adımları izleyin:

  1. Azure PowerShell'i yükleyin. Azure PowerShell’in en son sürümünü yükleme, aboneliğinizi seçme ve hesabınızda oturum açma hakkında bilgi almak için bkz. Azure PowerShell’i yükleme ve yapılandırma.

  2. Aşağıdaki ayarları kullanarak bir kaynak grubu oluşturun:

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

    Daha fazla bilgi için bkz. Kaynak Grubu Oluşturmanın 2. Adımı.

  3. VM'lerinizi içerecek bir Kullanılabilirlik Kümesi oluşturun. Bu senaryo için aşağıdaki komutu kullanın:

    New-AzAvailabilitySet -ResourceGroupName "contosofabrikam" -Name "myAvailset" -Location "West Central US"
    
  4. Tek bir NIC ile VM oluşturmayı hazırlamak için Windows VM oluşturma makalesindeki 3 ile 5 arasında adımları izleyin. 6.1 adımını yürütür ve 6.2. adım yerine aşağıdakileri kullanın:

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

    Ardından 6.3 ile 6.8 arasında Windows VM oluşturma adımlarını tamamlayın.

  5. Vm'lerin her birine ikinci bir IP yapılandırması ekleyin. Sanal makinelere birden çok IP adresi atama makalesindeki yönergeleri izleyin. Aşağıdaki yapılandırma ayarlarını kullanın:

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

    Bu öğreticinin amacı doğrultusunda ikincil IP yapılandırmalarını genel IP'lerle ilişkilendirmeniz gerekmez. Komutu düzenleyerek genel IP ilişkilendirme bölümünü kaldırın.

  6. VM2 için bu makalenin 4 ile 6. adımlarını yeniden tamamlayın. Bunu yaparken VM adını VM2 ile değiştirdiğinizden emin olun. İkinci VM için bir sanal ağ oluşturmanız gerekmediğini unutmayın. Kullanım örneğinize göre yeni bir alt ağ oluşturabilir veya oluşturmayabilirsiniz.

  7. İki genel IP adresi oluşturun ve bunları gösterildiği gibi uygun değişkenlerde depolayın:

    $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. İki ön uç IP yapılandırması oluşturun:

    $frontendIP1 = New-AzLoadBalancerFrontendIpConfig -Name contosofe -PublicIpAddress $publicIP1
    $frontendIP2 = New-AzLoadBalancerFrontendIpConfig -Name fabrikamfe -PublicIpAddress $publicIP2
    
  9. Arka uç adres havuzlarınızı, araştırmanızı ve yük dengeleme kurallarınızı oluşturun:

    $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. Bu kaynakları oluşturduktan sonra yük dengeleyicinizi oluşturun:

    $mylb = New-AzLoadBalancer -ResourceGroupName contosofabrikam -Name mylb -Location 'West Central US' -FrontendIpConfiguration $frontendIP1 -LoadBalancingRule $lbrule -BackendAddressPool $beAddressPool -Probe $healthProbe
    
  11. yeni oluşturulan yük dengeleyicinize ikinci arka uç adres havuzunu ve ön uç IP yapılandırmasını ekleyin:

    $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. Aşağıdaki komutlar NIC'leri alır ve ardından her ikincil NIC'nin ip yapılandırmalarını yük dengeleyicinin arka uç adres havuzuna ekler:

    $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. Son olarak, DNS kaynak kayıtlarını Load Balancer'ın ilgili ön uç IP adresine işaret eden şekilde yapılandırmanız gerekir. Etki alanlarınızı Azure DNS'de barındırabilirsiniz. Load Balancer ile Azure DNS kullanma hakkında daha fazla bilgi için bkz . Azure DNS'yi diğer Azure hizmetleriyle kullanma.

Sonraki adımlar