Delen via


Taakverdeling voor meerdere IP-configuraties met behulp van PowerShell

In dit artikel wordt beschreven hoe u Azure Load Balancer gebruikt met meerdere IP-adressen op een secundaire netwerkinterface (NIC). Voor dit scenario hebben we twee VM's met Windows, elk met een primaire en een secundaire NIC. Elk van de secundaire NIC's heeft twee IP-configuraties. Elke VIRTUELE machine fungeert als host voor websites contoso.com en fabrikam.com. Elke website is gebonden aan een van de IP-configuraties op de secundaire NIC. We gebruiken Azure Load Balancer om twee front-end-IP-adressen beschikbaar te maken, één voor elke website, om verkeer te distribueren naar de respectieve IP-configuratie voor de website. In dit scenario wordt hetzelfde poortnummer gebruikt voor beide front-ends en ip-adressen van beide back-endpools.

Stappen voor taakverdeling voor meerdere IP-configuraties

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Volg de onderstaande stappen om het scenario te bereiken dat in dit artikel wordt beschreven:

  1. Installeer Azure PowerShell. Zie Azure PowerShell installeren en configureren voor informatie over het installeren van de nieuwste versie van Azure PowerShell, het selecteren van het abonnement en het aanmelden bij uw account.

  2. Maak een resourcegroep met behulp van de volgende instellingen:

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

    Zie stap 2 van het maken van een resourcegroep voor meer informatie.

  3. Maak een beschikbaarheidsset die uw VM's bevat. Gebruik voor dit scenario de volgende opdracht:

    New-AzAvailabilitySet -ResourceGroupName "contosofabrikam" -Name "myAvailset" -Location "West Central US"
    
  4. Volg de instructies in stap 3 tot en met 5 in het artikel Een Windows-VM maken om het maken van een virtuele machine met één NIC voor te bereiden. Voer stap 6.1 uit en gebruik het volgende in plaats van stap 6.2:

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

    Voer vervolgens de stappen 6.3 tot en met 6.8 voor een Virtuele Windows-machine maken uit.

  5. Voeg een tweede IP-configuratie toe aan elk van de VM's. Volg de instructies in het artikel Meerdere IP-adressen toewijzen aan virtuele machines . Gebruik de volgende configuratie-instellingen:

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

    In deze zelfstudie hoeft u de secundaire IP-configuraties niet te koppelen aan openbare IP-adressen. Bewerk de opdracht om het openbare IP-koppelingsonderdeel te verwijderen.

  6. Voer stap 4 tot en met 6 van dit artikel opnieuw uit voor VM2. Zorg ervoor dat u de naam van de VIRTUELE machine vervangt door VM2 wanneer u dit doet. U hoeft geen virtueel netwerk te maken voor de tweede VIRTUELE machine. U kunt een nieuw subnet maken op basis van uw use-case.

  7. Maak twee openbare IP-adressen en sla deze op in de juiste variabelen, zoals wordt weergegeven:

    $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. Maak twee front-end-IP-configuraties:

    $frontendIP1 = New-AzLoadBalancerFrontendIpConfig -Name contosofe -PublicIpAddress $publicIP1
    $frontendIP2 = New-AzLoadBalancerFrontendIpConfig -Name fabrikamfe -PublicIpAddress $publicIP2
    
  9. Maak uw back-endadresgroepen, een test en uw taakverdelingsregels:

    $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. Zodra u deze resources hebt gemaakt, maakt u de load balancer:

    $mylb = New-AzLoadBalancer -ResourceGroupName contosofabrikam -Name mylb -Location 'West Central US' -FrontendIpConfiguration $frontendIP1 -LoadBalancingRule $lbrule -BackendAddressPool $beAddressPool -Probe $healthProbe
    
  11. Voeg de tweede back-endadresgroep en front-end-IP-configuratie toe aan uw zojuist gemaakte load balancer:

    $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. Met de onderstaande opdrachten haalt u de NIC's op en voegt u vervolgens beide IP-configuraties van elke secundaire NIC toe aan de back-endadresgroep van de load balancer:

    $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. Ten slotte moet u DNS-bronrecords configureren om te verwijzen naar het respectieve front-end-IP-adres van de Load Balancer. U kunt uw domeinen hosten in Azure DNS. Zie Azure DNS gebruiken met andere Azure-services voor meer informatie over het gebruik van Azure DNS met Load Balancer.

Volgende stappen