StoreFront

Equilibrio de carga con Citrix ADC

Este artículo te guía 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 Citrix 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.

Crea registros DNS para el equilibrador de carga del grupo de servidores StoreFront

Crea un registro DNS A y PTR para el FQDN compartido que elijas. Los clientes de tu red usan este FQDN para acceder al grupo de servidores StoreFront mediante el equilibrador de carga del dispositivo Citrix ADC.

Ejemplo: storefront.example.com se resuelve en la IP virtual (VIP) del servidor virtual de equilibrio de carga.

Configura los servidores StoreFront

Todos los servidores StoreFront entre los que quieras equilibrar la carga deben configurarse como parte de un grupo de servidores StoreFront que sincronice la configuración entre los servidores para asegurar 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 para que la comunicación entre el equilibrador de carga y los servidores StoreFront esté cifrada. Consulta Protección de 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 haz clic en Cambiar URL base. Introduce la URL del servidor virtual del equilibrador de carga.

Configura 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 Citrix 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.

  1. 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-->
    
  2. Una vez completado, propaga los cambios a todos los demás servidores del grupo de servidores StoreFront.

  3. Para realizar una prueba rápida en el monitor, introduce la siguiente URL en el navegador del servidor StoreFront o en 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-->
    

Configura el equilibrador de carga de Citrix ADC

Instala el 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.

  1. Inicia sesión en la GUI de administración del dispositivo NetScaler® ADC.
  2. Selecciona Traffic Management > SSL > Certificates > CA Certificates.
  3. Haz clic en Install.
  4. 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.
  5. Haz clic en Install.

Instala 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:

  1. Inicia sesión en la GUI de administración del dispositivo NetScaler ADC.
  2. Selecciona Traffic Management > SSL > Certificates > CA Certificates.
  3. Haz clic en Install.
  4. En la página Install CA Certificate:
    1. Introduce un Certificate-Key Pair Name.
    2. En Certificate File Name, haz clic en Choose File y busca el archivo de certificado.
    3. En Key File Name, haz clic en Choose File y busca el archivo de clave.
    4. En Password, introduce la frase de contraseña.
    5. Haz clic en Install.
  5. Haz clic en Link para vincular el certificado al certificado raíz.

Captura de pantalla de la pantalla de instalación del certificado

Agrega nodos de servidor StoreFront individuales al equilibrador de carga del dispositivo Citrix ADC

  1. Navega a Traffic Management > Load Balancing > Servers. Haz clic en Add y agrega cada uno de los servidores StoreFront que se van a equilibrar.

    Ejemplo = 2 servidores StoreFront llamados StoreFront-eu-1 y StoreFront-eu-2

  2. Usa la configuración de servidor basada en IP e introduce la dirección IP del servidor para cada nodo StoreFront.

Captura de pantalla de la pantalla de servidores con dos servidores

Define un monitor de StoreFront para comprobar el estado de todos los nodos de StoreFront en el grupo de servidores

  1. Inicia sesión en la GUI de administración de Citrix ADC.
  2. Selecciona Traffic Management > Load Balancing > Monitors > Add y agrega un nuevo monitor llamado StoreFront y acepta todas las configuraciones predeterminadas.
  3. En el menú desplegable Type, selecciona StoreFront.
  4. Si has configurado tu monitor de StoreFront para HTTPS, asegúrate de que la opción Secure esté seleccionada. De lo contrario, deja esta opción sin seleccionar e introduce un puerto de 8000.
  5. Selecciona la opción Check Backend Services. Esta opción permite la supervisión de los servicios que se ejecutan en el servidor StoreFront. Los servicios de StoreFront se supervisan mediante el sondeo de un servicio de Windows que se ejecuta en el servidor StoreFront, que devuelve el estado de los siguientes servicios:
    • W3SVC (IIS)
    • WAS (Servicio de activación de procesos de Windows)
    • CitrixCredentialWallet
    • CitrixDefaultDomainService

    Captura de pantalla de la pantalla Crear monitor

