StoreFront

Equilibrar la carga con NetScaler ADC

En este artículo se ofrecen instrucciones acerca de cómo implementar un grupo de servidores de StoreFront que contengan como mínimo dos servidores de StoreFront en toda la configuración activa de equilibrio de carga. En el artículo se ofrece información detallada acerca de cómo configurar un dispositivo NetScaler ADC para equilibrar la carga de solicitudes entrantes de la aplicación Citrix Workspace y exploradores web entre servidores de StoreFront del grupo de servidores.

Requisitos de certificados de servidor para la implementación con equilibrio de carga

Tenga en cuenta las siguientes opciones antes de: adquirir un certificado de una entidad de certificación comercial o emitir uno de la entidad de certificación (CA) de la empresa.

  • Opción 1: Usar un certificado comodín *.ejemplo.com en el servidor virtual de equilibrio de carga del dispositivo NetScaler ADC y en los nodos del grupo de servidores de StoreFront. Esto simplifica la configuración y permite agregar más servidores de StoreFront en el futuro, sin la necesidad de reemplazar el certificado.
  • Opción 2: Usar un certificado que incluya nombres alternativos de sujeto (SAN) en el servidor virtual de equilibrio de carga del dispositivo NetScaler ADC y en los nodos del grupo de servidores de StoreFront. Los nombres SAN adicionales que contenga el certificado que coincidan con todos los nombres de dominio completos (FQDN) de servidor de StoreFront son opcionales aunque se recomiendan, ya que permiten una mayor flexibilidad en la implementación de StoreFront.

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

Cree un registro DNS A y un registro PTR para el nombre de dominio completo compartido seleccionado. Los clientes de la red usarán este nombre de dominio completo para acceder al grupo de servidores StoreFront mediante el equilibrador de carga del dispositivo NetScaler ADC.

Ejemplo: storefront.example.com recurre a la dirección IP virtual (VIP) del servidor virtual del equilibrio de carga.

Configurar servidores de StoreFront

Todos los servidores de StoreFront cuya carga quiera equilibrar deben configurarse como parte de un grupo de servidores de StoreFront que sincronice la configuración entre 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, consulte Unirse a un grupo de servidores existente.

Cada servidor debe estar configurado para HTTPS de modo que la comunicación entre el equilibrador de carga y los servidores de StoreFront esté cifrada. Consulte Proteger StoreFront con HTTPS. El certificado debe contener el FQDN de equilibrio de carga como un nombre común (CN) o como un nombre alternativo de sujeto (SAN).

Configure la URL base del grupo de servidores para que sea la URL del equilibrador de carga. Para modificar la URL base, en la consola de administración de Citrix StoreFront, en el panel de la izquierda, haga clic con el botón secundario en Grupo de servidores y haga clic en Cambiar URL base. Introduzca la URL del servidor virtual del equilibrador de carga.

Configurar de forma opcional Citrix Service Monitor 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 servicios importantes de StoreFront. Esto permite que NetScaler ADC y otras aplicaciones de terceros supervisen el estado relativo de la implementación de un servidor de StoreFront.

De forma predeterminada, el supervisor usa HTTP en el puerto 8000. Si quiere, puede cambiarlo para usar HTTPS en el puerto 443.

  1. Abra el entorno Integrated Scripting Environment (ISE) de PowerShell en el servidor de StoreFront principal y ejecute los comandos siguientes para cambiar el supervisor predeterminado a HTTPS 443:

    $ServiceUrl = "https://localhost:443/StorefrontMonitor"
    Set-STFServiceMonitor -ServiceUrl $ServiceUrl
    Get-STFServiceMonitor
    <!--NeedCopy-->
    
  2. Una vez completada la operación, propague los cambios a los demás servidores del grupo de servidores de StoreFront.

  3. Para realizar una prueba rápida en el supervisor, introduzca la URL siguiente en el explorador web presente en el servidor de StoreFront, o en cualquier otra máquina con acceso de red al servidor de StoreFront. El explorador devuelve un resumen XML del estado de cada servicio de StoreFront.

    https://<loadbalancingFQDN>/StoreFrontMonitor/GetSFServicesStatus

    imagen traducida

Configurar el equilibrador de carga de NetScaler

Configurar el certificado de servidor en el dispositivo NetScaler ADC

  1. Inicie sesión en la GUI de administración de dispositivos NetScaler ADC.
  2. Seleccione Traffic Management > SSL > Certificates > Server Certificates.
  3. Haga clic en Install.
  4. En la página Install Server Certificate, introduzca el nombre de un par de clave y certificado, haga clic en Choose File y busque el archivo del certificado. Si el archivo de certificado no incluye la clave privada, también debe seleccionar un archivo de clave.

