Udostępnij za pośrednictwem


Równoważenie obciążenia w wielu konfiguracjach adresów IP przy użyciu programu PowerShell

W tym artykule opisano sposób używania usługi Azure Load Balancer z wieloma adresami IP w pomocniczym interfejsie sieciowym. W tym scenariuszu mamy dwie maszyny wirtualne z systemem Windows, z których każda ma podstawową i pomocniczą kartę sieciową. Każda z pomocniczych kart sieciowych ma dwie konfiguracje adresów IP. Każda maszyna wirtualna hostuje zarówno witryny internetowe contoso.com, jak i fabrikam.com. Każda witryna internetowa jest powiązana z jedną z konfiguracji adresów IP na pomocniczej karcie sieciowej. Używamy usługi Azure Load Balancer do uwidaczniania dwóch adresów IP frontonu, po jednym dla każdej witryny internetowej, aby dystrybuować ruch do odpowiedniej konfiguracji adresu IP dla witryny internetowej. W tym scenariuszu jest używany ten sam numer portu dla obu frontonów i adresów IP puli zaplecza.

Kroki równoważenia obciążenia w wielu konfiguracjach adresów IP

Uwaga

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

Wykonaj poniższe kroki, aby osiągnąć scenariusz opisany w tym artykule:

  1. Zainstaluj program Azure PowerShell. Zobacz How to install and configure Azure PowerShell (Jak zainstalować i skonfigurować program Azure PowerShell), aby uzyskać informacje na temat instalowania najnowszej wersji programu Azure PowerShell, wybierania subskrypcji i logowania się do konta.

  2. Utwórz grupę zasobów przy użyciu następujących ustawień:

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

    Aby uzyskać więcej informacji, zobacz Krok 2 tworzenia grupy zasobów.

  3. Utwórz zestaw dostępności zawierający maszyny wirtualne. W tym scenariuszu użyj następującego polecenia:

    New-AzAvailabilitySet -ResourceGroupName "contosofabrikam" -Name "myAvailset" -Location "West Central US"
    
  4. Wykonaj instrukcje od 3 do 5 w artykule Tworzenie maszyny wirtualnej z systemem Windows, aby przygotować tworzenie maszyny wirtualnej z jedną kartą sieciową. Wykonaj krok 6.1 i użyj następującego zamiast kroku 6.2:

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

    Następnie wykonaj kroki tworzenia maszyny wirtualnej z systemem Windows 6.3 do 6.8.

  5. Dodaj drugą konfigurację adresu IP do każdej z maszyn wirtualnych. Postępuj zgodnie z instrukcjami w artykule Przypisywanie wielu adresów IP do maszyn wirtualnych. Użyj następujących ustawień konfiguracji:

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

    W tym samouczku nie trzeba skojarzyć konfiguracji pomocniczych adresów IP z publicznymi adresami IP. Edytuj polecenie , aby usunąć część skojarzenia publicznego adresu IP.

  6. Wykonaj ponownie kroki od 4 do 6 tego artykułu dla maszyny wirtualnej VM2. Pamiętaj, aby zastąpić nazwę maszyny wirtualnej maszyną wirtualną VM2 podczas wykonywania tej czynności. Nie musisz tworzyć sieci wirtualnej dla drugiej maszyny wirtualnej. Możesz utworzyć nową podsieć na podstawie przypadku użycia.

  7. Utwórz dwa publiczne adresy IP i zapisz je w odpowiednich zmiennych, jak pokazano poniżej:

    $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. Utwórz dwie konfiguracje adresów IP frontonu:

    $frontendIP1 = New-AzLoadBalancerFrontendIpConfig -Name contosofe -PublicIpAddress $publicIP1
    $frontendIP2 = New-AzLoadBalancerFrontendIpConfig -Name fabrikamfe -PublicIpAddress $publicIP2
    
  9. Utwórz pule adresów zaplecza, sondę i reguły równoważenia obciążenia:

    $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 utworzeniu tych zasobów utwórz moduł równoważenia obciążenia:

    $mylb = New-AzLoadBalancer -ResourceGroupName contosofabrikam -Name mylb -Location 'West Central US' -FrontendIpConfiguration $frontendIP1 -LoadBalancingRule $lbrule -BackendAddressPool $beAddressPool -Probe $healthProbe
    
  11. Dodaj drugą pulę adresów zaplecza i konfigurację adresu IP frontonu do nowo utworzonego modułu równoważenia obciążenia:

    $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. Poniższe polecenia pobierają karty sieciowe, a następnie dodają obie konfiguracje adresów IP każdej pomocniczej karty sieciowej do puli adresów zaplecza modułu równoważenia obciążenia:

    $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. Na koniec należy skonfigurować rekordy zasobów DNS, aby wskazywały odpowiedni adres IP frontonu modułu równoważenia obciążenia. Domeny można hostować w usłudze Azure DNS. Aby uzyskać więcej informacji na temat korzystania z usługi Azure DNS z usługą Load Balancer, zobacz Używanie usługi Azure DNS z innymi usługami platformy Azure.

Następne kroki