StoreFront

Équilibrage de charge avec NetScaler ADC

Cet article contient des instructions sur la manière de déployer un groupe de serveurs StoreFront contenant deux ou plusieurs serveurs StoreFront dans une configuration d’équilibrage de charge active. Cet article fournit des informations sur la manière de configurer une appliance NetScaler ADC pour équilibrer la charge des requêtes entrantes de l’application Citrix Workspace et des navigateurs Web entre les serveurs StoreFront du groupe de serveurs.

Certificat de serveur requis pour le déploiement avec charge équilibrée

Tenez compte des options suivantes avant d’effectuer l’achat d’un certificat provenant d’une autorité de certification commerciale ou d’en émettre un à partir de votre autorité de certification d’entreprise.

  • Option 1 : permet d’utiliser un certificat générique *.exemple.com sur le serveur virtuel d’équilibrage de charge de l’appliance NetScaler ADC et sur les nœuds de groupe de serveurs StoreFront. Cela simplifie la configuration et vous permet d’ajouter des serveurs StoreFront supplémentaires dans le futur sans avoir à remplacer le certificat.
  • Option 2 : permet d’utiliser un certificat incluant des noms de sujet alternatifs sur le serveur virtuel d’équilibrage de charge de l’appliance NetScaler ADC et sur les nœuds de groupe de serveurs StoreFront. L’ajout des SAN supplémentaires au certificat qui correspondent à tous les noms de domaine complets (FQDN) du serveur StoreFront est facultatif, mais recommandé, car cela permet une plus grande souplesse dans le déploiement StoreFront.

Créer des enregistrements DNS pour l’équilibrage de charge du groupe de serveurs StoreFront

Créez un enregistrement DNS A et PTR pour le nom de domaine complet (FQDN) partagé de votre choix. Les clients de votre réseau utilisent ce nom de domaine complet (FQDN) pour accéder au groupe de serveurs StoreFront utilisant l’équilibrage de charge de l’appliance NetScaler ADC.

Exemple : storefront.example.com se résout sur l’adresse IP virtuelle (VIP) du serveur virtuel d’équilibrage de charge.

Configurer des serveurs StoreFront

Tous les serveurs StoreFront entre lesquels vous souhaitez effectuer l’équilibrage de charge doivent être configurés dans le cadre d’un groupe de serveurs StoreFront qui synchronise la configuration entre les serveurs pour garantir qu’ils sont configurés de manière identique. Pour plus de détails sur l’ajout de serveurs à un groupe de serveurs, voir Joindre un groupe de serveurs existant.

Chaque serveur doit être configuré pour le protocole HTTPS afin que la communication entre l’équilibreur de charge et les serveurs StoreFront soit chiffrée. Consultez la section Sécurisation de StoreFront avec HTTPS. Le certificat doit contenir le nom de domaine complet (FQDN) avec équilibrage de charge en tant que nom courant (CN) ou nom de sujet alternatif (SAN).

Définissez l’URL de base du groupe de serveurs comme étant l’URL de l’équilibreur de charge. Pour modifier l’URL de base, dans la console de gestion Citrix StoreFront, dans le volet gauche, cliquez avec le bouton droit de la souris sur Groupe de serveurs, puis sur Modifier l’URL de base. Entrez l’URL du serveur virtuel d’équilibrage de charge.

Configurer Citrix Service Monitor pour HTTPS (facultatif)

L’installation de StoreFront inclut le service Windows Citrix Service monitor. Ce service ne dépend d’aucun autre service et surveille l’état des services StoreFront critiques. Cela permet à NetScaler ADC et à d’autres applications tierces de surveiller l’état relatif du déploiement d’un serveur StoreFront.

Par défaut, le moniteur utilise le protocole HTTP sur le port 8000. Vous pouvez éventuellement le modifier pour utiliser le protocole HTTPS sur le port 443.

  1. Ouvrez la console PowerShell (ISE) sur le serveur StoreFront principal et exécutez les commandes suivantes pour modifier le moniteur par défaut sur HTTPS 443 :

    $ServiceUrl = "https://localhost:443/StorefrontMonitor"
    Set-STFServiceMonitor -ServiceUrl $ServiceUrl
    Get-STFServiceMonitor
    <!--NeedCopy-->
    
  2. Une fois ce processus terminé, propagez les modifications à tous les autres serveurs du groupe de serveurs StoreFront.

  3. Pour effectuer un test rapide sur le moniteur, entrez l’adresse URL suivante dans le navigateur sur le serveur StoreFront ou toute autre machine avec accès réseau au serveur StoreFront. Le navigateur affiche un résumé XML de l’état de chaque service StoreFront.

    https://<loadbalancingFQDN>/StoreFrontMonitor/GetSFServicesStatus

    Image localisée

Configurer l’équilibreur de charge dans NetScaler