Captura de pantalla de la pantalla de instalación de certificados

Agregar nodos de servidor StoreFront individuales al equilibrador de carga del dispositivo NetScaler ADC

  1. Vaya a Traffic Management -> Load Balancing -> Virtual Servers. Haga clic en Add y agregue cada uno de los servidores de StoreFront cuya carga debe equilibrarse.

    Ejemplo = 2 servidores de StoreFront denominados StoreFront-eu-1 y StoreFront-eu-2

  2. Use una configuración de servidor basada en IP y especifique la dirección IP del servidor de cada nodo de StoreFront.

Captura de pantalla de la pantalla Servers con dos servidores

Definir un supervisor de StoreFront para consultar el estado de todos los nodos de StoreFront en el grupo de servidores

  1. Inicie sesión en la interfaz gráfica de usuario de administración de NetScaler ADC.
  2. Seleccione Traffic Management > Load Balancing > Monitors > Add, agregue un nuevo supervisor llamado StoreFront y acepte todos los parámetros predeterminados.
  3. En el menú desplegable Type, seleccione StoreFront.
  4. Si configuró su supervisor de StoreFront para HTTPS, asegúrese de que esté seleccionada la opción Secure. De lo contrario, deje esta opción sin seleccionar e introduzca un puerto de 8000.
  5. Seleccione la opción Check Backend Services. Esta opción permite supervisar los servicios que se ejecuten en el servidor de StoreFront. Los servicios de StoreFront se supervisan por sondeo de un servicio Windows que se ejecuta en el servidor de StoreFront, el cual devuelve el estado de los siguientes servicios:
    • W3SVC (IIS)
    • Servicio WAS (Windows Process Activation Service)
    • CitrixCredentialWallet
    • CitrixDefaultDomainService

    Captura de pantalla de la pantalla Create monitor

Crear un grupo de servicios que contenga todos los servidores de StoreFront

  1. Vaya a Traffic Management > Load Balancing > Service Groups. Presione Add. Para conectarse a los servidores de StoreFront a través de HTTPS, seleccione un protocolo de SSL. Deje los demás parámetros como predeterminados. Presione OK.

  2. Dentro de su grupo de servicios, en Service Group Members, haga clic en No Service Group Member.

    1. Haga clic en Service Based.
    2. Seleccione todos los servidores que definió anteriormente.
    3. Para usar SSL entre el equilibrador de carga y el servidor de StoreFront, introduzca el puerto 443. De lo contrario, introduzca el puerto 80.

    Captura de pantalla de la página Create Service Group Member

  3. Agregue la sección Monitors y seleccione el supervisor de StoreFront que creó anteriormente.

    Captura de pantalla de la pantalla Monitors con un monitor en la lista

  4. Agregue la sección Certificates.

    1. Enlace el certificado de cliente.
    2. Enlace el certificado de CA usado para firmar el certificado de servidor que importó antes, así como cualquier otra entidad de certificación (CA) que pueda formar parte de la cadena de confianza de la infraestructura de clave pública (PKI).

    Captura de pantalla de la pantalla Add binding

  5. Agregue la sección Settings. Seleccione Insert Client IP Header e introduzca el nombre de encabezado de X-Forwarded-For. Esto permite utilizar la dirección IP del cliente en Directivas de Citrix Virtual Apps and Desktops.

Crear un servidor virtual de equilibrio de carga para el tráfico del usuario

  1. Inicie sesión en la GUI de administración de dispositivos NetScaler ADC.

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

  3. Introduzca un nombre, elija un protocolo de SSL e introduzca el Puerto. Haga clic en Aceptar para crear el servidor virtual.

    Captura de pantalla de la pantalla NetScaler Load Balancing Virtual Server

  4. Vincule el grupo de servicios que ha creado anteriormente al servidor virtual de equilibrio de carga.

  5. Enlace el mismo certificado de servidor y de CA (que ya enlazó al grupo de servicio) al grupo de servidores.

  6. Agregue la sección Method y seleccione el método de equilibrio de carga. Las opciones más 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. Agregue la sección Persistencia.

    1. Configure el método de persistencia como COOKIEINSERT.

    2. Configure el tiempo de espera para que sea el mismo que el tiempo de espera de sesión en StoreFront, que de forma predeterminada es de 20 minutos.

    3. Dé un nombre a la cookie. Por ejemplo, NSC_SFPersistence, ya que esto hace que sea fácil de identificar durante la depuración de errores.

    4. Establezca la persistencia de reserva en NONE.

    Nota:

    Si no se permite que el cliente almacene la cookie HTTP, las solicitudes subsiguientes no contienen la cookie HTTP y no se usará la persistencia.

