Wprowadzenie do tworzenia modułu równoważenia obciążenia połączonego z Internetem przy użyciu protokołu IPv6 przy użyciu programu PowerShell dla usługi Resource Manager

Uwaga

W tym artykule opisano funkcję wprowadzającą protokół IPv6, aby umożliwić modułom równoważenia obciążenia w warstwie Podstawowa zapewnienie łączności IPv4 i IPv6. Kompleksowa łączność IPv6 jest teraz dostępna z protokołem IPv6 dla sieci wirtualnych platformy Azure, która integruje łączność IPv6 z sieciami wirtualnymi i zawiera kluczowe funkcje, takie jak reguły sieciowej grupy zabezpieczeń IPv6, routing zdefiniowany przez użytkownika IPv6, równoważenie obciążenia w warstwie Podstawowa i Standardowa i inne. Protokół IPv6 dla sieci wirtualnych platformy Azure jest zalecanym standardem dla aplikacji IPv6 na platformie Azure. Zobacz IPv6 for Azure VNET PowerShell Deployment (Wdrażanie protokołu IPv6 dla programu PowerShell dla sieci wirtualnej platformy Azure)

Usługa Azure Load Balancer to moduł równoważenia obciążenia w warstwie 4 (TCP, UDP). Moduł równoważenia obciążenia zapewnia wysoką dostępność, dystrybuując ruch przychodzący w wystąpieniach usług o dobrej kondycji w usługach w chmurze lub na maszynach wirtualnych w zestawie modułu równoważenia obciążenia. Usługa Azure Load Balancer może także prezentować te usługi na wielu portach i/lub wielu adresach IP.

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Przykładowy scenariusz wdrażania

Na poniższym diagramie przedstawiono rozwiązanie równoważenia obciążenia wdrażane w tym artykule.

Load balancer scenario

W tym scenariuszu utworzysz następujące zasoby platformy Azure:

  • dostępny z Internetu moduł równoważenia obciążenia z publicznym adresem IP IPv4 i publicznym adresem IP IPv6
  • dwie reguły równoważenia obciążenia do mapowania publicznych adresów VIP na prywatne punkty końcowe
  • zestaw dostępności zawierający dwie maszyny wirtualne
  • dwie maszyny wirtualne
  • interfejs sieci wirtualnej dla każdej maszyny wirtualnej z przypisanymi adresami IPv4 i IPv6

Wdrażanie rozwiązania przy użyciu programu Azure PowerShell

W poniższych krokach pokazano, jak utworzyć moduł równoważenia obciążenia połączony z Internetem przy użyciu usługi Azure Resource Manager z programem PowerShell. W usłudze Azure Resource Manager każdy zasób jest tworzony i konfigurowany indywidualnie, a następnie tworzony w celu utworzenia zasobu.

Aby wdrożyć moduł równoważenia obciążenia, należy utworzyć i skonfigurować następujące obiekty:

  • Konfiguracja adresu IP frontonu — zawiera publiczne adresy IP dla przychodzącego ruchu sieciowego.
  • Pula adresów zaplecza — zawiera interfejsy sieciowe (karty sieciowe) dla maszyn wirtualnych odbierający ruch sieciowy z modułu równoważenia obciążenia.
  • Reguły równoważenia obciążenia — zawiera reguły mapowania publicznego portu modułu równoważenia obciążenia na port w puli adresów zaplecza.
  • Reguły NAT dla ruchu przychodzącego — zawiera reguły mapowania publicznego portu modułu równoważenia obciążenia na port dla określonej maszyny wirtualnej w puli adresów zaplecza.
  • Sondy — zawiera sondy kondycji używane do sprawdzania dostępności wystąpień maszyn wirtualnych w puli adresów zaplecza.

Aby uzyskać więcej informacji, zobacz Składniki usługi Azure Load Balancer.

Konfigurowanie programu PowerShell do korzystania z usługi Resource Manager