Configurer le certificat de serveur sur NetScaler ADC

  1. Ouvrez une session sur la console de gestion de l’appliance NetScaler ADC.
  2. Sélectionnez Traffic Management > SSL > Certificates > Server Certificates (Gestion du trafic > SSL > Certificats > Certificats de serveur).
  3. Cliquez sur Install.
  4. Sur la page Install Server Certificate (Installer le certificat du serveur), entrez un nom de paire de clés de certificat, cliquez sur Choose File (Choisir un fichier) et recherchez le fichier de certificat. Si le fichier de certificat n’inclut pas la clé privée, vous devez également sélectionner un fichier clé.

Capture d'écran de l'écran d'installation du certificat

Ajouter des nœuds de serveur StoreFront individuels à l’équilibrage de charge de l’appliance NetScaler ADC

  1. Accédez à Traffic Management > Load Balancing > Servers. Cliquez sur Add et ajoutez chacun des serveurs StoreFront à inclure dans l’équilibrage de charge.

    Exemple = 2 serveurs StoreFront nommés StoreFront-eu-1 et StoreFront-eu-2

  2. Utilisez la configuration de serveur basée sur l’adresse IP et entrez l’adresse IP du serveur pour chaque nœud StoreFront.

Capture d'écran de l'écran Servers avec deux serveurs

Définir un moniteur StoreFront pour vérifier l’état de tous les nœuds StoreFront dans le groupe de serveurs

  1. Ouvrez une session sur la console de gestion de NetScaler ADC.
  2. Sélectionnez Traffic Management > Load Balancing > Monitors > Add, ajoutez un nouveau moniteur appelé StoreFront et acceptez tous les paramètres par défaut.
  3. Dans le menu déroulant Type, sélectionnez StoreFront.
  4. Si vous avez configuré votre moniteur StoreFront pour HTTPS, assurez-vous que l’option Secure est sélectionnée. Sinon, laissez cette option désélectionnée et entrez le port 8000.
  5. Sélectionnez l’option Check Backend Services. Cette option permet de contrôler les services exécutés sur le serveur StoreFront. Les services StoreFront sont contrôlés par interrogation d’un service Windows qui s’exécute sur le serveur StoreFront et qui renvoie l’état des services suivants :
    • W3SVC (IIS)
    • WAS (Service d’activation des processus Windows)
    • CitrixCredentialWallet
    • CitrixDefaultDomainService

    Capture d'écran de l'écran de création de moniteur

Créer un groupe de services contenant tous les serveurs StoreFront

  1. Accédez à Traffic Management > Load Balancing > Service Groups. Sélectionnez Add. Pour vous connecter aux serveurs StoreFront via HTTPS, sélectionnez un protocole SSL. Conservez les autres paramètres par défaut. Sélectionnez OK.

  2. Au sein de votre groupe de services, sous Service Group Members, cliquez sur No Service Group Member.

    1. Cliquez sur Service Based.
    2. Sélectionnez tous les serveurs que vous avez définis précédemment.
    3. Pour utiliser le protocole SSL entre l’équilibreur de charge et le serveur StoreFront, entrez le port 443. Sinon, entrez le port 80.

    Capture d'écran de la page de création de membre d'un groupe de services

  3. Ajoutez la section Monitors et sélectionnez le moniteur StoreFront que vous avez créé précédemment.

    Capture d'écran de l'écran des moniteurs avec un moniteur répertorié

  4. Ajoutez la section Certificates.

    1. Liez le certificat client.
    2. Liez le certificat CA utilisé pour signer le certificat de serveur que vous avez importé précédemment et les autres autorités de certification faisant partie de la chaîne de confiance PKI.

    Capture d'écran de l'écran d'ajout de liaison

  5. Ajoutez la section Settings. Sélectionnez Settings et entrez le nom d’en-tête X-Forwarded-For. Cela permet d’utiliser l’adresse IP du client dans les stratégies Citrix Virtual Apps and Desktops.

Créer un serveur virtuel d’équilibrage de charge pour le trafic utilisateur

  1. Ouvrez une session sur la console de gestion de l’appliance NetScaler ADC.

  2. Sélectionnez Traffic Management > Load Balancing > Virtual Servers > Add pour créer un nouveau serveur virtuel.

  3. Entrez un nom, choisissez un protocole SSL et entrez le port. Cliquez sur OK pour créer le serveur virtuel.

    Capture d'écran de l'écran du serveur virtuel d'équilibrage de charge NetScaler

  4. Liez le groupe de services que vous avez créé précédemment au serveur virtuel d’équilibrage de charge.

  5. Liez le même serveur et le même certificat CA que vous avez précédemment liés au groupe de services.

  6. Ajoutez la section Method et sélectionnez la méthode d’équilibrage de charge. Les options courantes pour l’équilibrage de charge StoreFront sont round robin ou least connection.

    Capture d'écran de la section sur la méthode d'équilibrage de charge

  7. Ajoutez la section Persistance.

    1. Définissez la méthode de persistance sur COOKIEINSERT.

    2. Définissez le délai d’expiration de manière à ce qu’il soit identique au délai d’expiration de session dans StoreFront, qui est par défaut de 20 minutes.

    3. Attribuez un nom au cookie. Par exemple, NSC_SFPersistence, car cela facilite l’identification lors du débogage.

    4. Définissez la persistance de sauvegarde sur NONE.

    Remarque :

    Si le client n’est pas autorisé à stocker le cookie HTTP, les demandes ultérieures ne disposent pas du cookie HTTP et Persistence n’est pas utilisé.

