Equilibrio de carga con NetScaler® ADC
Este artículo proporciona orientación sobre cómo implementar un grupo de servidores StoreFront que contenga dos o más servidores StoreFront en una configuración de equilibrio de carga totalmente activa. El artículo detalla cómo configurar un dispositivo NetScaler ADC para equilibrar la carga de las solicitudes entrantes de la aplicación Citrix Workspace y los navegadores web entre los servidores StoreFront del grupo de servidores.
Crear registros DNS para el equilibrador de carga del grupo de servidores StoreFront
Crea un registro DNS A y PTR para el FQDN compartido elegido. Los clientes de tu red usan este FQDN para acceder al grupo de servidores StoreFront mediante el equilibrador de carga del dispositivo NetScaler ADC.
Ejemplo: storefront.example.com se resuelve en la IP virtual (VIP) del servidor virtual de equilibrio de carga.
Configurar servidores StoreFront
Todos los servidores StoreFront entre los que deseas equilibrar la carga deben configurarse como parte de un grupo de servidores StoreFront que sincronice la configuración entre los servidores para garantizar que estén configurados de forma idéntica. Para obtener más detalles sobre cómo agregar servidores a un grupo de servidores, consulta Unirse a un grupo de servidores existente.
Cada servidor debe configurarse para HTTPS, de modo que la comunicación entre el equilibrador de carga y los servidores StoreFront esté cifrada. Consulta Proteger StoreFront con HTTPS. El certificado debe contener el FQDN equilibrado de carga como nombre común (CN) o como nombre alternativo del sujeto (SAN).
Establece la URL base del grupo de servidores como la URL del equilibrador de carga. Para modificar la URL base, en la consola de administración de Citrix StoreFront, en el panel izquierdo, haz clic con el botón derecho en Grupo de servidores y, a continuación, haz clic en Cambiar URL base. Introduce la URL del servidor virtual del equilibrador de carga.
Configurar opcionalmente el monitor de servicio de Citrix para HTTPS
Una instalación de StoreFront incluye el servicio de Windows Citrix Service monitor. Este servicio no tiene otras dependencias de servicio y supervisa el estado de los servicios críticos de StoreFront. Esto permite que NetScaler ADC y otras aplicaciones de terceros supervisen el estado relativo de una implementación de servidor StoreFront.
De forma predeterminada, el monitor usa HTTP en el puerto 8000. Opcionalmente, puedes cambiar esto para usar HTTPS en el puerto 443.
-
Abre el entorno de scripting integrado (ISE) de PowerShell en el servidor StoreFront principal y ejecuta los siguientes comandos para cambiar el monitor predeterminado a HTTPS 443:
$ServiceUrl = "https://localhost:443/StorefrontMonitor" Set-STFServiceMonitor -ServiceUrl $ServiceUrl Get-STFServiceMonitor <!--NeedCopy--> -
Una vez completado, propaga los cambios a todos los demás servidores del grupo de servidores StoreFront.
-
Para realizar una prueba rápida en el monitor, introduce la siguiente URL en el navegador del servidor StoreFront o de cualquier otra máquina con acceso de red al servidor StoreFront. El navegador devuelve un resumen XML del estado de cada servicio de StoreFront.
https://<loadbalancingFQDN>/StoreFrontMonitor/GetSFServicesStatus<ArrayOfServiceStatus xmlns="http://schemas.datacontract.org/2004/07/Citrix.DeliveryServices.ServiceMonitor.Contract" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <ServiceStatus> <name>Citrix Peer Resolution Service</name> <status>running</status> </ServiceStatus> <ServiceStatus> <name>CitrixConfigurationReplication</name> <status>running</status> </ServiceStatus> <ServiceStatus> <name>CitrixCredentialWallet</name> <status>running</status> </ServiceStatus> <ServiceStatus> <name>CitrixDefaultDomainService</name> <status>running</status> </ServiceStatus> <ServiceStatus> <name>CitrixSubscriptionsStore</name> <status>running</status> </ServiceStatus> <ServiceStatus> <name>NetTcpPortSharing</name> <status>running</status> </ServiceStatus> <ServiceStatus> <name>WAS</name> <status>running</status> </ServiceStatus> <ServiceStatus> <name>W3SVC</name> <status>running</status> </ServiceStatus> </ArrayOfServiceStatus> <!--NeedCopy-->
Configurar el equilibrador de carga de NetScaler
Instalar certificado raíz
Si tus servidores StoreFront usan un certificado firmado por una autoridad interna, debes instalar el certificado raíz en NetScaler. Esto es necesario para que NetScaler confíe en el certificado del servidor StoreFront.
- Inicia sesión en la GUI de administración del dispositivo NetScaler ADC.
- Selecciona Traffic Management > SSL > Certificates > CA Certificates.
- Haz clic en Install.
- En la página Install CA Certificate, introduce un nombre de par de certificado-clave, haz clic en Choose File y busca el archivo de certificado.
- Haz clic en Install.
Instalar el certificado del servidor
Para habilitar HTTPS, necesitas un certificado cuyo nombre alternativo del sujeto incluya el FQDN del equilibrador de carga. Puedes firmar el certificado con una autoridad de certificación empresarial o pública.
Debes tener archivos de certificado y clave separados en formato PEM. Si tienes un certificado que contiene la clave privada en formato PKCS12, puedes usar openssl para convertir el archivo. Por ejemplo:
openssl pkcs12 -in cert.pfx -clcerts -nokeys -out cert.cer
openssl pkcs12 -in cert.pfx -nocerts -out storefrontlbeu.key
<!--NeedCopy-->
Aparece un mensaje para introducir la contraseña existente y una nueva frase de contraseña PEM.
Para instalar el certificado:
- Inicia sesión en la GUI de administración del dispositivo NetScaler ADC.
- Selecciona Traffic Management > SSL > Certificates > CA Certificates.
- Haz clic en Install.
- En la página Install CA Certificate:
- Introduce un Certificate-Key Pair Name (Nombre de par de certificado-clave).
- En Certificate File Name (Nombre de archivo de certificado), haz clic en Choose File (Elegir archivo) y busca el archivo de certificado.
- En Key File Name (Nombre de archivo de clave), haz clic en Choose File (Elegir archivo) y busca el archivo de clave.
- En Password (Contraseña), introduce la frase de contraseña.
- Haz clic en Install.
- Haz clic en Link (Vincular) para vincular el certificado al certificado raíz.

