Ismerkedés az internetkapcsolattal rendelkező terheléselosztó IPv6-tal való létrehozásával a PowerShell for Resource Manager használatával

Feljegyzés

Ez a cikk egy bevezető IPv6-funkciót ismertet, amely lehetővé teszi, hogy az alapszintű terheléselosztók IPv4- és IPv6-kapcsolatot is biztosítsanak. Az átfogó IPv6-kapcsolat mostantól elérhető az Azure-beli IPv6 virtuális hálózatokhoz, amelyek integrálják az IPv6-kapcsolatot a virtuális hálózatokkal, és olyan kulcsfontosságú funkciókat tartalmaznak, mint az IPv6 hálózati biztonsági csoport szabályai, az IPv6 felhasználó által definiált útválasztás, az IPv6 Alapszintű és a Standard terheléselosztás stb. Az Azure-beli IPv6 VNETs az azure-beli IPv6-alkalmazások ajánlott szabványa. Lásd: IPv6 for Azure VNET PowerShell deployment

Az Azure Load Balancer 4. szintű (TCP, UDP) terheléselosztónak minősül. A terheléselosztó a felhőszolgáltatások vagy virtuális gépek kifogástalan állapotú szolgáltatási példányai között osztja meg a bejövő forgalmat egy terheléselosztói készletben, és ezáltal biztosítja a magas rendelkezésre állást. Az Azure Load Balancer a szolgáltatásokat több portra vagy több IP-címre, illetve portokra és IP-címekre egyaránt továbbíthatja.

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Példa üzembe helyezési forgatókönyvre

Az alábbi ábra a cikkben üzembe helyezett terheléselosztási megoldást mutatja be.

Load balancer scenario

Ebben a forgatókönyvben a következő Azure-erőforrásokat fogja létrehozni:

  • internetkapcsolattal rendelkező Load Balancer IPv4 és IPv6 nyilvános IP-címmel
  • két terheléselosztási szabály a nyilvános VIP-k privát végpontokhoz való leképezéséhez
  • rendelkezésre állási csoport, amely a két virtuális gépet tartalmazza
  • két virtuális gép (virtuális gép)
  • virtuális hálózati adapter minden egyes virtuális géphez IPv4- és IPv6-címekkel

A megoldás üzembe helyezése az Azure PowerShell használatával

Az alábbi lépések bemutatják, hogyan hozhat létre internetkapcsolattal rendelkező terheléselosztót az Azure Resource Manager és a PowerShell használatával. Az Azure Resource Managerrel minden erőforrás külön-külön jön létre és konfigurálható, majd össze van állítva egy erőforrás létrehozásához.

Terheléselosztó üzembe helyezéséhez hozza létre és konfigurálja a következő objektumokat:

  • Előtérbeli IP-konfiguráció – nyilvános IP-címeket tartalmaz a bejövő hálózati forgalomhoz.
  • Háttércímkészlet – hálózati adaptereket (NIC-ket) tartalmaz a virtuális gépek számára, hogy hálózati forgalmat fogadjanak a terheléselosztótól.
  • Terheléselosztási szabályok – olyan szabályokat tartalmaz, amely a terheléselosztón lévő nyilvános portot a háttércímkészlet portjához társítja.
  • Bejövő NAT-szabályok – olyan szabályokat tartalmaz, amelyek a terheléselosztón lévő nyilvános portot egy adott virtuális gép portjához társítják a háttércímkészletben.
  • Mintavételek – állapotmintákat tartalmaz, amelyeket a virtuálisgép-példányok rendelkezésre állásának ellenőrzésére használnak a háttércímkészletben.

További információ: Azure Load Balancer-összetevők.

A PowerShell beállítása a Resource Manager használatához

