ADC

Cómo funciona el equilibrio de carga

En una configuración básica de equilibrio de carga, los clientes envían sus solicitudes a la dirección IP de un servidor virtual configurado en el dispositivo NetScaler. El servidor virtual los distribuye a los servidores de aplicaciones con equilibrio de carga según un patrón preestablecido, denominado algoritmo de equilibrio de carga. A veces, puede que desee asignar al servidor virtual de equilibrio de carga una dirección comodín en lugar de una dirección IP específica. Para obtener instrucciones acerca de cómo especificar un puerto HTTP global en el dispositivo, consulte Puertos HTTP globales.

Conceptos básicos del equilibrio de carga

Una configuración de equilibrio de carga incluye un servidor virtual de equilibrio de carga y varios servidores de aplicaciones con equilibrio de carga. El servidor virtual recibe las solicitudes de los clientes entrantes, utiliza el algoritmo de equilibrio de carga para seleccionar un servidor de aplicaciones y reenvía las solicitudes al servidor de aplicaciones seleccionado. El siguiente dibujo conceptual ilustra una implementación típica de equilibrio de carga. Otra variación consiste en asignar un puerto HTTP global.

Figura 1. Arquitectura de equilibrio de carga

Arquitectura de equilibrio de carga

El servidor virtual de equilibrio de carga puede utilizar varios algoritmos (o métodos) para determinar cómo distribuir la carga entre los servidores equilibrados de carga que administra. El método de equilibrio de carga predeterminado es el método de menor conexión, en el que el dispositivo NetScaler reenvía cada conexión de cliente entrante al servidor de aplicaciones con equilibrio de carga que tenga actualmente menos conexiones de usuario activas.

Las entidades que se configuran en una configuración típica de equilibrio de carga de NetScaler son:

  • Servidor virtual de equilibrio de carga. La combinación de dirección IP, puerto y protocolo a la que un cliente envía las solicitudes de conexión para un sitio web o una aplicación con equilibrio de carga determinado. Si la aplicación es accesible desde Internet, la dirección IP del servidor virtual (VIP) es una dirección IP pública. Si solo se puede acceder a la aplicación desde la LAN o la WAN, el VIP suele ser una dirección IP privada (ICANN no enrutable).
  • Servicio. La combinación de dirección IP, puerto y protocolo que se utiliza para enrutar las solicitudes a un servidor de aplicaciones con equilibrio de carga específico. Un servicio puede ser una representación lógica del propio servidor de aplicaciones o de una aplicación que se ejecuta en un servidor que aloja varias aplicaciones. Tras crear un servicio, lo vincula a un servidor virtual de equilibrio de carga.
  • Objeto de servidor. Entidad virtual que permite asignar un nombre a un servidor físico en lugar de identificarlo por su dirección IP. Si crea un objeto de servidor, puede especificar su nombre en lugar de la dirección IP del servidor al crear un servicio. De lo contrario, debe especificar la dirección IP del servidor al crear un servicio y la dirección IP pasará a ser el nombre del servidor.
  • Supervisar. Entidad del dispositivo NetScaler que rastrea un servicio y garantiza que funcione correctamente. El monitor examina periódicamente (o realiza una comprobación de estado de) cada servicio al que se asigna. Si el servicio no responde dentro del tiempo especificado en el tiempo de espera y fallan un número específico de comprobaciones de estado, ese servicio se marcará como INACTIVO. A continuación, el dispositivo NetScaler omite ese servicio al realizar el equilibrio de carga, hasta que se solucionen los problemas que hacían que el servicio dejara de responder.

El servidor virtual, los servicios y los servidores de aplicaciones con equilibrio de carga de una configuración de equilibrio de carga pueden utilizar direcciones IP del Protocolo de Internet versión 4 (IPv4) o del Protocolo de Internet versión 6 (IPv6). Puede combinar direcciones IPv4 e IPv6 en una única configuración de equilibrio de carga.

Para ver las variaciones en la configuración del equilibrio de carga, consulte los siguientes casos de uso:

Comprender la topología

En una configuración de equilibrio de carga, el servidor de equilibrio de carga se ubica de forma lógica entre el cliente y la granja de servidores y administra el flujo de tráfico a los servidores de la granja de servidores. En el dispositivo NetScaler, los servidores de aplicaciones están representados por entidades virtuales denominadas servicios. El siguiente diagrama muestra la topología de una configuración básica de equilibrio de carga.