Agregar nodos de servidor StoreFront individuales al equilibrador de carga del dispositivo NetScaler ADC
-
Navega a Traffic Management > Load Balancing > Servers. Haz clic en Add (Agregar) y agrega cada uno de los servidores StoreFront que se van a equilibrar.
Ejemplo = 2 servidores StoreFront denominados StoreFront-eu-1 y StoreFront-eu-2
-
Usa la configuración de servidor basada en IP e introduce la dirección IP del servidor para cada nodo de StoreFront.

Definir un monitor de StoreFront para comprobar el estado de todos los nodos de StoreFront en el grupo de servidores
- Inicia sesión en la GUI de administración de NetScaler ADC.
- Selecciona Traffic Management > Load Balancing > Monitors > Add (Agregar) y agrega un nuevo monitor llamado StoreFront y acepta todas las configuraciones predeterminadas.
- En el menú desplegable Type (Tipo), selecciona StoreFront.
- Si has configurado tu monitor de StoreFront para HTTPS, asegúrate de que la opción Secure (Seguro) esté seleccionada. De lo contrario, deja esta opción sin seleccionar e introduce un puerto de 8000.
- Selecciona la opción Check Backend Services (Comprobar servicios de backend). Esta opción permite la supervisión de los servicios que se ejecutan en el servidor StoreFront. Los servicios de StoreFront se supervisan sondeando un servicio de Windows que se ejecuta en el servidor StoreFront, que devuelve el estado de los siguientes servicios:
- W3SVC (IIS)
- WAS (Windows Process Activation Service)
- CitrixCredentialWallet
- CitrixDefaultDomainService

Crear un grupo de servicios que contenga todos los servidores StoreFront
-
Navega a Traffic Management > Load Balancing > Service Groups. Pulsa Add (Agregar). Para conectarte a los servidores StoreFront a través de HTTPS, selecciona un protocolo SSL. Deja las demás configuraciones como predeterminadas. Pulsa OK (Aceptar).
-
Dentro de tu grupo de servicios, en Service Group Members (Miembros del grupo de servicios), haz clic en No Service Group Member (Ningún miembro del grupo de servicios).
- Haz clic en Service Based (Basado en servicio).
- Selecciona todos los servidores que definiste anteriormente.
- Para usar SSL entre el equilibrador de carga y el servidor StoreFront, introduce el puerto 443. De lo contrario, introduce el puerto 80.

-
Agrega la sección Monitors (Monitores) y selecciona el monitor de StoreFront que creaste anteriormente.

-
Agrega la sección Certificates (Certificados).
- Vincula el certificado de cliente.
- Vincula el certificado de CA utilizado para firmar el certificado del servidor que importaste anteriormente, y cualquier otra CA que pueda formar parte de la cadena de confianza PKI.

-
Agrega la sección Settings (Configuración). Selecciona Insert Client IP Header (Insertar encabezado IP de cliente) e introduce un nombre de encabezado de X-Forwarded-For. Esto permite que la dirección IP del cliente se use en las directivas de Citrix Virtual Apps and Desktops.
Crear un servidor virtual de equilibrio de carga para el tráfico de usuarios
-
Inicia sesión en la GUI de administración del dispositivo NetScaler ADC.
-
Selecciona Traffic Management > Load Balancing > Virtual Servers > Add (Agregar) para crear un nuevo servidor virtual.
-
Introduce un nombre, elige un protocolo SSL e introduce el Port (Puerto). Haz clic en OK (Aceptar) para crear el servidor virtual.

