Zarządzanie pulą zaplecza

Pula zaplecza jest krytycznym składnikiem modułu równoważenia obciążenia. Pula zaplecza definiuje grupę zasobów, które będą obsługiwać ruch dla danej reguły równoważenia obciążenia.

Istnieją dwa sposoby konfigurowania puli zaplecza:

  • Karta sieciowa (NIC)

  • Adres IP

Aby wstępnie przydzielić pulę zaplecza z zakresem adresów IP, który później będzie zawierać maszyny wirtualne i Virtual Machine Scale Sets, skonfiguruj pulę według adresu IP i identyfikatora sieci wirtualnej. Ten artykuł koncentruje się na konfiguracji pul zaplecza według adresów IP.

Konfigurowanie puli zaplecza według adresu IP i sieci wirtualnej

W scenariuszach ze wstępnie wypełnionymi pulami zaplecza użyj adresu IP i sieci wirtualnej.

W poniższych przykładach skonfigurujesz zarządzanie pulą zaplecza w obiekcie puli zaplecza.

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 zaplecza dla modułu równoważenia obciążenia, aby potwierdzić, że adresy zaplecza są dodawane do puli zaplecza:

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

Utwórz interfejs sieciowy i dodaj go do puli 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ą z 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

Interfejs wiersza polecenia

Za pomocą interfejsu wiersza polecenia można wypełnić pulę zaplecza za pomocą parametrów wiersza polecenia lub pliku konfiguracji JSON.

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"
          }
        ]

Pobierz informacje o puli zaplecza dla modułu równoważenia obciążenia, aby potwierdzić, że adresy zaplecza są dodawane do puli zaplecza:

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

Utwórz interfejs sieciowy i dodaj go do puli 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

Utwórz maszynę wirtualną i dołącz kartę sieciową z adresem IP w puli zaplecza:

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

Ograniczenia

  • Zaplecza oparte na adresach IP mogą być używane tylko dla usługi Load Balancers w warstwie Standardowa
  • Zasoby zaplecza muszą znajdować się w tej samej sieci wirtualnej co moduł równoważenia obciążenia dla baz danych LB opartych na adresach IP
  • Moduł równoważenia obciążenia z pulą zaplecza opartą na adresach IP nie może działać jako usługa Private Link
  • Nie można umieścić zasobów prywatnego punktu końcowego w puli zaplecza opartej na adresach IP
  • Kontenery ACI nie są obecnie obsługiwane przez LB oparte na adresach IP
  • Moduły równoważenia obciążenia lub usługi, takie jak Application Gateway, nie można umieścić w puli zaplecza modułu równoważenia obciążenia
  • Nie można określić reguł NAT dla ruchu przychodzącego według adresu IP
  • Możesz skonfigurować pule zaplecza oparte na adresach IP i karty sieciowej dla tego samego modułu równoważenia obciążenia. Nie można utworzyć pojedynczej puli zaplecza, która łączy adresy obsługiwane przez kartę sieciową i adresy IP w 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 frontonu wewnętrznego modułu równoważenia obciążenia i maszyn wirtualnych zaplecza.
  • Adresy IP preferencji routingu internetowego nie są obecnie obsługiwane w pulach zaplecza opartych na adresach IP. Wszystkie adresy IP preferencji routingu internetowego w pulach zaplecza oparte na adresach IP będą rozliczane i kierowane za pośrednictwem domyślnej sieci globalnej firmy Microsoft.
  • Jeśli pule zaplecza stale się zmieniają (ze względu na stałe dodawanie lub usuwanie zasobów zaplecza). Może to spowodować zresetowanie sygnałów wysyłanych z powrotem do źródła z zasobu zaplecza. Aby obejść ten problem, możesz użyć ponownych prób.

Ważne

Po skonfigurowaniu puli zaplecza przez adres IP będzie ona zachowywać się jako Load Balancer podstawowa z włączonym domyślnym wychodzącym. Aby zapewnić bezpieczeństwo domyślnie konfiguracji i aplikacji z wymagającymi potrzebami ruchu wychodzącego, skonfiguruj pulę zaplecza według karty sieciowej.

Następne kroki

W tym artykule przedstawiono informacje o Azure Load Balancer zarządzaniu pulą zaplecza i sposobie konfigurowania puli zaplecza według adresu IP i sieci wirtualnej.

Dowiedz się więcej o Azure Load Balancer.

Zapoznaj się z interfejsem API REST na potrzeby zarządzania pulą zaplecza opartą na adresach IP.