Resource Manager için PowerShell kullanarak IPv6 ile İnternet'e yönelik yük dengeleyici oluşturmaya başlama

Not

Bu makalede, Temel Yük Dengeleyicilerin hem IPv4 hem de IPv6 bağlantısı sağlamasına olanak sağlayan giriş niteliğinde bir IPv6 özelliği açıklanmaktadır. IPv6 bağlantısını Sanal Ağ'lerinizle tümleştirip IPv6 Ağ Güvenlik Grubu kuralları, IPv6 Kullanıcı tanımlı yönlendirme, IPv6 Temel ve Standart yük dengeleme gibi önemli özellikleri içeren Azure VNET'leri için IPv6 ile kapsamlı IPv6 bağlantısı kullanıma sunuldu. Azure VNET'leri için IPv6, Azure'daki IPv6 uygulamaları için önerilen standarttır. Bkz. Azure VNET PowerShell Dağıtımı için IPv6

Azure Load Balancer bir Katman 4 (TCP, UDP) yük dengeleyicidir. Yük dengeleyici, gelen trafiği bulut hizmetlerindeki sağlıklı hizmet örnekleri veya bir yük dengeleyici kümesindeki sanal makineler arasında dağıtarak yüksek kullanılabilirlik sağlar. Ayrıca, Azure Load Balancer bu hizmetleri birden çok bağlantı noktasında, birden çok IP adresinde ya da her ikisinde birden sağlayabilir.

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.

Örnek dağıtım senaryosu

Aşağıdaki diyagramda bu makalede dağıtılan yük dengeleme çözümü gösterilmektedir.

Load balancer scenario

Bu senaryoda aşağıdaki Azure kaynaklarını oluşturacaksınız:

  • IPv4 ve IPv6 Genel IP adresine sahip İnternet'e yönelik yük dengeleyici
  • genel VIP'leri özel uç noktalara eşlemek için iki yük dengeleme kuralı
  • iki VM'yi içeren bir Kullanılabilirlik Kümesi
  • iki sanal makine (VM)
  • Hem IPv4 hem de IPv6 adresleri atanmış her VM için bir sanal ağ arabirimi

Azure PowerShell kullanarak çözümü dağıtma

Aşağıdaki adımlarda, PowerShell ile Azure Resource Manager kullanarak İnternet'e yönelik yük dengeleyici oluşturma adımları gösterilmektedir. Azure Resource Manager ile her kaynak ayrı ayrı oluşturulur ve yapılandırılır, ardından bir kaynak oluşturmak için bir araya getirilir.

Yük dengeleyici dağıtmak için aşağıdaki nesneleri oluşturup yapılandırabilirsiniz:

  • Ön uç IP yapılandırması - gelen ağ trafiği için genel IP adreslerini içerir.
  • Arka uç adres havuzu - yük dengeleyiciden ağ trafiğini almak için sanal makinelerin ağ arabirimlerini (NIC) içerir.
  • Yük dengeleme kuralları - Yük dengeleyicideki genel bağlantı noktasını arka uç adres havuzundaki bağlantı noktasına eşleyen kurallar içerir.
  • Gelen NAT kuralları - yük dengeleyicideki genel bağlantı noktasını arka uç adres havuzundaki belirli bir sanal makine için bir bağlantı noktasına eşlenen kurallar içerir.
  • Yoklamalar - arka uç adres havuzundaki sanal makine örneklerinin kullanılabilirliğini denetlemek için kullanılan sistem durumu yoklamalarını içerir.

Daha fazla bilgi için bkz . Azure Load Balancer bileşenleri.

PowerShell’i Resource Manager’ı kullanacak şekilde ayarlama

PowerShell için Azure Resource Manager modülünün en son üretim sürümüne sahip olduğunuzdan emin olun.

  1. Azure oturumu açma

    Connect-AzAccount
    

    İstendiğinde kimlik bilgilerinizi girin.

  2. Hesapla ilişkili abonelikleri kontrol etme

     Get-AzSubscription
    
  3. Hangi Azure aboneliğinizin kullanılacağını seçin.

    Select-AzSubscription -SubscriptionId 'GUID of subscription'
    
  4. Kaynak grubu oluşturma (mevcut bir kaynak grubunu kullanıyorsanız bu adımı atlayın)

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

