Dela via


Hantering av serverdelspooler

Serverdelspoolen är en viktig komponent i lastbalanseraren. 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

I scenarier med förifyllda serverdelspooler använder du IP och virtuellt nätverk.

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

PowerShell

Skapa en ny serverdelspool:

$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 serverdelsadresserna:

$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 serverdelsadresserna:

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 serverdelar kan endast användas för Standard Load Balancers
  • Serverdelsresurserna måste finnas i samma virtuella nätverk som lastbalanseraren för IP-baserade ip-adresser
  • IP-baserade lastbalanserares serverdelsinstanser måste fortfarande vara virtuella datorer eller VM-skalningsuppsättningar. 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. Du kan inte skapa en enda serverdelspool som blandar säkerhetskopierade adresser som mål för nätverkskort och IP-adresser i samma 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. Ip-adresser för Internetroutningsinställningar i IP-baserade serverdelspooler debiteras och dirigeras via microsofts globala standardnätverk.
  • Om serverdelspooler ständigt ändras (på grund av konstant tillägg eller borttagning av serverdelsresurser). Detta kan orsaka återställningssignaler som skickas tillbaka till källan från serverdelsresursen. Som en lösning kan du använda återförsök.

Viktigt!

När en serverdelspool konfigureras av IP-adress fungerar den som en grundläggande lastbalanserare med standardutgående aktiverad. För säker som standardkonfiguration och program med krävande utgående behov konfigurerar du serverdelspoolen med nätverkskort.

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.