Sdílet prostřednictvím


Vyrovnávání zatížení u více konfigurací IP adres pomocí PowerShellu

Tento článek popisuje, jak používat Azure Load Balancer s více IP adresami na sekundárním síťovém rozhraní. Pro tento scénář 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 adres v sekundární síťové kartě. Používáme Azure Load Balancer k zveřejnění dvou front-endových IP adres, jedné pro každý web, za účelem distribuce provozu do příslušné konfigurace IP adresy pro web. V tomto scénáři se používá stejné číslo portu v obou front-endech i IP adresách back-endového fondu.

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

Poznámka

K interakci s Azure doporučujeme použít modul Azure Az PowerShell. 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.

Pokud chcete dosáhnout scénáře popsaného v tomto článku, postupujte následovně:

  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 tématu Krok 2 v tématu Vytvoření skupiny prostředků.

  3. Vytvořte skupinu dostupnosti , která bude obsahovat vaše virtuální počítače. Pro tento scénář 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 s jednou síťovou kartou. 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
    

    Pak proveďte kroky 6.3 až 6.8 vytvoření virtuálního počítače s Windows .

  5. Do každého virtuálního počítače přidejte 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
    

    Pro účely tohoto kurzu není nutné přidružit konfigurace sekundárních IP adres k veřejným IP adresám. Upravte příkaz pro odebrání části přidružení veřejné IP adresy.

  6. Opakujte kroky 4 až 6 tohoto článku pro VM2. Nezapomeňte při tom nahradit název virtuálního počítače na VM2. Všimněte si, že pro druhý virtuální počítač nemusíte vytvářet virtuální síť. Můžete nebo nemusíte 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 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. Do nově vytvořeného nástroje pro vyrovnávání zatížení přidejte 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 přidají obě konfigurace IP každé sekundární síťové karty do back-endového fondu adres nástroje pro vyrovnávání zatížení:

    $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 o prostředcích DNS tak, aby odkazovali na příslušnou IP adresu front-endu Load Balancer. Své domény můžete hostovat v Azure DNS. Další informace o používání Azure DNS s Load Balancer najdete v tématu Použití Azure DNS s dalšími službami Azure.

Další kroky