Administración de grupos de back-end

El grupo de back-end es un componente esencial del equilibrador de carga. El grupo de back-end define el grupo de recursos que sirven tráfico para una regla de equilibrio de carga determinada.

Hay dos formas de configurar un grupo de back-end:

  1. Tarjeta de interfaz de red (NIC)

  2. IP address

Para preasignar un pool backend con un rango de direcciones IP que contenga máquinas virtuales y Virtual Machine Scale Sets, configura el pool por dirección IP e ID de red virtual. Los pools de backend basados en IP requieren un Standard Load Balancer.

Este artículo se centra en la configuración de grupos de back-end basados en IP.

Configuración del grupo de back-end por dirección IP y red virtual

En escenarios con grupos de back-end rellenados previamente, usa direcciones IP y una red virtual.

Antes de comenzar, asegúrese de que dispone de:

  • Un Standard Load Balancer existente y una red virtual.
  • Recursos de backend en la misma red virtual que el balanceador de carga.
  • Permiso para crear o actualizar balanceadores de carga, interfaz de red y recursos de máquinas virtuales.
  • Una sesión autenticada de Azure PowerShell o CLI de Azure para la herramienta que uses.

La administración del grupo de back-end se configura en el objeto de grupo de back-end, como se muestra en los ejemplos siguientes.

PowerShell

Cree un grupo de back-end:

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

Actualice el grupo de back-end con una nueva dirección IP de la red virtual existente:

$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

Recupere la información del grupo de back-end del equilibrador de carga para confirmar que las direcciones de back-end se agregan al grupo de back-end:

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

Cree una interfaz de red y agréguela al grupo de back-end. Establezca la dirección IP en una de las direcciones de back-end:

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

Cree una máquina virtual y conecte la NIC con una dirección IP en el grupo de back-end:

# 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

Usando CLI de Azure, puedes llenar el pool de backend basado en IP mediante parámetros de línea de comandos o un archivo de configuración JSON.

Crea un pool backend basado en IP con CLI de Azure

Cree y rellene el grupo de back-end mediante parámetros de la línea de comandos:

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

Cree y rellene el grupo de back-end mediante el archivo de configuración de 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

Archivo de configuración de 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"
          }
        ]

Comprobar las direcciones del back-end con CLI de Azure

Recupere la información del grupo de back-end del equilibrador de carga para confirmar que las direcciones de back-end se agregan al grupo de back-end:

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

Crea una interfaz de red con CLI de Azure

Cree una interfaz de red y agréguela al grupo de back-end. Establezca la dirección IP en una de las direcciones de back-end:

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

Crear una máquina virtual con CLI de Azure

Cree una máquina virtual y conecte la NIC con una dirección IP en el grupo de back-end:

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

Limitaciones para pools de backend basados en IP

  • Solo puedes usar pools de backend basados en IP con balanceadores de carga estándar.
  • Los recursos del backend deben estar en la misma red virtual que el balanceador de carga.
  • Las instancias de backend de un grupo de backend basado en IP deben ser máquinas virtuales o conjuntos de máquinas virtuales a escala. No puedes vincular otros servicios PaaS.
  • Un equilibrador de carga con un grupo de back-end basado en IP no puede actuar como un servicio Private Link.
  • No puedes colocar recursos de endpoint privados en un pool de backend basado en IP.
  • Los pools de backend basados en IP no soportan contenedores ACI.
  • Los balanceadores de carga o servicios como Application Gateway no pueden colocarse en el pool backend del balanceador de carga.
  • Las reglas de NAT entrantes no pueden especificarse por dirección IP.
  • Puedes configurar pools backend basados tanto en IP como en NIC para el mismo balanceador de carga. No es posible crear un único grupo de servidores backend que combine direcciones de servidores backend a las que apunta la tarjeta de red y direcciones IP dentro del mismo grupo.
  • Una máquina virtual de la misma red virtual que un equilibrador de carga interno no puede acceder simultáneamente al front-end del equilibrador de carga interno y a sus máquinas virtuales de back-end.
  • Actualmente, las direcciones IP de preferencia de enrutamiento en Internet no son compatibles con los grupos de servidores de fondo basados en IP. Si utiliza direcciones IP de preferencia de enrutamiento de Internet en grupos de servidores de fondo basados en IP, estas se facturan y se enrutan a través de la red global predeterminada de Microsoft.
  • No se admite la realización de operaciones relacionadas con el traslado en redes virtuales (VNET) conectadas a grupos de servidores de fondo basados en IP.
  • Si los grupos de back-end cambian constantemente (debido a la adición o eliminación constantes de recursos de back-end). Esto puede provocar que las señales de restablecimiento se devuelvan al origen desde el recurso back-end. Como solución alternativa, puede usar reintentos.

Important

Un pool backend basado en IP sigue requiriendo un Standard Load Balancer. Su comportamiento saliente predeterminado se asemeja al comportamiento del Load Balancer Básico porque el acceso saliente por defecto está habilitado. Esta afirmación no significa que Basic Load Balancer soporte pools de backend basados en IP. Para proteger de forma predeterminada la configuración y las aplicaciones con necesidades de salida exigentes, configure el grupo de back-end mediante NIC.

Pasos siguientes

En este artículo, ha conocido la administración de grupos de back-end de Azure Load Balancer y ha aprendido a configurar un grupo de back-end mediante una combinación de dirección IP y red virtual.

Más información sobre Azure Load Balancer.

Revisa la API REST para la gestión de pools backend basada en IP.