Captura de pantalla de la sección de persistencia

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 provocar que el tráfico se dirija al equilibrador de carga y, potencialmente, a otro servidor. Esto se traduce en un rendimiento deficiente y un comportamiento inesperado. Utilice el parámetro Habilitar comunicación de bucle invertido de StoreFront para evitarlo. De forma predeterminada, está activado, lo que significa que reemplaza la parte del host de la dirección del servicio por la dirección IP de bucle invertido 127.0.0.1, mientras que mantiene el esquema (HTTP o HTTPS) tal y como está. Esto funciona para implementaciones de servidor único e implementaciones que tienen un equilibrador de carga sin terminación SSL.

Cuando el equilibrador de carga termine en SSL y se comunique con StoreFront a través de HTTP (no se recomienda), es necesario configurar la comunicación de bucle invertido de StoreFront con OnUsingHttp, lo que significa que StoreFront también cambiará el esquema de HTTPS a HTTP.

  1. Abra Citrix StoreFront.
  2. Para cada almacén, vaya a Administrar sitios de Receiver para Web. Para cada sitio web, vaya a Configurar.
  3. Vaya a Parámetros avanzados.
  4. Cambie el parámetro Habilitar comunicación de bucle invertido a OnUsingHttp.

Captura de pantalla sobre cómo habilitar la comunicación de bucle invertido

Cuando el equilibrador de carga termine en SSL y se comunique con StoreFront a través de HTTP (no se recomienda), es necesario configurar la comunicación de bucle invertido de StoreFront con OnUsingHttp, lo que significa que StoreFront también cambiará 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 tiene una implementación en varios sitios que consta de dos o más grupos de servidores de StoreFront, puede replicar los datos de suscripción entre ellos mediante una estrategia de extracción que siga una programación periódica. La replicación de datos de suscripción de StoreFront utiliza el puerto TCP 808, por lo que utilizar un servidor virtual existente de equilibrio de carga en el puerto HTTP 80 o HTTPS 443 da error. Para ofrecer una alta disponibilidad en este servicio, cree un segundo servidor virtual en cada dispositivo NetScaler ADC de la implementación. De esta manera, equilibrará la carga en el puerto TCP 808 proveniente de cada grupo de servidores de StoreFront.

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

  1. Inicie sesión en la GUI de administración de dispositivos NetScaler ADC.
  2. Seleccione Traffic Management > Load Balancing > Service Groups > Add.
  3. Introduzca un nombre de grupo de servicios, cambie el protocolo a TCP y haga clic en OK para guardar.
  4. En la sección Service Group Members, agregue todos los nodos de servidores de StoreFront que definió anteriormente en la sección Servers y especifique el puerto 808 en Port.
  5. Agregue la sección Monitors.
    1. Haga clic donde dice No Service Group to Monitor Binding.
    2. Haga clic en Agregar. Introduzca el nombre del supervisor en Name y defina su Type en TCP. Haga clic en Crear.
    3. Haga clic en Bind.

Captura de pantalla de Monitors TCP

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

  1. Inicie sesión en la GUI de administración de dispositivos NetScaler ADC.
  2. Seleccione Traffic Management> Load Balancing > Virtual Servers > Add y agregue un nuevo grupo de servicios.
  3. Escriba un nombre en Name.
  4. Cambie el protocolo a TCP.
  5. Introduzca una dirección IP.
  6. Introduzca el puerto 808 en Port.

    Captura de pantalla del equilibrio de carga 808

  7. Haga clic en Aceptar.
  8. Haga clic en No Load Balancing Virtual Server ServiceGroup Binding, seleccione el grupo de servicios que creó anteriormente y haga clic en Bind.
  9. Agregue la sección Method y establezca Load Balancing Method en ROUNDROBIN.
  10. Haga clic en Done para completar los cambios.

Configurar StoreFront para extraer datos de suscripción mediante un equilibrador de carga

Consulte Configurar la sincronización de suscripciones.

Cuando configure la programación de la replicación, especifique la dirección de un grupo de servidores que coincida con la dirección IP del equilibrador de carga del servidor virtual de sincronización de suscripciones.