Configuración de un equilibrador de carga público

Completado

Como arquitecto de soluciones del portal de atención sanitaria, debe distribuir la carga de los exploradores de cliente entre las máquinas virtuales de la granja de servidores web. Tendrá que configurar un equilibrador de carga además de las máquinas virtuales que se van a equilibrar.

Un equilibrador de carga público asigna la dirección IP pública y el número de puerto del tráfico de entrada a la dirección IP privada y el número de puerto de una máquina virtual del grupo de back-end. Las respuestas se devuelven después al cliente. Al aplicar reglas de equilibrio de carga, puede distribuir tipos específicos de tráfico entre varias máquinas virtuales o servicios.

Modos de distribución

De forma predeterminada, Azure Load Balancer distribuye el tráfico de red equitativamente entre varias instancias de máquina virtual. Los modos de distribución siguientes también son posibles si se requiere otro comportamiento:

  • Hash de cinco tuplas: El modo de distribución predeterminado de Load Balancer es un hash de cinco tuplas. La tupla se compone de la IP de origen, el puerto de origen, la IP de destino, el puerto de destino y el tipo de protocolo. Como el puerto de origen se incluye en el hash y cambia para cada sesión, es posible que los clientes se dirijan a una máquina virtual diferente en cada sesión.

    Diagram showing how hash-based distribution works.

  • Afinidad IP de origen: Este modo de distribución también se conoce como afinidad de sesión o afinidad de IP del cliente. Para asignar el tráfico a los servidores disponibles, el modo de afinidad de dirección IP de origen usa un hash de dos tuplas (de la dirección IP de origen y la de destino), o bien uno de tres tuplas (de la dirección IP de origen, la de destino y el tipo de protocolo). El hash garantiza que las solicitudes de un cliente determinado se envían siempre a la misma máquina virtual detrás del equilibrador de carga.

    Diagram showing how session affinity works.

Elección de un modo de distribución

En el ejemplo del portal de atención sanitaria, imagine que un requisito del desarrollador del nivel de presentación es usar sesiones en memoria para almacenar el perfil del usuario que inició sesión mientras interactúa con el portal.

En este escenario, el equilibrador de carga debe proporcionar la afinidad de IP de origen para mantener la sesión de un usuario. El perfil solo se almacena en la máquina virtual a la que se conecta el cliente por primera vez, ya que esa dirección IP se dirige al mismo servidor. Al crear el punto de conexión del equilibrador de carga, debe especificar el modo de distribución siguiendo este ejemplo de PowerShell:

$lb = Get-AzLoadBalancer -Name MyLb -ResourceGroupName MyResourceGroup
$lb.LoadBalancingRules[0].LoadDistribution = 'sourceIp'
Set-AzLoadBalancer -LoadBalancer $lb

Para agregar persistencia de sesión a través de Azure Portal:

  1. En Azure Portal, seleccione el recurso del equilibrador de carga.

  2. En la página Reglas de equilibrio de carga, en el panel Configuración, seleccione la regla de equilibrio de carga correspondiente.

    Screenshot showing how to select a load balancing rule in the Azure portal.

  3. En la página de configuración de reglas de equilibrio de carga, cambie el valor de Persistencia de sesión de Ninguno a IP de cliente.

Screenshot showing how to set IP affinity in the Azure portal.

Load Balancer y Puerta de enlace de Escritorio remoto

Puerta de enlace de Escritorio remoto es un servicio de Windows que se puede usar para que los clientes de Internet realicen conexiones del Protocolo de escritorio remoto (RDP) a través de firewalls con servidores de Escritorio remoto en la red privada. El hash 5-tupla predeterminado de Load Balancer no es compatible con este servicio. Si quiere usar Load Balancer con los servidores de Escritorio remoto, use la afinidad de IP de origen.

Load Balancer y carga de contenido multimedia

Otro caso de uso de la afinidad de IP de origen es la carga de contenido multimedia. En muchas implementaciones, un cliente inicia una sesión a través de un protocolo TCP y se conecta a una dirección IP de destino. Esta conexión permanece abierta durante la carga para supervisar el progreso, pero el archivo se carga a través de un protocolo UDP independiente.

Con el hash de cinco tuplas, es probable que el equilibrador de carga envíe las conexiones TCP y UDP a otras direcciones IP de destino y que la carga no finalice correctamente. Use la afinidad de IP de origen para corregir este problema.