-
Vincula el Service Group (Grupo de servicios) que creaste anteriormente al servidor virtual de equilibrio de carga.
-
Vincula el mismo certificado de servidor y CA que vinculaste anteriormente al grupo de servicios.
-
Agrega la sección Method (Método) y selecciona el método de equilibrio de carga. Las opciones comunes para el equilibrio de carga de StoreFront son round robin o least connection (menos conexiones).

-
Agrega la sección Persistence (Persistencia).
-
Establece el método de persistencia en COOKIEINSERT.
-
Establece el tiempo de espera para que sea el mismo que el tiempo de espera de la sesión en StoreFront, que por defecto es de 20 minutos.
-
Nombra la cookie. Por ejemplo, NSC_SFPersistence, ya que esto facilita su identificación durante la depuración.
-
Establece la persistencia de respaldo en NONE (Ninguno).
Nota:
Si el cliente no tiene permitido almacenar la cookie HTTP, las solicitudes posteriores no tendrán la cookie HTTP y la persistencia no se usará.
-

Configurar el bucle invertido de StoreFront
Cuando la dirección base es un equilibrador de carga, para la comunicación interna entre los servicios de StoreFront, podría hacer que el tráfico se enrute al equilibrador de carga y, potencialmente, a otro servidor. Esto da como resultado un rendimiento deficiente y un comportamiento inesperado. Usa la configuración de StoreFront Habilitar comunicación de bucle invertido para evitarlo. De forma predeterminada, esto se establece en On (Activado), lo que significa que reemplaza la parte del host de la dirección del servicio con la dirección IP de bucle invertido 127.0.0.1, manteniendo el esquema (HTTP o HTTPS) tal cual. Esto funciona para una implementación de un solo servidor y para implementaciones con un equilibrador de carga que no termina SSL. Cuando el equilibrador de carga termina SSL y se comunica con StoreFront a través de HTTP (no recomendado), es necesario configurar la comunicación de bucle invertido de StoreFront en OnUsingHttp, lo que significa que StoreFront también cambia el esquema de HTTPS a HTTP.
Configurar el equilibrador de carga de NetScaler ADC para la sincronización de suscripciones entre grupos de servidores
Si tienes una implementación multisitio que consta de dos o más grupos de servidores StoreFront, puedes replicar los datos de suscripción entre ellos mediante una estrategia de extracción en un programa repetitivo. La replicación de suscripciones de StoreFront usa el puerto TCP 808, por lo que el uso de un servidor virtual de equilibrio de carga existente en el puerto HTTP 80 o HTTPS 443 falla. Para proporcionar alta disponibilidad para este servicio, crea un segundo servidor virtual en cada dispositivo NetScaler ADC de tu implementación para equilibrar la carga del puerto TCP 808 para cada uno de los grupos de servidores StoreFront.
Configurar un grupo de servicios para la sincronización de suscripciones
- Inicia sesión en la GUI de administración del dispositivo NetScaler ADC.
- Selecciona Traffic Management > Load Balancing > Service Groups > Add (Agregar).
- Introduce un nombre de grupo de servicios, cambia el protocolo a TCP y haz clic en OK (Aceptar) para guardar.
- En la sección Service Group Members (Miembros del grupo de servicios), agrega todos los nodos de servidor StoreFront que definiste anteriormente en la sección Servidores y especifica el Port (Puerto) 808.
- Agrega la sección Monitors (Monitores).
- Haz clic donde dice No Service Group to monitor Binding (Ningún grupo de servicios para vincular el monitor).
- Haz clic en Add (Agregar). Introduce un Name (Nombre) de monitor y establece su Type (Tipo) en TCP. Haz clic en Create (Crear).
- Haz clic en Bind (Vincular).

Crear un servidor virtual de equilibrio de carga para la sincronización de suscripciones
- Inicia sesión en la GUI de administración del dispositivo NetScaler ADC.
- Selecciona Traffic Management > Load Balancing > Virtual Servers > Add (Agregar) y agrega un nuevo grupo de servicios.
- Introduce un Name (Nombre).
- Cambia el protocolo a TCP.
- Introduce una dirección IP.
-
Introduce un Port (Puerto) de 808.

- Haz clic en OK (Aceptar).
- Haz clic en No Load Balancing Virtual Server ServiceGroup Binding (Ninguna vinculación de grupo de servicios de servidor virtual de equilibrio de carga), selecciona el grupo de servicios que creaste anteriormente y haz clic en Bind (Vincular).
- Agrega la sección Method (Método) y establece el Load Balancing Method (Método de equilibrio de carga) en ROUNDROBIN.
- Haz clic en Done (Listo) para completar tus cambios.
Configurar StoreFront para extraer datos de suscripción a través del equilibrador de carga
Consulta Configurar la sincronización de suscripciones.
Al configurar la programación de replicación, especifica una dirección de grupo de servidores que coincida con la dirección IP virtual del equilibrador de carga del servidor virtual de sincronización de suscripciones.