Győződjön meg arról, hogy rendelkezik a PowerShellhez készült Azure Resource Manager modul legújabb éles verziójával.

  1. Bejelentkezés az Azure-ba

    Connect-AzAccount
    

    Amikor a rendszer erre kéri, adja meg a hitelesítő adatait.

  2. Keresse meg a fiókot az előfizetésekben

     Get-AzSubscription
    
  3. Válassza ki, hogy melyek Azure-előfizetését használja.

    Select-AzSubscription -SubscriptionId 'GUID of subscription'
    
  4. Erőforráscsoport létrehozása (kihagyhatja ezt a lépést, ha meglévő erőforráscsoportot használ)

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

Virtuális hálózat és nyilvános IP-cím létrehozása az előtérbeli IP-készlethez

  1. Hozzon létre egy virtuális hálózatot egy alhálózattal.

    $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. Hozzon létre Azure Nyilvános IP-cím (PIP) erőforrásokat az előtérbeli IP-címkészlethez. A következő parancsok futtatása előtt mindenképpen módosítsa az értéket -DomainNameLabel . Az értéknek egyedinek kell lennie az Azure-régióban.

    $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
    

    Fontos

    A terheléselosztó a nyilvános IP-cím tartománycímkéjét használja a teljes tartománynév előtagjaként. Ebben a példában a teljes tartománynevek lbnrpipv4.westus.cloudapp.azure.com és lbnrpipv6.westus.cloudapp.azure.com.

Előtérbeli IP-konfigurációk és háttércímkészlet létrehozása

  1. Hozzon létre előtérbeli címkonfigurációt, amely a létrehozott nyilvános IP-címeket használja.

    $FEIPConfigv4 = New-AzLoadBalancerFrontendIpConfig -Name "LB-Frontendv4" -PublicIpAddress $publicIPv4
    $FEIPConfigv6 = New-AzLoadBalancerFrontendIpConfig -Name "LB-Frontendv6" -PublicIpAddress $publicIPv6
    
  2. Háttércímkészletek létrehozása.

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

Terheléselosztási szabályok, NAT-szabályok, mintavétel és terheléselosztó létrehozása

Ez a példa a következő elemeket hozza létre:

  • NAT-szabály a 443-as porton lévő összes bejövő forgalom lefordításához a 4443-as portra
  • terheléselosztó-szabály a 80-as porton érkező összes bejövő forgalom és a háttérkészlet címeinek 80-80-a közötti elosztásához.
  • terheléselosztó-szabály, amely engedélyezi az RDP-kapcsolatot a 3389-s porton lévő virtuális gépekhez.
  • mintavételi szabály a HealthProbe.aspx nevű lapon vagy a 8080-at tartalmazó szolgáltatás állapotának ellenőrzéséhez
  • egy terheléselosztó, amely ezeket az objektumokat használja
  1. Hozza létre a NAT-szabályokat.

    $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. Hozzon létre egy állapotmintát. Két módszer van a mintavétel konfigurálására:

    HTTP-mintavétel

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

    vagy TCP-mintavétel

    $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
    

    Ebben a példában a TCP-mintavételeket fogjuk használni.

  3. Hozzon létre egy terheléselosztó-szabályt.

    $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. Hozza létre a terheléselosztót a korábban létrehozott objektumok használatával.

    $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
    

Hálózati adapterek létrehozása háttérbeli virtuális gépekhez

  1. Szerezze be a virtuális hálózatot és a virtuális hálózat alhálózatát, ahol létre kell hozni a hálózati adaptereket.

    $vnet = Get-AzVirtualNetwork -Name VNet -ResourceGroupName NRP-RG
    $backendSubnet = Get-AzVirtualNetworkSubnetConfig -Name LB-Subnet-BE -VirtualNetwork $vnet
    
  2. IP-konfigurációkat és hálózati adaptereket hozhat létre a virtuális gépekhez.

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

Virtuális gépek létrehozása és az újonnan létrehozott hálózati adapterek hozzárendelése

További információ a virtuális gépek létrehozásáról: Windows rendszerű virtuális gép létrehozása és előzetes konfigurálása a Resource Managerrel és az Azure PowerShell-lel

  1. Rendelkezésre állási csoport és tárfiók létrehozása

    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. Hozza létre az egyes virtuális gépeket, és rendelje hozzá az előző létrehozott hálózati adaptereket

    $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