Sdílet prostřednictvím


Vyrovnávání zatížení v několika konfiguracích IP adres pomocí PowerShellu

Tento článek popisuje, jak používat Azure Load Balancer s více IP adresami v sekundárním síťovém rozhraní (NIC). V tomto scénáři máme dva virtuální počítače s Windows, z nichž každý má primární a sekundární síťovou kartu. Každá sekundární síťová rozhraní má dvě konfigurace IP adres. Každý virtuální počítač hostuje weby contoso.com i fabrikam.com. Každý web je vázán na jednu z konfigurací IP na sekundární síťové kartě. Azure Load Balancer používáme k zveřejnění dvou front-endových IP adres, jedné pro každý web, k distribuci provozu do příslušné konfigurace IP adresy pro daný web. Tento scénář používá stejné číslo portu mezi front-endy i IP adresami back-endového fondu.

Postup vyrovnávání zatížení u několika konfigurací IP adres

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Pokud chcete začít, přečtěte si 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.

Pokud chcete dosáhnout scénáře popsaného v tomto článku, postupujte podle následujících kroků:

  1. Nainstalujte Azure PowerShell. Projděte si článek Jak nainstalovat a nakonfigurovat Azure PowerShell, kde najdete informace o instalaci nejnovější verze prostředí Azure PowerShell, výběru předplatného a přihlášení k účtu.

  2. Vytvořte skupinu prostředků pomocí následujících nastavení:

    $location = "westcentralus".
    $myResourceGroup = "contosofabrikam"
    

    Další informace najdete v kroku 2 vytvoření skupiny prostředků.

  3. Vytvořte sadu dostupnosti, která bude obsahovat vaše virtuální počítače. V tomto scénáři použijte následující příkaz:

    New-AzAvailabilitySet -ResourceGroupName "contosofabrikam" -Name "myAvailset" -Location "West Central US"
    
  4. Postupujte podle pokynů 3 až 5 v článku Vytvoření virtuálního počítače s Windows a připravte vytvoření virtuálního počítače pomocí jediné síťové karty. Spusťte krok 6.1 a místo kroku 6.2 použijte následující:

    $availset = Get-AzAvailabilitySet -ResourceGroupName "contosofabrikam" -Name "myAvailset"
    New-AzVMConfig -VMName "VM1" -VMSize "Standard_DS1_v2" -AvailabilitySetId $availset.Id
    

    Potom dokončete vytvoření virtuálního počítače s Windows kroky 6.3 až 6.8.

  5. Přidejte do každého virtuálního počítače druhou konfiguraci IP adresy. Postupujte podle pokynů v článku Přiřazení více IP adres virtuálním počítačům . Použijte následující nastavení konfigurace:

    $NicName = "VM1-NIC2"
    $RgName = "contosofabrikam"
    $NicLocation = "West Central US"
    $IPConfigName4 = "VM1-ipconfig2"
    $Subnet1 = Get-AzVirtualNetworkSubnetConfig -Name "mySubnet" -VirtualNetwork $myVnet
    

    V tomto kurzu nemusíte přidružit sekundární konfigurace IP adres k veřejným IP adresám. Upravte příkaz a odeberte část přidružení veřejné IP adresy.

  6. Proveďte znovu kroky 4 až 6 tohoto článku pro virtuální počítač 2. Při tom nezapomeňte nahradit název virtuálního počítače virtuálním počítačem VM2. Pro druhý virtuální počítač nemusíte vytvářet virtuální síť. Můžete vytvořit novou podsíť na základě vašeho případu použití.

  7. Vytvořte dvě veřejné IP adresy a uložte je do příslušných proměnných, jak je znázorněno na následujícím obrázku:

    $publicIP1 = New-AzPublicIpAddress -Name PublicIp1 -ResourceGroupName contosofabrikam -Location 'West Central US' -AllocationMethod Dynamic -DomainNameLabel contoso
    $publicIP2 = New-AzPublicIpAddress -Name PublicIp2 -ResourceGroupName contosofabrikam -Location 'West Central US' -AllocationMethod Dynamic -DomainNameLabel fabrikam
    
    $publicIP1 = Get-AzPublicIpAddress -Name PublicIp1 -ResourceGroupName contosofabrikam
    $publicIP2 = Get-AzPublicIpAddress -Name PublicIp2 -ResourceGroupName contosofabrikam
    
  8. Vytvořte dvě konfigurace front-endových IP adres:

    $frontendIP1 = New-AzLoadBalancerFrontendIpConfig -Name contosofe -PublicIpAddress $publicIP1
    $frontendIP2 = New-AzLoadBalancerFrontendIpConfig -Name fabrikamfe -PublicIpAddress $publicIP2
    
  9. Vytvořte back-endové fondy adres, sondu a pravidla vyrovnávání zatížení:

    $beaddresspool1 = New-AzLoadBalancerBackendAddressPoolConfig -Name contosopool
    $beaddresspool2 = New-AzLoadBalancerBackendAddressPoolConfig -Name fabrikampool
    
    $healthProbe = New-AzLoadBalancerProbeConfig -Name HTTP -RequestPath 'index.html' -Protocol http -Port 80 -IntervalInSeconds 15 -ProbeCount 2
    
    $lbrule1 = New-AzLoadBalancerRuleConfig -Name HTTPc -FrontendIpConfiguration $frontendIP1 -BackendAddressPool $beaddresspool1 -Probe $healthprobe -Protocol Tcp -FrontendPort 80 -BackendPort 80
    $lbrule2 = New-AzLoadBalancerRuleConfig -Name HTTPf -FrontendIpConfiguration $frontendIP2 -BackendAddressPool $beaddresspool2 -Probe $healthprobe -Protocol Tcp -FrontendPort 80 -BackendPort 80
    
  10. Po vytvoření těchto prostředků vytvořte nástroj pro vyrovnávání zatížení:

    $mylb = New-AzLoadBalancer -ResourceGroupName contosofabrikam -Name mylb -Location 'West Central US' -FrontendIpConfiguration $frontendIP1 -LoadBalancingRule $lbrule -BackendAddressPool $beAddressPool -Probe $healthProbe
    
  11. Přidejte do nově vytvořeného nástroje pro vyrovnávání zatížení druhý back-endový fond adres a konfiguraci front-endových IP adres:

    $mylb = Get-AzLoadBalancer -Name "mylb" -ResourceGroupName $myResourceGroup | Add-AzLoadBalancerBackendAddressPoolConfig -Name fabrikampool | Set-AzLoadBalancer
    
    $mylb | Add-AzLoadBalancerFrontendIpConfig -Name fabrikamfe -PublicIpAddress $publicIP2 | Set-AzLoadBalancer
    
    Add-AzLoadBalancerRuleConfig -Name HTTP -LoadBalancer $mylb -FrontendIpConfiguration $frontendIP2 -BackendAddressPool $beaddresspool2 -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 80 | Set-AzLoadBalancer
    
  12. Následující příkazy získají síťové karty a pak do back-endového fondu adres nástroje pro vyrovnávání zatížení přidají obě konfigurace IP adres jednotlivých sekundárních síťových adaptérů:

    $nic1 = Get-AzNetworkInterface -Name "VM1-NIC2" -ResourceGroupName "MyResourcegroup";
    $nic2 = Get-AzNetworkInterface -Name "VM2-NIC2" -ResourceGroupName "MyResourcegroup";
    
    $nic1.IpConfigurations[0].LoadBalancerBackendAddressPools.Add($mylb.BackendAddressPools[0]);
    $nic1.IpConfigurations[1].LoadBalancerBackendAddressPools.Add($mylb.BackendAddressPools[1]);
    $nic2.IpConfigurations[0].LoadBalancerBackendAddressPools.Add($mylb.BackendAddressPools[0]);
    $nic2.IpConfigurations[1].LoadBalancerBackendAddressPools.Add($mylb.BackendAddressPools[1]);
    
    $mylb = $mylb | Set-AzLoadBalancer
    
    $nic1 | Set-AzNetworkInterface
    $nic2 | Set-AzNetworkInterface
    
  13. Nakonec musíte nakonfigurovat záznamy prostředků DNS tak, aby odkazovali na odpovídající IP adresu front-endu Load Balanceru. Domény můžete hostovat v Azure DNS. Další informace o používání Azure DNS s Load Balancerem najdete v tématu Použití Azure DNS s jinými službami Azure.

Další kroky