Figura 2. Topología básica de equilibrio de carga

Topología de equilibrio de carga

En el diagrama, el equilibrio de carga se utiliza para administrar el flujo de tráfico a los servidores. El servidor virtual selecciona el servicio y lo asigna para atender las solicitudes de los clientes. Considere un caso en el que los servicios Service-HTTP-1 y Service-HTTP-2 se crean y enlazan al servidor virtual denominado vServer-LB-1. vServer-LB-1 reenvía la solicitud del cliente a Service-HTTP-1 o Service-HTTP-2. El dispositivo NetScaler utiliza el método de equilibrio de carga de menor conexión para seleccionar el servicio para cada solicitud. La siguiente tabla muestra los nombres y valores de las entidades básicas que se deben configurar en el dispositivo.

Entidad Name Dirección IP Puerto Protocolo
Servidor virtual Vserver-LB-1 10.102.29.60 80 HTTP
Servicios Service-HTTP-1 10.102.29.5 80 HTTP
Service-HTTP-2 10.102.29.6 80
Monitores Valor predeterminado Nada Nada Nada

El siguiente diagrama muestra los valores de muestra del equilibrio de carga y los parámetros obligatorios que se describen en la tabla anterior.

Figura 3. Modelo de entidad de equilibrio de carga

Modelo de entidad de equilibrio de carga

Uso de comodines en lugar de direcciones IP y puertos

En ocasiones, es posible que tenga que utilizar un comodín para la dirección IP o el puerto de un servidor virtual o para el puerto de un servicio. Los casos siguientes podrían requerir el uso de un comodín:

  • Si el dispositivo NetScaler está configurado como un paso transparente, el cual debe aceptar todo el tráfico que se le envíe independientemente de la IP o el puerto al que se envíe.
  • Si uno o más servicios escuchan en puertos que no se conocen bien.
  • Si uno o más servicios, con el tiempo, cambian los puertos en los que escuchan.
  • Si alcanza el límite de direcciones IP y puertos que puede configurar en un único dispositivo NetScaler.
  • Si quiere crear servidores virtuales que escuchen todo el tráfico en una LAN virtual específica.

Cuando un servidor virtual o servicio configurado con comodín recibe tráfico, el dispositivo NetScaler determina la dirección IP o el puerto reales y crea registros para el servicio y el servidor de aplicaciones equilibrado de carga asociado. Estos registros creados dinámicamente se denominan registros de servidor y servicio aprendidos dinámicamente.

Por ejemplo, una configuración de equilibrio de carga de firewall puede usar caracteres comodín tanto para la dirección IP como para el puerto. Si vincula un servicio TCP comodín a este tipo de servidor virtual de equilibrio de carga, el servidor virtual recibe y procesa todo el tráfico TCP que no coincide con ningún otro servicio o servidor virtual.

En la tabla siguiente se describen algunos de los distintos tipos de configuraciones comodín y cuándo debe utilizarse cada una.

IP Puerto Protocolo Descripción
* * TCP Servidor virtual de comodín general que acepta el tráfico enviado a cualquier dirección IP y puerto del dispositivo NetScaler. Al utilizar un servidor virtual comodín, el dispositivo aprende dinámicamente la IP y el puerto de cada servicio y crea los registros necesarios a medida que procesa el tráfico.
* * TCP Un servidor virtual de equilibrio de carga de firewall. Puede vincular los servicios de firewall a este servidor virtual y el dispositivo NetScaler transfiere el tráfico a través del firewall al destino.
Dirección IP * TCP, UDP y ANY Servidor virtual que acepta todo el tráfico que se envía a la dirección IP especificada, independientemente del puerto. Debe vincular explícitamente a este tipo de servidor virtual los servicios a los que redirigirá el tráfico. No los aprende dinámicamente.
* port SSL, SSL_TCP Un servidor virtual que acepta todo el tráfico enviado a cualquier dirección IP de un puerto específico. Se utiliza para la descarga global de SSL transparente. Todo el procesamiento SSL, HTTP y TCP que normalmente se realiza para un servicio del mismo tipo de protocolo se aplica al tráfico que se dirige a este puerto específico. El dispositivo utiliza el puerto para conocer dinámicamente la IP del servicio que debe utilizar. Si no se especifica —cleartext, el dispositivo NetScaler utiliza SSL de extremo a extremo.
* port No aplicable Todos los demás servidores virtuales que pueden aceptar tráfico al puerto. No vincula servicios a estos servidores virtuales. El dispositivo NetScaler los aprende dinámicamente.

