Administración de grupos de back-end

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

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

  • Tarjeta de interfaz de red (NIC)

  • Dirección IP

Para asignar previamente un grupo de back-end con un intervalo de direcciones IP que más adelante contendrá máquinas virtuales y Virtual Machine Scale Sets, configure el grupo por dirección IP e identificador de red virtual. Este artículo se centra en la configuración de grupos de back-end por direcciones IP.

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

En escenarios con grupos de back-end rellenados previamente, use dirección IP y red virtual.

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 nuevo 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

Con la CLI puede rellenar el grupo de back-end mediante parámetros de la línea de comandos o mediante un archivo de configuración de JSON.

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

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

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

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

  • Solo se pueden usar back-end basados en IP para instancias de Standard Load Balancer
  • Los recursos de back-end deben estar en la misma red virtual que el equilibrador de carga para equilibradores de carga basados en IP
  • Un equilibrador de carga con un grupo de back-end basado en IP no puede funcionar como un servicio de vínculos privados.
  • Los recursos de punto de conexión privado no se pueden colocar en un grupo de back-end basado en IP
  • Los contenedores de ACI no se admiten actualmente en los equilibradores de carga basados en IP.
  • Los equilibradores de carga o servicios como Application Gateway no se pueden colocar en el grupo de back-end del equilibrador de carga.
  • No se pueden especificar reglas NAT de entrada con la dirección IP.
  • Puede configurar grupos de back-end basados en IP y en NIC para el mismo equilibrador de carga. No se puede crear un único grupo de back-end que combine direcciones de back-end que sean el destino de NIC y direcciones IP en el 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 IP de preferencia de enrutamiento de Internet no son compatibles con los grupos de back-end basados en IP. Cualquier IP de preferencia de enrutamiento de Internet en grupos de back-end basados en IP se facturará y enrutará a través de la red global predeterminada de Microsoft.
  • 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.

Importante

Cuando un grupo de back-end se configure mediante una dirección IP, se comportará como un equilibrador de carga básico con la salida predeterminada habilitada. 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.

Consulte la documentación de la API REST para obtener información sobre la administración de grupos de back-end basados en IP.