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 verze Basic poskytovat připojení IPv4 i IPv6. Pro virtuální sítě Azure je teď k dispozici komplexní připojení IPv6 s protokolem IPv6, který integruje připojení IPv6 s vašimi virtuálními sítěmi a zahrnuje 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ší. Protokol IPv6 pro virtuální počítače 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

Tento článek používá modul Azure Az PowerShell, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Příklad scénáře nasazení

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

Scénář nástroje pro vyrovnávání zatížení

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

  • Přístup k internetu Load Balancer ip adresou IPv4 a veřejnou IP adresou IPv6
  • dvě pravidla vyrovnávání zatížení, která mapují veřejné virtuální IP adresy na privátní koncové body
  • Skupiny dostupnosti na , která obsahuje tyto dva virtuální počítače
  • dva virtuální počítače
  • Rozhraní virtuální sítě pro každý virtuální počítač s přiřazenými adresami IPv4 i IPv6

Nasazení řešení pomocí Azure PowerShell

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

Nástroj pro vyrovnávání zatížení nasadíte tak, že vytvoříte a nakonfigurujete následující objekty:

  • Konfigurace front-endových IP adres – obsahuje veřejné IP adresy pro příchozí síťový provoz.
  • Back-endový fond adres – obsahuje síťová rozhraní pro virtuální počítače, která přijímají síťový provoz 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.
  • Pravidla příchozího překladu adres (NAT) – obsahuje pravidla mapující veřejný port v nástroji pro vyrovnávání zatížení na port konkrétního virtuálního počítače v back-endovém fondu adres.
  • Testy – obsahuje testy stavu sloužící ke kontrole dostupnosti instancí virtuálních počítačů v back-endovém fondu adres.

Další informace najdete v tématu Azure Load Balancer součásti.

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

Ujistěte se, že máte nejnovější produkční verzi modulu Azure Resource Manager 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řte skupinu prostředků (tento krok přeskočte, pokud používáte existující skupinu prostředků).

    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 -DomainNameLabel změnit hodnotu pro . Hodnota musí být v rámci oblasti Azure jedinečná.

    $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 pro svůj plně kvalifikovaný název domény. V tomto příkladu jsou tyto FQDN lbnrpipv4.westus.cloudapp.azure.com a lbnrpipv6.westus.cloudapp.azure.com.

Vytvoření Front-End IP adres a Back-End adres

  1. Vytvořte konfiguraci front-endových adres, 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 NAT, testu a nástroje pro vyrovnávání zatížení

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

  • Pravidlo překladu síťových překladů (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á zatížení veškerého příchozího provozu 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či na portu 3389.
  • Pravidlo testu pro kontrolu stavu stránky s názvem HealthProbe.aspx nebo služby 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 protokolu 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í nic pro back-endové virtuální počítače

  1. Získejte Virtual Network a Virtual Network podsítě, kde je potřeba vytvořit síťová rozhraní.

    $vnet = Get-AzVirtualNetwork -Name VNet -ResourceGroupName NRP-RG
    $backendSubnet = Get-AzVirtualNetworkSubnetConfig -Name LB-Subnet-BE -VirtualNetwork $vnet
    
  2. Vytvořte konfigurace IP adres a nic 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 nic

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 Windows s Resource Manager a Azure PowerShell

  1. Vytvoření skupiny dostupnosti a Storage účtu

    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í jednotlivých virtuálních počítačů a přiřazení předchozích vytvořených nic

    $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