Capture d'écran de la section de persistance

Configurer le bouclage StoreFront

Lorsque l’adresse de base est un équilibreur de charge, pour la communication interne entre les services StoreFront, cela peut entraîner l’acheminement du trafic vers l’équilibreur de charge et potentiellement vers un autre serveur. Cela se traduit par des performances médiocres et un comportement inattendu. Utilisez le paramètre StoreFront Activer la communication en boucle pour éviter ces problèmes. Par défaut, ce paramètre est défini sur On, ce qui signifie qu’il remplace la partie hôte de l’adresse de service par l’adresse IP de bouclage 127.0.0.1, tout en conservant le schéma (HTTP ou HTTPS) tel quel. Cela fonctionne dans les déploiements ne contenant qu’un seul serveur et dans les déploiements ne contenant pas d’équilibrage de charge d’arrêt SSL.

Si vous utilisez un équilibrage de charge d’arrêt SSL et que ce dernier communique avec StoreFront via HTTP (non recommandé), il est nécessaire de configurer la communication en boucle de StoreFront sur OnUsingHttp, ce qui signifie que StoreFront modifiera également le schéma de HTTPS sur HTTP.

  1. Ouvrez Citrix StoreFront.
  2. Pour chaque magasin, accédez à Gérer les sites Receiver pour Web. Pour chaque site Web, accédez à Configurer.
  3. Accéder aux paramètres avancés.
  4. Modifiez le paramètre Activer la communication en boucle sur OnUsingHttp.

Capture d'écran de l'activation de la communication en boucle

Si vous utilisez un équilibrage de charge d’arrêt SSL et que ce dernier communique avec StoreFront via HTTP (non recommandé), il est nécessaire de configurer la communication en boucle de StoreFront sur OnUsingHttp, ce qui signifie que StoreFront modifiera également le schéma de HTTPS sur HTTP.

Configurer l’équilibreur de charge NetScaler ADC pour la synchronisation des abonnements entre groupes de serveurs

Si vous disposez d’un déploiement multisite composé de deux groupes de serveurs StoreFront ou plus, vous pouvez répliquer les données d’abonnement entre eux à l’aide d’une stratégie « pull » selon un calendrier récurrent. La réplication d’abonnement StoreFront utilise le port TCP 808, donc l’utilisation d’un serveur virtuel d’équilibrage de charge sur le port HTTP 80 ou HTTPS 443 échoue. Pour fournir une haute disponibilité pour ce service, vous devez créer un deuxième serveur virtuel sur chaque appliance NetScaler ADC de votre déploiement pour équilibrer la charge du port TCP 808 pour chacun des groupes de serveurs StoreFront.

Configurez un groupe de services pour la synchronisation d’abonnement

  1. Ouvrez une session sur la console de gestion de l’appliance NetScaler ADC.
  2. Sélectionnez Traffic Management > Load Balancing > Service Groups > Add.
  3. Entrez un nom de groupe de services, changez le protocole sur TCP et cliquez sur OK pour enregistrer.
  4. Dans la section Service Group Members, ajoutez tous les nœuds de serveur StoreFront que vous avez définis précédemment dans la section Servers et spécifiez le port 808.
  5. Ajoutez la section Monitors.
    1. Cliquez sur No Service Group to monitor Binding.
    2. Cliquez sur Ajouter. Entrez le nom du moniteur et définissez son type sur TCP. Cliquez sur Créer.
    3. Cliquez sur Bind.

Capture d'écran des moniteurs TCP

Créer un serveur virtuel d’équilibrage de charge pour la synchronisation des abonnements

  1. Ouvrez une session sur la console de gestion de l’appliance NetScaler ADC.
  2. Sélectionnez Traffic Management> Load Balancing > Virtual Servers > Add et ajoutez un nouveau groupe de services.
  3. Entrez un nom.
  4. Définissez le protocole sur TCP.
  5. Entrez une adresse IP.
  6. Entrez le port 808.

    Capture d'écran d'équilibrage de charge 808

  7. Cliquez sur OK.
  8. Cliquez sur No Load Balancing Virtual Server ServiceGroup Binding, sélectionnez le groupe de services que vous avez créé précédemment et cliquez sur Bind.
  9. Ajoutez la section Method et définissez Load Balancing Method sur ROUNDROBIN.
  10. Cliquez sur Terminé pour terminer vos modifications.

Configurer StoreFront pour extraire les données d’abonnement via un équilibreur de charge

Consultez Configurer la synchronisation des abonnements.

Lors de la configuration du planning de réplication, spécifiez une adresse de groupe de serveur qui correspond à l’adresse IP virtuelle d’équilibrage de charge du serveur virtuel de synchronisation d’abonnement.