Para garantizar la estabilidad de las aplicaciones con estado, los equilibradores de carga implementan persistencia que dirige todas las conexiones relacionadas al mismo servidor. Se admiten distintos tipos de persistencia para abordar diferentes tipos de necesidades de aplicaciones.

Algunas aplicaciones mantienen el estado del servidor, como los carritos de compra. Dicho estado podría ser por cliente y estar identificado con la dirección IP del cliente, o bien por sesión HTTP. Las aplicaciones pueden acceder a este estado o modificarlo durante el procesamiento de las conexiones relacionadas posteriores desde el mismo cliente o la misma sesión HTTP.

El perfil de persistencia de IP de origen realiza un seguimiento de las sesiones en función de la dirección IP de origen. Cuando un cliente solicita una conexión a un servidor virtual que permite la persistencia de la dirección de origen, el equilibrador de carga comprueba si ese cliente se conectó anteriormente y, si lo hizo, devuelve el cliente al mismo servidor. De lo contrario, el equilibrador de carga seleccionará el miembro del grupo de servidores en función del algoritmo de equilibrio de carga del grupo. El perfil de persistencia de IP de origen es utilizado por los servidores virtuales de capa 4 y capa 7.

Si la persistencia de regla, la persistencia de cookie y la persistencia de servidor están configurados, el equilibrador de carga seguirá la prioridad: persistencia de la regla > persistencia de cookie > persistencia de servidor.

El perfil de persistencia de cookie ofrece 3 modos:
  • Inserción de cookies: el equilibrio de carga inserta su propia cookie con la información del miembro del grupo (codificado o no) en la respuesta del servidor al cliente. El cliente entonces reenvía las cookies recibidas en solicitudes posteriores (incluida la cookie de NSX) y el equilibrador de carga utiliza esa información para proporcionar la persistencia de miembro de grupo. La cookie de NSX se recorta de la solicitud del cliente cuando se envía al miembro del grupo.
  • Prefijo de cookie: el equilibrador de carga anexa la información del miembro del grupo (codificado o no) en la respuesta del servidor al cliente. A continuación, el cliente reenvía la cookie HTTP recibida en solicitudes posteriores (con la información antepuesta de NSX) y el equilibrador de carga utiliza esa información para proporcionar la persistencia del miembro del grupo. El prefijo de cookie NSX se recorta de la solicitud del cliente cuando se envía al miembro del grupo.
  • Reescritura de cookies: el equilibrador de carga reemplaza el valor de cookie del servidor con la información del miembro del grupo (codificado o no) en la respuesta del servidor al cliente. A continuación, el cliente reenvía la cookie HTTP recibida en solicitudes posteriores (con la información antepuesta de NSX) y el equilibrador de carga utiliza esa información para proporcionar la persistencia del miembro del grupo. La cookie del servidor original se reemplaza en la solicitud del cliente cuando se envía al miembro del grupo.
La persistencia de cookie solo está disponible en servidores virtuales de capa 7. Tenga en cuenta que no se admiten espacios en blanco en el nombre de las cookies.

El perfil de persistencia genérico admite la persistencia basada en el encabezado HTTP, la cookie o la URL de la solicitud HTTP. Por lo tanto, admite la persistencia de sesión de aplicación cuando el identificador de la sesión forma parte de la URL. Este perfil no se asociado directamente a un servidor virtual. Especifique este perfil cuando configure una regla de equilibrador de carga para el reenvío de solicitudes y la reescritura de respuestas.

Un diagrama de un perfil de persistencia genérico.