Upewnij się, że masz najnowszą wersję produkcyjną modułu usługi Azure Resource Manager dla programu PowerShell.

  1. Logowanie na platformie Azure

    Connect-AzAccount
    

    Po wyświetleniu monitu wprowadź poświadczenia.

  2. Sprawdź subskrypcje dostępne na koncie.

     Get-AzSubscription
    
  3. Wybierz subskrypcję platformy Azure do użycia.

    Select-AzSubscription -SubscriptionId 'GUID of subscription'
    
  4. Utwórz grupę zasobów (pomiń ten krok, jeśli używasz istniejącej grupy zasobów)

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

Tworzenie sieci wirtualnej i publicznego adresu IP dla puli adresów IP frontonu

  1. Utwórz sieć wirtualną z podsiecią.

    $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. Utwórz zasoby publicznego adresu IP (PIP) platformy Azure dla puli adresów IP frontonu. Przed uruchomieniem następujących poleceń pamiętaj, aby zmienić wartość parametru -DomainNameLabel . Wartość musi być unikatowa w regionie świadczenia usługi 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
    

    Ważne

    Moduł równoważenia obciążenia używa etykiety domeny publicznego adresu IP jako prefiksu nazwy FQDN. W tym przykładzie nazwy FQDN są lbnrpipv4.westus.cloudapp.azure.com i lbnrpipv6.westus.cloudapp.azure.com.

Tworzenie konfiguracji adresów IP frontonu i puli adresów zaplecza

  1. Utwórz konfigurację adresu frontonu korzystającą z utworzonych publicznych adresów IP.

    $FEIPConfigv4 = New-AzLoadBalancerFrontendIpConfig -Name "LB-Frontendv4" -PublicIpAddress $publicIPv4
    $FEIPConfigv6 = New-AzLoadBalancerFrontendIpConfig -Name "LB-Frontendv6" -PublicIpAddress $publicIPv6
    
  2. Tworzenie pul adresów zaplecza.

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

Tworzenie reguł modułu równoważenia obciążenia, reguł NAT, sondy i modułu równoważenia obciążenia

W tym przykładzie opisano tworzenie następujących elementów:

  • reguła TRANSLATOR adresów sieciowych do translacji całego ruchu przychodzącego na porcie 443 na port 4443
  • reguła modułu równoważenia obciążenia w celu zrównoważenia całego ruchu przychodzącego na porcie 80 do portu 80 na adresach w puli zaplecza.
  • reguła modułu równoważenia obciążenia zezwala na połączenie RDP z maszynami wirtualnymi na porcie 3389.
  • reguła sondy w celu sprawdzenia stanu kondycji na stronie o nazwie HealthProbe.aspx lub usłudze na porcie 8080
  • moduł równoważenia obciążenia, który używa wszystkich tych obiektów
  1. Utwórz reguły 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. Utwórz sondę kondycji. Istnieją dwie metody konfiguracji sondy:

    Sonda HTTP

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

    lub sonda 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
    

    W tym przykładzie użyjemy sond TCP.

  3. Utwórz regułę modułu równoważenia obciążenia.

    $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. Utwórz moduł równoważenia obciążenia przy użyciu wcześniej utworzonych obiektów.

    $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
    

Tworzenie kart sieciowych dla maszyn wirtualnych zaplecza

  1. Uzyskaj sieć wirtualną i podsieć sieci wirtualnej, w której należy utworzyć karty sieciowe.

    $vnet = Get-AzVirtualNetwork -Name VNet -ResourceGroupName NRP-RG
    $backendSubnet = Get-AzVirtualNetworkSubnetConfig -Name LB-Subnet-BE -VirtualNetwork $vnet
    
  2. Utwórz konfiguracje adresów IP i karty sieciowe dla maszyn wirtualnych.

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

Tworzenie maszyn wirtualnych i przypisywanie nowo utworzonych kart sieciowych

Aby uzyskać więcej informacji na temat tworzenia maszyny wirtualnej, zobacz Tworzenie i wstępne konfigurowanie maszyny wirtualnej z systemem Windows przy użyciu usługi Resource Manager i programu Azure PowerShell

  1. Tworzenie zestawu dostępności i konta magazynu

    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. Tworzenie każdej maszyny wirtualnej i przypisywanie poprzednich utworzonych kart sieciowych

    $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