Ön uç IP havuzu için sanal ağ ve genel IP adresi oluşturma

  1. Alt ağ ile bir sanal ağ oluşturun.

    $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. Ön uç IP adresi havuzu için Azure Genel IP adresi (PIP) kaynakları oluşturun. Aşağıdaki komutları çalıştırmadan önce değerini -DomainNameLabel değiştirdiğinizden emin olun. Değerin Azure bölgesinde benzersiz olması gerekir.

    $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
    

    Önemli

    Yük dengeleyici, FQDN'sinin ön eki olarak genel IP'nin etki alanı etiketini kullanır. Bu örnekte FQDN'ler lbnrpipv4.westus.cloudapp.azure.com ve lbnrpipv6.westus.cloudapp.azure.com.

Ön Uç IP yapılandırmaları ve Arka Uç Adres Havuzu oluşturma

  1. Oluşturduğunuz Genel IP adreslerini kullanan ön uç adresi yapılandırması oluşturun.

    $FEIPConfigv4 = New-AzLoadBalancerFrontendIpConfig -Name "LB-Frontendv4" -PublicIpAddress $publicIPv4
    $FEIPConfigv6 = New-AzLoadBalancerFrontendIpConfig -Name "LB-Frontendv6" -PublicIpAddress $publicIPv6
    
  2. Arka uç adres havuzları oluşturun.

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

LB kuralları, NAT kuralları, yoklama ve yük dengeleyici oluşturma

Bu örnek aşağıdaki nesneleri oluşturur:

  • 443 numaralı bağlantı noktasındaki tüm gelen trafiği 4443 numaralı bağlantı noktasına çevirmek için bir NAT kuralı
  • 80 numaralı bağlantı noktasından 80 numaralı bağlantı noktasına gelen tüm trafiği arka uç havuzundaki adreslerde dengelemek için bir yük dengeleyici kuralı.
  • 3389 numaralı bağlantı noktasındaki VM'lere RDP bağlantısına izin veren bir yük dengeleyici kuralı.
  • HealthProbe.aspx adlı sayfadaki veya 8080 numaralı bağlantı noktasındaki bir hizmette sistem durumunu denetlemek için bir yoklama kuralı
  • tüm bu nesneleri kullanan bir yük dengeleyici
  1. NAT kurallarını oluşturun.

    $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. Durum araştırması oluşturun. Araştırmaları iki şekilde yapılandırabilirsiniz:

    HTTP araştırma

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

    veya TCP yoklaması

    $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
    

    Bu örnekte TCP yoklamalarını kullanacağız.

  3. Yük dengeleyici kuralı oluşturun.

    $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. Daha önce oluşturulan nesneleri kullanarak yük dengeleyiciyi oluşturun.

    $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
    

Arka uç VM'leri için NIC oluşturma

  1. NIC'lerin oluşturulması gereken Sanal Ağ ve Sanal Ağ Alt Ağı alın.

    $vnet = Get-AzVirtualNetwork -Name VNet -ResourceGroupName NRP-RG
    $backendSubnet = Get-AzVirtualNetworkSubnetConfig -Name LB-Subnet-BE -VirtualNetwork $vnet
    
  2. VM'ler için IP yapılandırmaları ve NIC'ler oluşturun.

    $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'
    

Sanal makineler oluşturma ve yeni oluşturulan NIC'leri atama

VM oluşturma hakkında daha fazla bilgi için bkz . Resource Manager ve Azure PowerShell ile Windows Sanal Makinesi oluşturma ve önceden yapılandırma

  1. Kullanılabilirlik Kümesi ve Depolama hesabı oluşturma

    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. Her VM'yi oluşturma ve önceki oluşturulan NIC'leri atama

    $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