El balanceo propone una granja o conjunto de servidores que atienden requerimientos que llegan desde Internet, balanceando entre los miembros según el algoritmo o carga de los mismos. Adicionalmente detecta si un miembro deja de responder y lo excluye.
vCloud Director integra balanceo de carga en el router NSX edge y nos permite realizar balanceo de carga con facilidad.
Definiciones previas
Servidores de grupo o pool
Es el grupo de servidores que atenderan las demandas en forma balanceada. Permite definir los puerto, servicios, método de balanceo y la comprobación de estado de los miembros.
Servidores virtuales
El servidor virtual expone una dirección IP externa hacia a los servidores de grupo. Atiende todas las solicitudes de clientes entrantes.
Métodos de balanceo
Corresponde al algoritmo o forma de distribución del tráfico por cada paquete, petición o conexión.
Por turnos: Cada servidor se utiliza de acuerdo con el peso asignado. Este es el algoritmo más suave y justo cuando el tiempo de procesamiento del servidor permanece distribuido equitativamente.
Hash de IP: Selecciona un servidor basado en un hash de la dirección IP de origen y destino de cada paquete.
URI: La parte izquierda del URI (antes del signo de interrogación) se divide en hash y se divide por el peso total de los servidores en ejecución. El resultado designa qué servidor recibirá la solicitud. Esta opción garantiza que un URI siempre se dirija al mismo servidor, siempre que el servidor no se caiga.
Mínimo conectado: Distribuye las solicitudes de los clientes a varios servidores en función de la cantidad de conexiones que ya están abiertas en el servidor. Se envían nuevas conexiones al servidor con la menor cantidad de conexiones abiertas.
Persistencia
Establece que las conexiones o peticiones sean encaminadas al mismo servidor. Es utilizado cuando el servidor mantiene sesiones de forma no centralizada y es requerido cuando las próximas peticiones deben llegar al mismo servidor.
Ninguna: no se hace persistencia y se cumple el algoritmo de balanceo de forma estricta
Cookie: para conexiones HTTP se establece una cookie para determinar a que servidor del grupo encaminar la petición
ID de sesión: para conexiones HTTPS: como no se puede leer una cookie se establece un ID por conexión para mantener las peticiones al mismo servidor.
Implementación
A modo de ejemplo y como guía, se propone la implementación para balancear servidores web (protocolos HTTP y HTTPS). Los servidores se encuentran en red privada las con IP 192.168.1.10 y 192.168.1.11
- Ingresar a los servicio del firewall edge e ir a la solapa Equilibrador de carga.
- En servidores de grupo o pool, hacer click en agregar y dar un nombre y una descripción
- Configurar servicios. Habilitar HTTP y HTTPS seleccionando por turnos y los puertos correspondientes a cada servicio
- Configurar comprobación de estado: definir puerto 80 para HTTP y 443 para SSL. Dejar los intervalos y tiempos como se proponen.
- Agregar uno a uno los miembros y los puertos correspondientes a cada servicio
- Al finalizar, se muestra el resumen
- Cambiar a la solapa de Servidores virtuales y hacer click en agregar
- Añadir un nombre y una descripción
- Seleccionar la interface externa. Típicamente comienza con el nombre WAN
- Ingresar la dirección IP externa
- Seleccionar el grupo de servidores creado anteriormente
- Habilitar los servicios y seleccionar la persistencia de los mismos y aceptar
- Aceptar