Procedimiento

  1. Con privilegios de administrador, inicie sesión en NSX Manager.
  2. Seleccione Redes > Equilibrio de carga > Perfiles > Persistencia > Agregar perfiles de persistencia.
  3. Seleccione IP de origen para agregar un perfil de persistencia de IP de origen e introduzca los detalles del perfil.
    También puede aceptar la configuración predeterminada del perfil de IP de origen.
    Opción Descripción
    Nombre y descripción Introduzca un nombre y una descripción para el perfil de persistencia de IP de origen.
    Compartir persistencia Active el botón para compartir la persistencia de modo que todos los servidores virtuales con los que está asociado este perfil puedan compartir la tabla de persistencia.

    Si no está habilitada la opción para compartir la persistencia en el perfil de persistencia de IP de origen asociado a un servidor virtual, cada servidor virtual al que el perfil está asociado mantiene una tabla de persistencia privada.

    Tiempo de espera de entrada de persistencia Introduzca el tiempo de caducidad de la persistencia en segundos.

    La tabla de persistencia del equilibrador de carga mantiene las entradas para registrar que las solicitudes de los clientes se dirigen al mismo servidor.

    En la primera conexión desde la nueva IP de cliente, se equilibra la carga con un miembro de grupo en función del algoritmo de equilibrio de carga. NSX almacenará esa entrada de persistencia en la tabla de persistencia de LB que se pueda ver en el nodo de Edge que aloja el T1-LB activo a través del comando de la CLI: get load-balancer <LB-UUID> persistence-tables.

    • Cuando hay conexiones desde ese cliente a la VIP, se mantiene la entrada de persistencia.
    • Cuando no hay más conexiones desde ese cliente a la VIP, la entrada de persistencia iniciará el recuento de temporizadores especificado en el valor de "Tiempo de espera de entrada de persistencia". Si no se establece una nueva conexión desde ese cliente a la VIP antes de que caduque el temporizador, se eliminará la entrada de persistencia de esa IP de cliente. Si el cliente vuelve a aparecer después de eliminar la entrada, se volverá a equilibrar la carga con un miembro del grupo basado en el algoritmo de equilibrio de carga.
    Purgar entradas al llenarse

    Un valor de tiempo de espera grande puede hacer que la tabla de persistencia se llene rápidamente si el tráfico es intenso. Cuando esta opción está habilitada, se elimina la entrada más antigua para aceptar la entrada más reciente.

    Cuando esta opción está deshabilitada, si la tabla de persistencia de IP de origen está llena, se rechazan las nuevas conexiones de cliente.

    Creación de reflejo de persistencia de HA Active el botón para sincronizar entradas de persistencia con el elemento de HA del mismo nivel. Cuando la creación de reflejo de HA está habilitada, la persistencia de la IP del cliente permanece en el caso de la conmutación por error del equilibrador de carga.
    Etiquetas Introduzca etiquetas para facilitar la búsqueda.

    Puede especificar una etiqueta para establecer un ámbito para la etiqueta.

  4. Seleccione un perfil de persistencia Cookie e introduzca los detalles del perfil. La persistencia de cookie solo está disponible en servidores virtuales de capa 7. Tenga en cuenta que no se admiten espacios en blanco en el nombre de las cookies.
    Opción Descripción
    Nombre y descripción Introduzca un nombre y una descripción para el perfil de persistencia de cookie.
    Compartir persistencia Active el botón para compartir la persistencia entre varios servidores virtuales que están asociados a los mismos miembros del grupo.

    El perfil de persistencia de cookie inserta una cookie con el formato <name>.<profile-id>.<pool-id>.

    Si la persistencia compartida no está habilitada en el perfil de persistencia de cookie asociado con un servidor virtual, el miembro del grupo utiliza y completa la persistencia de cookie privada para cada servidor virtual. El equilibrador de carga inserta una cookie con el formato, <name>.<virtual_server_id>.<pool_id>.

    Modo de cookie Seleccione un modo en el menú desplegable.
    • INSERTAR: agrega una cookie exclusiva para identificar la sesión.
    • PREFIJO: se anexa a la información de cookie HTTP existente.
    • REESCRITURA: reescribe la información de cookie HTTP existente.
    Nombre de cookie Introduzca el nombre de la cookie. No se admiten espacios en blanco en el nombre de las cookies.
    Dominio de cookie Introduzca el nombre de dominio.

    El dominio de la cookie HTTP puede configurarse únicamente en el modo INSERTAR.

    Reserva de cookie Active el botón para que se rechace la solicitud del cliente si la cookie apunta a un servidor que se encuentra en estado DESHABILITADO o INACTIVO.

    Selecciona un nuevo servidor para controlar una solicitud de cliente si la cookie apunta a un servidor que se encuentra en estado DESHABILITADO o INACTIVO.

    Ruta de cookie Introduzca la ruta de URL de la cookie.

    La ruta HTTP de la cookie se puede establecer únicamente en el modo INSERTAR.

    Cifrado de cookie Active el botón para deshabilitar el cifrado.

    Cuando se deshabilita el cifrado, la información de dirección IP de servidor y de puerto de la cookie aparece en texto sin formato. Cifre la información de dirección IP de servidor y la información de puerto de la cookie.

    Tipo de cookie Seleccione el tipo de cookie en el menú desplegable.

    Cookie de sesión: no almacenada. Se pierde cuando se cierra el navegador.

    Cookie de persistencia : almacenada por el navegador. No se pierde cuando se cierra el navegador.

    Marca HttpOnly Cuando está habilitada, esta opción evita que un script que se ejecuta en el navegador acceda a las cookies.

    La marca HttpOnly solo está disponible en el modo INSERTAR.

    Marca de seguridad Cuando esta opción está habilitada, hace que los navegadores web solo envíen cookies a través de HTTPS.

    La marca de seguridad solo está disponible en el modo INSERTAR.

    Tiempo de inactividad máximo Introduzca, en segundos, el tiempo que el tipo de cookie puede estar inactivo antes de caducar.
    Antigüedad máxima de cookie Para el tipo de cookie de sesión, introduzca, en segundos, el tiempo que la cookie está disponible.
    Etiquetas Introduzca etiquetas para facilitar la búsqueda.

    Puede especificar una etiqueta para establecer un ámbito para la etiqueta.

  5. Seleccione Genérico para agregar un perfil de persistencia genérico e introduzca la información del perfil.
    Opción Descripción
    Nombre y descripción Introduzca un nombre y una descripción para el perfil de persistencia de IP de origen.
    Compartir persistencia Alterne el botón para compartir el perfil entre los servidores virtuales.
    Tiempo de espera de entrada de persistencia Introduzca el tiempo de caducidad de la persistencia en segundos.

    La tabla de persistencia del equilibrador de carga mantiene las entradas para registrar que las solicitudes de los clientes se dirigen al mismo servidor.

    En la primera conexión desde la nueva IP de cliente, se equilibra la carga con un miembro de grupo en función del algoritmo de equilibrio de carga. NSX almacenará esa entrada de persistencia en la tabla de persistencia de LB que se pueda ver en el nodo de Edge que aloja el T1-LB activo a través del comando de la CLI: get load-balancer <LB-UUID> persistence-tables.

    • Cuando hay conexiones desde ese cliente a la VIP, se mantiene la entrada de persistencia.
    • Cuando no hay más conexiones desde ese cliente a la VIP, la entrada de persistencia iniciará el recuento de temporizadores especificado en el valor de "Tiempo de espera de entrada de persistencia". Si no se establece una nueva conexión desde ese cliente a la VIP antes de que caduque el temporizador, se eliminará la entrada de persistencia de esa IP de cliente. Si el cliente vuelve a aparecer después de eliminar la entrada, se volverá a equilibrar la carga con un miembro del grupo basado en el algoritmo de equilibrio de carga.
    Creación de reflejo de persistencia de HA Active el botón para sincronizar entradas de persistencia con el elemento de HA del mismo nivel.
    Etiquetas Introduzca etiquetas para facilitar la búsqueda.

    Puede especificar una etiqueta para establecer un ámbito para la etiqueta.