Crea un grupo de servicios que contenga todos los servidores StoreFront

  1. Navega a Traffic Management > Load Balancing > Service Groups. Pulsa Add. Para conectarte a los servidores StoreFront a través de HTTPS, selecciona un protocolo SSL. Deja las demás configuraciones como predeterminadas. Pulsa OK.

  2. Dentro de tu grupo de servicios, en Service Group Members, haz clic en No Service Group Member.

    1. Haz clic en Service Based.
    2. Selecciona todos los servidores que definiste anteriormente.
    3. Para usar SSL entre el equilibrador de carga y el servidor StoreFront, introduce el puerto 443. De lo contrario, introduce el puerto 80.

    Captura de pantalla de la página Crear miembro del grupo de servicios

  3. Agrega la sección Monitors y selecciona el monitor de StoreFront que creaste anteriormente.

    Captura de pantalla de la pantalla de monitores con un monitor listado

  4. Agrega la sección Certificates.

    1. Vincula el certificado de cliente.
    2. 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.

    Captura de pantalla de la pantalla Agregar enlace

  5. Agrega la sección Settings. Selecciona Insert Client IP Header 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.

Crea un servidor virtual de equilibrio de carga para el tráfico de usuarios

  1. Inicia sesión en la GUI de administración del dispositivo Citrix ADC.

  2. Selecciona Traffic Management > Load Balancing > Virtual Servers > Add para crear un nuevo servidor virtual.

  3. Introduce un nombre, elige un protocolo SSL e introduce el Port. Haz clic en OK para crear el servidor virtual.

    Captura de pantalla de la pantalla del servidor virtual de equilibrio de carga de Citrix ADC

  4. Vincula el Service Group que creaste anteriormente al servidor virtual de equilibrio de carga.

  5. Vincula el mismo certificado de servidor y CA que vinculaste previamente al grupo de servicios.

  6. Agrega la sección Method 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.

    Captura de pantalla de la sección del método de equilibrio de carga

  7. Agrega la sección Persistance.

    1. Establece el método de persistencia en COOKIEINSERT.

    2. Establece el tiempo de espera para que sea el mismo que el tiempo de espera de la sesión dentro de StoreFront, que por defecto es de 20 minutos.

    3. Nombra la cookie. Por ejemplo, NSC_SFPersistence, ya que esto facilita su identificación durante la depuración.

    4. Establece la persistencia de respaldo en NONE.

    Nota:

    Si el cliente no tiene permitido almacenar la cookie HTTP, las solicitudes posteriores no tendrán la cookie HTTP y no se usará la persistencia.

Captura de pantalla de la sección de persistencia

Configura 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. Por defecto, esto está configurado en On, 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.

Configura el equilibrador de carga de Citrix 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 utilizando una estrategia de extracción en un programa repetitivo. La replicación de suscripciones de StoreFront utiliza 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 Citrix ADC de tu implementación para equilibrar la carga del puerto TCP 808 para cada uno de los grupos de servidores StoreFront.

Configura un grupo de servicios para la sincronización de suscripciones

  1. Inicia sesión en la GUI de administración del dispositivo Citrix ADC.
  2. Selecciona Traffic Management > Load Balancing > Service Groups > Add.
  3. Introduce un nombre de grupo de servicios, cambia el protocolo a TCP y haz clic en OK para guardar.
  4. En la sección Service Group Members, agrega todos los nodos de servidor StoreFront que definiste anteriormente en la sección Servidores y especifica el Port a 808.
  5. Agrega la sección Monitors.
    1. Haz clic donde dice No Service Group to monitor Binding.
    2. Haz clic en Add. Introduce un Name de monitor y establece su Type en TCP. Haz clic en Create.
    3. Haz clic en Bind.

Captura de pantalla de Monitores TCP

Crea un servidor virtual de equilibrio de carga para la sincronización de suscripciones

  1. Inicia sesión en la GUI de administración del dispositivo Citrix ADC.
  2. Selecciona Traffic Management> Load Balancing > Virtual Servers > Add y agrega un nuevo grupo de servicios.
  3. Introduce un Name.
  4. Cambia el protocolo a TCP.
  5. Introduce una dirección IP.
  6. Introduce un Port de 808.

    Captura de pantalla de Equilibrio de carga 808

  7. Haz clic en OK.
  8. Haz clic en No Load Balancing Virtual Server ServiceGroup Binding, selecciona el grupo de servicios que creaste anteriormente y haz clic en Bind.
  9. Agrega la sección Method y establece el Load Balancing Method en ROUNDROBIN.
  10. Haz clic en Done para completar tus cambios.

Configura StoreFront para extraer datos de suscripción a través del equilibrador de carga

Consulta Configurar la sincronización de suscripciones.

Al configurar el programa 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.

Equilibrio de carga con Citrix ADC