Nota: Si ha configurado el dispositivo NetScaler como un paso transparente que utiliza puertos globales (comodín), puede que desee activar el modo Edge. Para obtener más información, consulte “Configuración del modo perimetral.”

El dispositivo NetScaler intenta localizar servidores y servicios virtuales al intentar primero una coincidencia exacta. Si no encuentra ninguno, continúa buscando una coincidencia basándose en caracteres comodín, en el siguiente orden:

  1. Dirección IP específica y número de puerto específico
  2. Dirección IP específica y un puerto * (comodín)
    • (comodín) Dirección IP y un puerto específico
    • (comodín) dirección IP y un puerto * (comodín)

Si el dispositivo no puede seleccionar un servidor virtual por dirección IP o número de puerto, busca un servidor virtual según el protocolo utilizado en la solicitud, en el siguiente orden:

  1. HTTP
  2. TCP
  3. CUALQUIERA

Configuración de puertos HTTP globales

No se configuran servicios ni servidores virtuales para un puerto HTTP global. En su lugar, configura un puerto específico mediante el comando set ns param. Tras configurar este puerto, el dispositivo NetScaler acepta todo el tráfico que coincida con el número de puerto y lo procesa como tráfico HTTP, aprendiendo y creando servicios de forma dinámica para ese tráfico.

Puede configurar más de un número de puerto como puerto HTTP global. Si especifica más de un número de puerto en un solo comando set ns param, separe los números de puerto con un solo espacio en blanco. Si ya se han especificado uno o más puertos como puertos HTTP globales y desea agregar uno o más puertos sin eliminar los puertos que están configurados actualmente, debe especificar todos los números de puerto, actuales y nuevos, en el comando. Antes de agregar números de puerto, utilice el comando show ns param para ver los puertos que están configurados actualmente.

Para configurar un puerto HTTP global mediante la interfaz de línea de comandos

En la línea de comandos, escriba los siguientes comandos para configurar un puerto HTTP global y comprobar la configuración:

set ns param –httpPort <port>

show ns param
<!--NeedCopy-->

Ejemplo 1: Configuración de un puerto como puerto HTTP global

En este ejemplo, el puerto 80 se configura como puerto HTTP global.

set ns param -httpPort 80
Done
show ns param
         Global configuration settings:
                          HTTP port(s): 80
                       Max connections: 0
           Max requests per connection: 0
                   Client IP insertion: DISABLED
                        Cookie version: 0
        Persistence Cookie Secure Flag: ENABLED
        ...
        ...
<!--NeedCopy-->

Ejemplo 2: Agregar puertos cuando uno o más puertos HTTP globales ya están configurados**

En este ejemplo, el puerto 8888 se agrega a la lista global de puertos HTTP. El puerto 80 ya está configurado como puerto HTTP global.

> show ns param
        Global configuration settings:
                          HTTP port(s): 80
                       Max connections: 0
           Max requests per connection: 0
                   Client IP insertion: DISABLED
                        Cookie version: 0
        Persistence Cookie Secure Flag: ENABLED
                          Min Path MTU: 576
        ...
        ...
 Done
> set ns param -httpPort 80 8888
 Done
>  show ns param

        Global configuration settings:
                          HTTP port(s): 80,8888
                       Max connections: 0
           Max requests per connection: 0
                   Client IP insertion: DISABLED
                        Cookie version: 0
        Persistence Cookie Secure Flag: ENABLED
                          Min Path MTU: 576

        ...
        ...
 Done
>
<!--NeedCopy-->

Para configurar un puerto HTTP global mediante la utilidad de configuración

  1. Vaya a Sistema > Configuración > Cambiar parámetros HTTPy, a continuación, agregue un número de puerto HTTP.
Cómo funciona el equilibrio de carga