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:
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.
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.
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"
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.
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.
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.
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
Utwórz dwie konfiguracje adresów IP frontonu:
$frontendIP1 = New-AzLoadBalancerFrontendIpConfig -Name contosofe -PublicIpAddress $publicIP1 $frontendIP2 = New-AzLoadBalancerFrontendIpConfig -Name fabrikamfe -PublicIpAddress $publicIP2
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
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
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
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
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
- Dowiedz się więcej na temat łączenia usług równoważenia obciążenia na platformie Azure w temacie Korzystanie z usług równoważenia obciążenia na platformie Azure.
- Dowiedz się, jak używać różnych typów dzienników na platformie Azure do zarządzania modułem równoważenia obciążenia i rozwiązywania problemów z nim w dziennikach usługi Azure Monitor dla usługi Azure Load Balancer.