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:

  • Tarjeta de interfaz de red (NIC)

  • Dirección IP

Para asignar previamente un grupo de back-end con un intervalo de direcciones IP que 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
  • Las instancias de back-end de equilibradores de carga basados en IP deben seguir siendo máquinas virtuales o conjuntos de escalado de máquinas virtuales. No se admite la asociación de otros servicios PaaS al grupo de back-end de un equilibrador de carga basado 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 equilibradores de carga basados en IP no admiten contenedores de ACI
  • 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.