Dela via


Backend pool management

The backend pool is a critical component of the load balancer. Serverdelspoolen definierar den grupp av resurser som hanterar trafik för en viss belastningsutjämningsregel.

Det finns två sätt att konfigurera en serverdelspool:

  • Nätverkskort (NIC)

  • IP-adress

Om du vill förallokera en serverdelspool med ett IP-adressintervall som ska innehålla virtuella datorer och vm-skalningsuppsättningar konfigurerar du poolen efter IP-adress och virtuellt nätverks-ID. Den här artikeln fokuserar på konfiguration av serverdelspooler efter IP-adresser.

Konfigurera serverdelspool efter IP-adress och virtuellt nätverk

In scenarios with pre-populated backend pools, use IP and virtual network.

Du konfigurerar hantering av serverdelspooler på serverdelspoolobjektet enligt markering i följande exempel.

PowerShell

Skapa en ny back-end-pool:

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

Uppdatera serverdelspoolen med en ny IP-adress från ett befintligt virtuellt nätverk:

$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

Hämta information om serverdelspoolen för lastbalanseraren för att bekräfta att serverdelsadresserna läggs till i serverdelspoolen:

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

Skapa ett nätverksgränssnitt och lägg till det i serverdelspoolen. Ange IP-adressen till en av backend-adresserna:

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

Skapa en virtuell dator och koppla nätverkskortet med en IP-adress i serverdelspoolen:

# 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

Med CLI kan du antingen fylla i serverdelspoolen via kommandoradsparametrar eller via en JSON-konfigurationsfil.

Skapa och fyll i serverdelspoolen via kommandoradsparametrarna:

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

Skapa och fyll i serverdelspoolen via JSON-konfigurationsfilen:

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

JSON-konfigurationsfil:

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

Hämta information om serverdelspoolen för lastbalanseraren för att bekräfta att serverdelsadresserna läggs till i serverdelspoolen:

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

Skapa ett nätverksgränssnitt och lägg till det i serverdelspoolen. Ange IP-adressen till en av backend-adresserna:

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

Skapa en virtuell dator och koppla nätverkskortet med en IP-adress i serverdelspoolen:

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

Begränsningar

  • IP-baserade backend-tjänster kan endast användas för Standard Load Balancers
  • Serverdelsresurserna måste finnas i samma virtuella nätverk som lastbalanseraren för IP-baserade LBs.
  • IP-based load balancers backend instances must still be virtual machines or virtual machine scale sets. Det går inte att koppla andra PaaS-tjänster till serverdelspoolen för en IP-baserad lastbalanserare.
  • En lastbalanserare med IP-baserad serverdelspool kan inte fungera som en Private Link-tjänst
  • Privata slutpunktsresurser kan inte placeras i en IP-baserad serverdelspool
  • IP-baserade lastbalanserare stöder inte ACI-containrar
  • Lastbalanserare eller tjänster som Application Gateway kan inte placeras i lastbalanserarens serverdelspool
  • Inkommande NAT-regler kan inte anges av IP-adress
  • Du kan konfigurera IP-baserade och NIC-baserade serverdelspooler för samma lastbalanserare. You can’t create a single backend pool that mixes backed addresses targeted by NIC and IP addresses within the same pool.
  • En virtuell dator i samma virtuella nätverk som en intern lastbalanserare kan inte komma åt klientdelen för ILB och dess virtuella serverdelsdatorer samtidigt.
  • Ip-adresser för Internetroutningsinställningar stöds för närvarande inte med IP-baserade serverdelspooler. Any Internet routing preference IPs in IP based backend pools will be billed and routed via the default Microsoft global network.
  • Om serverdelspooler ständigt ändras (på grund av konstant tillägg eller borttagning av serverdelsresurser). This may cause reset signals sent back to the source from the backend resource. Som en lösning kan du använda återförsök.

Viktigt!

När en backend-pool konfigureras med en IP-adress fungerar den som en Basic Load Balancer med standardutgående trafik aktiverad. For secure by default configuration and applications with demanding outbound needs, configure the backend pool by NIC.

Nästa steg

I den här artikeln har du lärt dig om hantering av Azure Load Balancer-serverdelspooler och hur du konfigurerar en serverdelspool efter IP-adress och virtuellt nätverk.

Läs mer om Azure Load Balancer.

Granska REST-API:et för IP-baserad hantering av serverdelspooler.