Zarządzanie pulą zasobów zaplecza

Pula serwerów zaplecza jest kluczowym elementem równoważnika obciążenia. Pula zasobów zaplecza definiuje grupę zasobów, które obsługują ruch dla danej reguły równoważenia obciążeń.

Istnieją dwa sposoby konfigurowania puli backend:

  1. Karta sieciowa (NIC)

  2. adres IP

Aby wstępnie przydzielić pulę backendową z zakresem adresów IP zawierającą maszyny wirtualne oraz Virtual Machine Scale Sets, skonfiguruj pulę według adresu IP i identyfikatora sieci wirtualnej. Pule zaplecza oparte na adresach IP wymagają modułu równoważenia obciążenia w warstwie Standard.

Ten artykuł koncentruje się na konfiguracji baz backendowych opartych na IP.

Konfigurowanie puli zaplecza według adresu IP i sieci wirtualnej

W scenariuszach z wcześniej wypełnionymi pulami backendowymi używaj adresów IP i sieci wirtualnej.

Zanim zaczniesz, upewnij się, że masz:

  • Istniejący usługa Load Balancer w warstwie Standardowa i sieć wirtualna.
  • Zasoby zaplecza w tej samej sieci wirtualnej co moduł równoważenia obciążenia.
  • Uprawnienia do tworzenia lub aktualizacji load balancera, interfejsu sieciowego oraz zasobów maszyny wirtualnej.
  • Uwierzytelniona sesja Azure PowerShell lub Azure CLI dla narzędzia, którego używasz.

Zarządzanie pulą zaplecza można skonfigurować na obiekcie puli zaplecza, co pokazują poniższe przykłady.

PowerShell

Utwórz nową pulę zaplecza:

$be = @{
    ResourceGroupName = 'myResourceGroup'
    LoadBalancerName = 'myLoadBalancer'
    Name = 'myBackendPool'
}
$backendPool = New-AzLoadBalancerBackendAddressPool @be

Zaktualizuj pulę zaplecza przy użyciu nowego adresu IP z istniejącej sieci wirtualnej:

$vnet = @{
    Name = 'myVnet'
    ResourceGroupName = 'myResourceGroup'
}
$virtualNetwork = Get-AzVirtualNetwork @vnet

$add1 = @{
    IpAddress = '10.0.0.5'
    Name = 'TestVNetRef'
    VirtualNetworkId = $virtualNetwork.Id
}
$ip1 = New-AzLoadBalancerBackendAddressConfig @add1
 
$backendPool.LoadBalancerBackendAddresses.Add($ip1) 

Set-AzLoadBalancerBackendAddressPool -InputObject $backendPool

Pobierz informacje o puli serwerów zaplecza dla modułu równoważenia obciążenia, aby upewnić się, że adresy serwerów zaplecza są dodawane do puli serwerów zaplecza.

$pool = @{
    ResourceGroupName = 'myResourceGroup'
    LoadBalancerName = 'myLoadBalancer'
    Name = 'myBackendPool'
}
Get-AzLoadBalancerBackendAddressPool @pool

Utwórz interfejs sieciowy i dodaj go do puli serwerów zaplecza. Ustaw adres IP na jeden z adresów zaplecza:

$net = @{
    Name = 'myNic'
    ResourceGroupName = 'myResourceGroup'
    Location = 'eastus'
    PrivateIpAddress = '10.0.0.5'
    Subnet = $virtualNetwork.Subnets[0]
}
$nic = New-AzNetworkInterface @net

Utwórz maszynę wirtualną i dołącz kartę sieciową (NIC) z przypisanym adresem IP w puli zaplecza.

# Create a username and password for the virtual machine
$cred = Get-Credential

# Create a virtual machine configuration
$net = @{
    Name = 'myNic'
    ResourceGroupName = 'myResourceGroup'
}
$nic = Get-AzNetworkInterface @net

$vmc = @{
    VMName = 'myVM1'
    VMSize = 'Standard_DS1_v2'
}

$vmos = @{
    ComputerName = 'myVM1'
    Credential = $cred
}

$vmi = @{
    PublisherName = 'MicrosoftWindowsServer'
    Offer = 'WindowsServer'
    Skus = '2019-Datacenter'
    Version = 'latest'
}
$vmConfig = 
New-AzVMConfig @vmc | Set-AzVMOperatingSystem -Windows @vmos | Set-AzVMSourceImage @vmi | Add-AzVMNetworkInterface -Id $nic.Id


# Create a virtual machine using the configuration
$vm = @{
    ResourceGroupName = 'myResourceGroup'
    Zone = '1'
    Location = 'eastus'
    VM = $vmConfig

}
$vm1 = New-AzVM @vm

CLI

Korzystając z Azure CLI, możesz wypełnić pulę backendową opartą na IP za pomocą parametrów wiersza poleceń lub pliku konfiguracyjnego JSON.

Utwórz pulę zaplecza opartą na adresach IP za pomocą interfejsu wiersza polecenia platformy Azure

Utwórz i wypełnij pulę zaplecza za pomocą parametrów wiersza polecenia:

az network lb address-pool create \
--resource-group myResourceGroup \
--lb-name myLB \
--name myBackendPool \
--vnet {VNET resource ID} \
--backend-address name=addr1 ip-address=10.0.0.4 \
--backend-address name=addr2 ip-address=10.0.0.5

