Začínáme vytvářet internetový nástroj pro vyrovnávání zatížení s protokolem IPv6 pomocí PowerShellu pro Resource Manager

Poznámka:

Tento článek popisuje úvodní funkci IPv6, která umožňuje load Balancerům úrovně Basic poskytovat připojení IPv4 i IPv6. Komplexní připojení IPv6 je teď dostupné s protokolem IPv6 pro virtuální sítě Azure, které integrují připojení IPv6 s vašimi virtuálními sítěmi a zahrnují klíčové funkce, jako jsou pravidla skupiny zabezpečení sítě IPv6, směrování definované uživatelem IPv6, vyrovnávání zatížení IPv6 Basic a Standard a další. IPv6 pro virtuální sítě Azure je doporučeným standardem pro aplikace IPv6 v Azure. Viz IPv6 pro nasazení Azure VNET PowerShellu

Azure Load Balancer je nástroj pro vyrovnávání zatížení úrovně 4 (TCP, UDP). Nástroj pro vyrovnávání zatížení poskytuje vysokou dostupnost díky distribuci příchozích přenosů mezi instance služeb, které jsou v pořádku, v cloudových službách nebo virtuálních počítačích v sadě nástroje pro vyrovnávání zatížení. Azure Load Balancer můžete také tyto služby prezentovat na více portech, více IP adresách nebo obojím.

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Ukázkový scénář nasazení

Následující diagram znázorňuje řešení vyrovnávání zatížení nasazené v tomto článku.

Load balancer scenario

V tomto scénáři vytvoříte následující prostředky Azure:

  • Internetový nástroj pro vyrovnávání zatížení s protokolem IPv4 a veřejnou IP adresou IPv6
  • dvě pravidla vyrovnávání zatížení pro mapování veřejných IP adres na privátní koncové body
  • Skupina dostupnosti obsahující dva virtuální počítače
  • dva virtuální počítače (virtuální počítače)
  • virtuální síťové rozhraní pro každý virtuální počítač s přiřazenými adresami IPv4 i IPv6

Nasazení řešení pomocí Azure PowerShellu

Následující kroky ukazují, jak vytvořit internetový nástroj pro vyrovnávání zatížení pomocí Azure Resource Manageru s PowerShellem. S Azure Resource Managerem se každý prostředek vytvoří a nakonfiguruje jednotlivě a pak vytvoří prostředek dohromady.

Pokud chcete nasadit nástroj pro vyrovnávání zatížení, vytvoříte a nakonfigurujete následující objekty:

  • Konfigurace front-endové IP adresy – obsahuje veřejné IP adresy pro příchozí síťový provoz.
  • Back-endový fond adres – obsahuje síťová rozhraní (NIC) pro virtuální počítače pro příjem síťového provozu z nástroje pro vyrovnávání zatížení.
  • Pravidla vyrovnávání zatížení – obsahuje pravidla mapující veřejný port v nástroji pro vyrovnávání zatížení na port v back-endovém fondu adres.
  • Příchozí pravidla překladu adres (NAT) – obsahuje pravidla mapující veřejný port v nástroji pro vyrovnávání zatížení na port pro konkrétní virtuální počítač v back-endovém fondu adres.
  • Testy – obsahuje sondy stavu používané ke kontrole dostupnosti instancí virtuálních počítačů v back-endovém fondu adres.

Další informace najdete v tématu Komponenty Azure Load Balanceru.

Nastavení prostředí PowerShell pro použití Resource Manageru

Ujistěte se, že máte nejnovější produkční verzi modulu Azure Resource Manageru pro PowerShell.

  1. Přihlášení do Azure

    Connect-AzAccount
    

    Po zobrazení výzvy zadejte své přihlašovací údaje.

  2. Zkontrolujte předplatná pro příslušný účet.

     Get-AzSubscription
    
  3. Zvolte předplatné Azure, které chcete použít.

    Select-AzSubscription -SubscriptionId 'GUID of subscription'
    
  4. Vytvoření skupiny prostředků (pokud používáte existující skupinu prostředků, tento krok přeskočte)

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

Vytvoření virtuální sítě a veřejné IP adresy pro front-endový fond IP adres

  1. Vytvořte virtuální síť s podsítí.

    $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. Vytvořte prostředky veřejné IP adresy Azure (PIP) pro front-endový fond IP adres. Před spuštěním následujících příkazů nezapomeňte hodnotu změnit -DomainNameLabel . Hodnota musí být jedinečná v rámci oblasti 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
    

    Důležité

    Nástroj pro vyrovnávání zatížení používá název domény veřejné IP adresy jako předponu svého plně kvalifikovaného názvu domény. V tomto příkladu jsou plně kvalifikované názvy domén lbnrpipv4.westus.cloudapp.azure.com a lbnrpipv6.westus.cloudapp.azure.com.

Vytvoření konfigurace front-endových IP adres a fondu back-endových adres

  1. Vytvořte konfiguraci front-endové adresy, která používá veřejné IP adresy, které jste vytvořili.

    $FEIPConfigv4 = New-AzLoadBalancerFrontendIpConfig -Name "LB-Frontendv4" -PublicIpAddress $publicIPv4
    $FEIPConfigv6 = New-AzLoadBalancerFrontendIpConfig -Name "LB-Frontendv6" -PublicIpAddress $publicIPv6
    
  2. Vytvořte back-endové fondy adres.

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

Vytvoření pravidel nástroje pro vyrovnávání zatížení, pravidel překladu adres (NAT), sondy a nástroje pro vyrovnávání zatížení

Tento příklad vytvoří následující položky:

  • Pravidlo překladu adres (NAT) pro překlad veškerého příchozího provozu na portu 443 na port 4443
  • Pravidlo nástroje pro vyrovnávání zatížení, které vyrovnává veškerý příchozí provoz na portu 80 na port 80 na adresách v back-endovém fondu.
  • Pravidlo nástroje pro vyrovnávání zatížení, které povolí připojení RDP k virtuálním počítačům na portu 3389.
  • Pravidlo sondy pro kontrolu stavu na stránce s názvem HealthProbe.aspx nebo službě na portu 8080
  • nástroj pro vyrovnávání zatížení, který používá všechny tyto objekty
  1. Vytvořte pravidla překladu adres (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. Vytvořte test stavu. Test můžete nakonfigurovat dvěma způsoby:

    Test protokolu HTTP

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

    nebo sonda PROTOKOLU 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
    

    V tomto příkladu použijeme sondy TCP.

  3. Vytvořte pravidlo nástroje pro vyrovnávání zatížení.

    $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. Vytvořte nástroj pro vyrovnávání zatížení pomocí dříve vytvořených objektů.

    $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
    

Vytvoření síťových karet pro back-endové virtuální počítače

  1. Získejte virtuální síť a podsíť virtuální sítě, kde je potřeba vytvořit síťové karty.

    $vnet = Get-AzVirtualNetwork -Name VNet -ResourceGroupName NRP-RG
    $backendSubnet = Get-AzVirtualNetworkSubnetConfig -Name LB-Subnet-BE -VirtualNetwork $vnet
    
  2. Vytvořte konfigurace IP adres a síťové karty pro virtuální počítače.

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

Vytvoření virtuálních počítačů a přiřazení nově vytvořených síťových karet

Další informace o vytvoření virtuálního počítače najdete v tématu Vytvoření a předkonfigurování virtuálního počítače s Windows pomocí Resource Manageru a Azure PowerShellu.

  1. Vytvoření skupiny dostupnosti a účtu úložiště

    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. Vytvoření každého virtuálního počítače a přiřazení předchozích vytvořených síťových karet

    $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