Équilibrage de charge avec NetScaler® ADC
Cet article fournit des conseils sur la façon de déployer un groupe de serveurs StoreFront contenant au moins deux serveurs StoreFront dans une configuration d’équilibrage de charge entièrement active. Il détaille la configuration d’une appliance NetScaler ADC pour équilibrer la charge des requêtes entrantes provenant de l’application Citrix Workspace et des navigateurs web entre les serveurs StoreFront du groupe de serveurs.
Créer des enregistrements DNS pour l’équilibreur de charge du groupe de serveurs StoreFront
Créez un enregistrement DNS A et PTR pour le nom de domaine complet (FQDN) partagé que vous avez choisi. Les clients de votre réseau utilisent ce FQDN pour accéder au groupe de serveurs StoreFront via l’équilibreur de charge de l’appliance NetScaler ADC.
Exemple : storefront.example.com se résout en l’adresse IP virtuelle (VIP) du serveur virtuel d’équilibrage de charge.
Configurer les serveurs StoreFront
Tous les serveurs StoreFront que vous souhaitez équilibrer doivent être configurés dans le cadre d’un groupe de serveurs StoreFront qui synchronise la configuration entre les serveurs afin de garantir une configuration identique. Pour plus de détails sur l’ajout de serveurs à un groupe de serveurs, consultez Rejoindre un groupe de serveurs existant.
Chaque serveur doit être configuré pour HTTPS afin que la communication entre l’équilibreur de charge et les serveurs StoreFront soit chiffrée. Consultez Sécurisation de StoreFront avec HTTPS. Le certificat doit contenir le FQDN équilibré en tant que nom commun (CN) ou en tant que nom alternatif de sujet (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 de gauche, cliquez avec le bouton droit sur Groupe de serveurs et cliquez sur Modifier l’URL de base. Saisissez l’URL du serveur virtuel de l’équilibreur de charge.
Configurer éventuellement le moniteur de service Citrix pour HTTPS
Une installation StoreFront inclut le service Windows Citrix Service monitor. Ce service n’a pas d’autres dépendances de service et surveille l’état des services StoreFront critiques. Cela permet à NetScaler ADC et à d’autres applications tierces de surveiller l’état relatif d’un déploiement de serveurs StoreFront.
Par défaut, le moniteur utilise HTTP sur le port 8000. Vous pouvez éventuellement le modifier pour utiliser HTTPS sur le port 443.
-
Ouvrez l’environnement de script intégré (ISE) PowerShell sur le serveur StoreFront principal et exécutez les commandes suivantes pour modifier le moniteur par défaut en HTTPS 443 :
$ServiceUrl = "https://localhost:443/StorefrontMonitor" Set-STFServiceMonitor -ServiceUrl $ServiceUrl Get-STFServiceMonitor <!--NeedCopy--> -
Une fois terminé, propagez les modifications à tous les autres serveurs du groupe de serveurs StoreFront.
-
Pour effectuer un test rapide sur le moniteur, saisissez l’URL suivante dans le navigateur sur le serveur StoreFront ou sur toute autre machine ayant un accès réseau au serveur StoreFront. Le navigateur renvoie un résumé XML de l’état de chaque service 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-->
Configurer l’équilibreur de charge NetScaler
Installer le certificat racine
Si vos serveurs StoreFront utilisent un certificat signé par une autorité interne, vous devez installer le certificat racine sur le NetScaler. Ceci est nécessaire pour que NetScaler fasse confiance au certificat du serveur StoreFront.
- Connectez-vous à l’interface graphique de gestion de l’appliance NetScaler ADC.
- Sélectionnez Traffic Management > SSL > Certificates > CA Certificates.
- Cliquez sur Install.
- Sur la page Install CA Certificate, saisissez un nom de paire certificat-clé, cliquez sur Choose File et recherchez le fichier de certificat.
- Cliquez sur Install.
Installer le certificat de serveur
Pour activer HTTPS, vous avez besoin d’un certificat dont le nom alternatif de sujet inclut le FQDN de l’équilibreur de charge. Vous pouvez signer le certificat avec une autorité de certification d’entreprise ou publique.
Vous devez disposer de fichiers de certificat et de clé distincts au format PEM. Si vous avez un certificat contenant la clé privée au format PKCS12, vous pouvez utiliser openssl pour convertir le fichier. Exemple :
openssl pkcs12 -in cert.pfx -clcerts -nokeys -out cert.cer
openssl pkcs12 -in cert.pfx -nocerts -out storefrontlbeu.key
<!--NeedCopy-->
Une invite apparaît pour saisir le mot de passe existant et une nouvelle phrase secrète PEM.
Pour installer le certificat :
- Connectez-vous à l’interface graphique de gestion de l’appliance NetScaler ADC.
- Sélectionnez Traffic Management > SSL > Certificates > CA Certificates.
- Cliquez sur Install.
- Sur la page Install CA Certificate :
- Saisissez un Certificate-Key Pair Name.
- Sous Certificate File Name, cliquez sur Choose File et recherchez le fichier de certificat.
- Sous Key File Name, cliquez sur Choose File et recherchez le fichier de clé.
- Sous Password, saisissez la phrase secrète.
- Cliquez sur Install.
- Cliquez sur Link pour lier le certificat au certificat racine.

Ajouter des nœuds de serveur StoreFront individuels à l’équilibreur de charge de l’appliance NetScaler ADC
-
Accédez à Traffic Management > Load Balancing > Servers. Cliquez sur Add et ajoutez chacun des serveurs StoreFront à équilibrer.
Exemple = 2 serveurs StoreFront nommés StoreFront-eu-1 et StoreFront-eu-2
-
Utilisez la configuration de serveur basée sur IP et saisissez l’adresse IP du serveur pour chaque nœud StoreFront.

Définir un moniteur StoreFront pour vérifier l’état de tous les nœuds StoreFront du groupe de serveurs
- Connectez-vous à l’interface graphique de gestion de NetScaler ADC.
- Sélectionnez Traffic Management > Load Balancing > Monitors > Add et ajoutez un nouveau moniteur appelé StoreFront et acceptez tous les paramètres par défaut.
- Dans le menu déroulant Type, sélectionnez StoreFront.
- Si vous avez configuré votre moniteur StoreFront pour HTTPS, assurez-vous que l’option Secure est sélectionnée. Sinon, laissez cette option non sélectionnée et saisissez un port de 8000.
- Sélectionnez l’option Check Backend Services. Cette option active la surveillance des services exécutés sur le serveur StoreFront. Les services StoreFront sont surveillés en sondant un service Windows qui s’exécute sur le serveur StoreFront, lequel renvoie l’état des services suivants :
- W3SVC (IIS)
- WAS (Windows Process Activation Service)
- CitrixCredentialWallet
- CitrixDefaultDomainService

Créer un groupe de services contenant tous les serveurs StoreFront
-
Accédez à Traffic Management > Load Balancing > Service Groups. Appuyez sur Add. Pour vous connecter aux serveurs StoreFront via HTTPS, sélectionnez un protocole SSL. Laissez les autres paramètres par défaut. Appuyez sur OK.
-
Dans votre groupe de services, sous Service Group Members, cliquez sur No Service Group Member.
- Cliquez sur Service Based.
- Sélectionnez tous les serveurs que vous avez définis précédemment.
- Pour utiliser SSL entre l’équilibreur de charge et le serveur StoreFront, saisissez le port 443. Sinon, saisissez le port 80.

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

-
Ajoutez la section Certificates.
- Lie le certificat client.
- Lie le certificat CA utilisé pour signer le certificat de serveur que vous avez importé précédemment, ainsi que toute autre CA qui pourrait faire partie de la chaîne de confiance PKI.

-
Ajoutez la section Settings. Sélectionnez Insert Client IP Header et saisissez un nom d’en-tête de 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
-
Connectez-vous à l’interface graphique de gestion de l’appliance NetScaler ADC.
-
Sélectionnez Traffic Management > Load Balancing > Virtual Servers > Add pour créer un nouveau serveur virtuel.
-
Saisissez un nom, choisissez un protocole SSL et saisissez le Port. Cliquez sur OK pour créer le serveur virtuel.

-
Lie le Service Group que vous avez créé précédemment au serveur virtuel d’équilibrage de charge.
-
Lie le même certificat de serveur et de CA que vous avez précédemment lié au groupe de services.
-
Ajoutez la section Method et sélectionnez la méthode d’équilibrage de charge. Les choix courants pour l’équilibrage de charge StoreFront sont le round robin ou la moindre connexion.

-
Ajoutez la section Persistance.
-
Définissez la méthode de persistance sur COOKIEINSERT.
-
Définissez le délai d’expiration comme étant le même que le délai d’expiration de session dans StoreFront, qui est de 20 minutes par défaut.
-
Nommez le cookie. Par exemple, NSC_SFPersistence, car cela facilite son identification lors du débogage.
-
Définissez la persistance de sauvegarde sur NONE.
Remarque :
Si le client n’est pas autorisé à stocker le cookie HTTP, les requêtes ultérieures n’auront pas le cookie HTTP et la persistance ne sera pas utilisée.
-

Configurer la boucle de rappel StoreFront
Lorsque l’adresse de base est un équilibreur de charge, pour la communication interne entre les services StoreFront, cela pourrait entraîner le routage du trafic vers l’équilibreur de charge et potentiellement vers un autre serveur. Cela entraîne des performances médiocres et un comportement inattendu. Utilisez le paramètre StoreFront Activer la communication en boucle pour l’éviter. Par défaut, ce paramètre est défini sur On, ce qui signifie qu’il remplace la partie hôte de l’adresse du service par l’adresse IP de bouclage 127.0.0.1, tout en conservant le schéma (HTTP ou HTTPS) tel quel. Cela fonctionne pour un déploiement de serveur unique et les déploiements avec un équilibreur de charge ne terminant pas SSL. Lorsque l’équilibreur de charge termine SSL et communique avec StoreFront via HTTP (non recommandé), il est nécessaire de configurer la communication en boucle StoreFront sur OnUsingHttp, ce qui signifie que StoreFront modifie également le schéma de HTTPS à HTTP.
Configurer l’équilibreur de charge NetScaler ADC pour la synchronisation des abonnements entre les groupes de serveurs
Si vous avez un déploiement multisite composé d’au moins deux groupes de serveurs StoreFront, vous pouvez répliquer les données d’abonnement entre eux en utilisant une stratégie de tirage selon un calendrier répétitif. La réplication des abonnements StoreFront utilise le port TCP 808, donc l’utilisation d’un serveur virtuel d’équilibrage de charge existant sur le port HTTP 80 ou HTTPS 443 échoue. Pour assurer une haute disponibilité pour ce service, créez 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.
Configurer un groupe de services pour la synchronisation des abonnements
- Connectez-vous à l’interface graphique de gestion de l’appliance NetScaler ADC.
- Sélectionnez Traffic Management > Load Balancing > Service Groups > Add.
- Saisissez un nom de groupe de services, modifiez le protocole en TCP et cliquez sur OK pour enregistrer.
- 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 Serveurs et spécifiez le Port sur 808.
- Ajoutez la section Monitors.
- Cliquez là où il est indiqué No Service Group to monitor Binding.
- Cliquez sur Add. Saisissez un Name de moniteur et définissez son Type sur TCP. Cliquez sur Create.
- Cliquez sur Bind.

Créer un serveur virtuel d’équilibrage de charge pour la synchronisation des abonnements
- Connectez-vous à l’interface graphique de gestion de l’appliance NetScaler ADC.
- Sélectionnez Traffic Management > Load Balancing > Virtual Servers > Add et ajoutez un nouveau groupe de services.
- Saisissez un Name
- Modifiez le protocole en TCP.
- Saisissez une adresse IP.
-
Saisissez un Port de 808.

- Cliquez sur OK.
- 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.
- Ajoutez la section Method et définissez la Load Balancing Method sur ROUNDROBIN
- Cliquez sur Done pour terminer vos modifications.
Configurer StoreFront pour extraire les données d’abonnement via l’équilibreur de charge
Consultez Configurer la synchronisation des abonnements.
Lors de la configuration du calendrier de réplication, spécifiez une adresse de groupe de serveurs qui correspond à l’adresse IP de l’équilibreur de charge virtuel du serveur virtuel de synchronisation des abonnements.