Utwórz i wypełnij pulę zaplecza za pomocą pliku konfiguracji JSON:

az network lb address-pool create \
--resource-group myResourceGroup \
--lb-name myLB \
--name myBackendPool \
--vnet {VNET resource ID} \
--backend-address-config-file @config_file.json

Plik konfiguracji JSON:

        [
          {
            "name": "address1",
            "virtualNetwork": "/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.Network/virtualNetworks/{vnet-name}",
            "ipAddress": "10.0.0.4"
          },
          {
            "name": "address2",
            "virtualNetwork": "/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.Network/virtualNetworks/{vnet-name}",
            "ipAddress": "10.0.0.5"
          }
        ]

Zweryfikuj adresy zaplecza za pomocą interfejsu wiersza polecenia platformy Azure

Pobierz informacje o puli serwerów zaplecza dla modułu równoważenia obciążenia, aby upewnić się, że adresy serwerów zaplecza są dodawane do puli serwerów zaplecza.

az network lb address-pool show \
--resource-group myResourceGroup \
--lb-name MyLb \
--name MyBackendPool

Stwórz interfejs sieciowy z Azure CLI

Utwórz interfejs sieciowy i dodaj go do puli serwerów zaplecza. Ustaw adres IP na jeden z adresów zaplecza:

az network nic create \
  --resource-group myResourceGroup \
  --name myNic \
  --vnet-name myVnet \
  --subnet mySubnet \
  --network-security-group myNetworkSecurityGroup \
  --lb-name myLB \
  --private-ip-address 10.0.0.4

Tworzenie maszyny wirtualnej przy użyciu interfejsu wiersza polecenia platformy Azure

Utwórz maszynę wirtualną i dołącz kartę sieciową (NIC) z przypisanym adresem IP w puli zaplecza.

az vm create \
  --resource-group myResourceGroup \
  --name myVM \
  --nics myNic \
  --image Ubuntu2204 \
  --admin-username azureuser \
  --generate-ssh-keys

Ograniczenia dla backendowych pul opartych na IP

  • Możesz używać tylko backendowych pul opartych na IP ze standardowymi load balancerami.
  • Zasoby backendowe muszą znajdować się w tej samej wirtualnej sieci co load balancer.
  • Instancje backendu w puli backendowej opartej na IP muszą być maszynami wirtualnymi lub zestawami skalowanymi maszyn wirtualnych. Nie możesz dołączać innych usług PaaS.
  • Moduł równoważenia obciążenia z pulą zaplecza opartą na adresach IP nie może pełnić funkcji usługi Private Link.
  • Nie można umieścić zasobów prywatnego punktu końcowego w puli zaplecza opartej na adresach IP.
  • Pule backendowe oparte na IP nie obsługują kontenerów ACI.
  • Moduły równoważenia obciążenia lub usługi, takie jak Application Gateway, nie mogą być umieszczane w puli zaplecza modułu równoważenia obciążenia.
  • Reguły NAT przychodzące nie mogą być określone według adresu IP.
  • Możesz skonfigurować zarówno pule zaplecza oparte na adresach IP, jak i pule zaplecza oparte na kartach sieciowych dla tego samego modułu równoważenia obciążenia. Nie możesz stworzyć jednej puli backendowej, która łączy adresy backendowe targetowane przez NIC i adres IP w ramach tej samej puli.
  • Maszyna wirtualna w tej samej sieci wirtualnej co wewnętrzny moduł równoważenia obciążenia nie może jednocześnie uzyskać dostępu do interfejsu frontowego ILB i maszyn wirtualnych w zapleczu.
  • Adresy IP preferencji routingu internetowego nie są obecnie obsługiwane w pulach zaplecza opartych na adresach IP. Jeśli używasz adresów IP z preferencją routingu internetowego w pulach zaplecza opartych na adresach IP, te adresy IP są rozliczane i kierowane przez domyślną globalną sieć firmy Microsoft.
  • Wykonywanie operacji związanych z ruchami na VNET-ach podłączonych do pul backendowych opartych na IP nie jest obsługiwane.
  • Jeśli pule zaplecza stale się zmieniają (z powodu stałego dodawania lub usuwania zasobów zaplecza). Może to spowodować wysyłanie sygnałów resetu z powrotem do źródła z zaplecza technicznego. Aby obejść ten problem, można użyć ponownych prób.

Important

Pula backendowa oparta na IP nadal wymaga usługa Load Balancer w warstwie Standardowa. Domyślne zachowanie wychodzące przypomina zachowanie Basic Load Balancer, ponieważ domyślny dostęp wychodzący jest włączony. To stwierdzenie nie oznacza, że Basic Load Balancer obsługuje pule backendowe oparte na IP. Aby uzyskać konfigurację domyślnie bezpieczną oraz obsłużyć aplikacje o wysokich wymaganiach dotyczących ruchu wychodzącego, skonfiguruj pulę zaplecza na poziomie karty sieciowej (NIC).

Dalsze kroki

W tym artykule przedstawiono informacje na temat zarządzania pulą zaplecza usługi Azure Load Balancer oraz sposobu konfigurowania puli zaplecza według adresu IP i sieci wirtualnej.

Dowiedz się więcej o usłudze Azure Load Balancer.

Przejrzyj API REST do zarządzania pulą backendową opartą na IP.