Beheer van back-endpools

De back-endpool is een essentieel onderdeel van de load balancer. Met de back-endpool wordt de groep resources gedefinieerd die het verkeer verwerken voor een bepaalde taakverdelingsregel.

Er zijn twee manieren om een back-endpool te configureren:

  • NIC (netwerkinterfacekaart)

  • IP-adres

Als u een back-endpool vooraf wilt toewijzen met een IP-adresbereik dat later virtuele machines en Virtual Machine Scale Sets bevat, configureert u de groep op IP-adres en virtuele netwerk-id. Dit artikel is gericht op de configuratie van back-endpools op IP-adressen.

De back-endpool configureren op basis van IP-adres en virtueel netwerk

Gebruik het IP-adres en virtueel netwerk in scenario's met vooraf gevulde back-endpools.

U configureert back-endpoolbeheer voor het back-endpoolobject, zoals gemarkeerd in de volgende voorbeelden.

PowerShell

Maak een nieuwe back-endpool:

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

Werk de back-endpool bij met een nieuw IP-adres uit het bestaand virtueel netwerk:

$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

Haal de gegevens van de back-endpool op voor de load balancer om te bevestigen dat de back-endadressen zijn toegevoegd aan de back-endpool:

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

Maak een netwerkinterface en voeg deze toe aan de back-endpool. Stel het IP-adres in op een van de back-endadressen:

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

Maak een VM en koppel de NIC met een IP-adres in de back-endpool:

# 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

Met CLI kunt u de back-endpool vullen via opdrachtregelparameters of via een JSON-configuratiebestand.

De back-endpool maken en vullen via de opdrachtregelparameters:

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

De back-endpool maken en vullen via het JSON-configuratiebestand:

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-configuratiebestand:

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

Haal de gegevens van de back-endpool op voor de load balancer om te bevestigen dat de back-endadressen zijn toegevoegd aan de back-endpool:

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

Maak een netwerkinterface en voeg deze toe aan de back-endpool. Stel het IP-adres in op een van de back-endadressen:

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

Maak een VM en koppel de NIC met een IP-adres in de back-endpool:

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

Beperkingen

  • Back-ends op basis van IP kunnen alleen worden gebruikt voor Standard Load Balancers
  • De back-endresources moeten zich in hetzelfde virtuele netwerk bevinden als de load balancer voor IP-gebaseerde LBs
  • Een load balancer met back-endpool op basis van IP kan niet functioneren als een Private Link-service
  • Privé-eindpuntresources kunnen niet in een back-endpool op basis van IP worden geplaatst
  • ACI-containers worden momenteel niet ondersteund door OP IP gebaseerde LBs
  • Load balancers of services zoals Application Gateway kunnen niet in de back-endpool van de load balancer worden geplaatst
  • Inkomende NAT-regels kunnen niet worden opgegeven door ip-adres
  • U kunt back-endpools op basis van IP en NIC configureren voor dezelfde load balancer. U kunt geen enkele back-endpool maken die back-upadressen combineert waarop een NIC is gericht en IP-adressen binnen dezelfde pool.
  • Een virtuele machine in hetzelfde virtuele netwerk als een interne load balancer heeft geen toegang tot de front-end van de ILB en de bijbehorende back-end-VM's tegelijk.
  • IP-adressen voor internetrouteringsvoorkeur worden momenteel niet ondersteund met back-endpools op basis van IP. Ip-adressen voor internetrouteringsvoorkeur in ip-gebaseerde back-endpools worden gefactureerd en doorgestuurd via het wereldwijde standaardnetwerk van Microsoft.
  • Als back-endpools voortdurend veranderen (vanwege de constante toevoeging of verwijdering van back-endresources). Dit kan ertoe leiden dat resetsignalen vanuit de back-endresource worden teruggestuurd naar de bron. Als tijdelijke oplossing kunt u nieuwe pogingen gebruiken.

Belangrijk

Wanneer een back-endpool is geconfigureerd per IP-adres, gedraagt deze zich als een Basic-Load Balancer met standaard uitgaand verkeer ingeschakeld. Voor een veilige standaardconfiguratie en toepassingen met veeleisende uitgaande behoeften configureert u de back-endpool per NIC.

Volgende stappen

In dit artikel hebt u informatie gekregen over het beheer van back-endpools in Azure Load Balancer en over hoe u een back-endpool kunt configureren op basis van het IP-adres en virtuele netwerk.

Meer informatie over Azure Load Balancer.

Bekijk de REST API voor back-endpoolbeheer op basis van IP.