Storefront Load Balancing avec NetScaler
Ce post indique comment configurer l'équilibrage de charge Storefront à l'aide de NetScalers.
Cela peut être configuré sur un NetScaler autonome ou une paire NetScaler en haute disponibilité.
La recommandation est évidemment d'obtenir cette configuration sur une paire HA NetScaler afin que la panne de NetScaler n'entraîne pas l'indisponibilité de Storefront.
​
​
​
​
​
​
​
​
​
Conditions préalables
Pour configurer l'équilibrage de charge Storefront, nous avons besoin des éléments suivants :
-
2 serveurs Storefront ou plus
-
Une adresse IP pour le serveur virtuel qui héberge la configuration LB
-
Certificat SSL qui pointe vers l'URL d'équilibrage de charge prévue du Storefront
1. Load Balancing
Connectez-vous à votre NetScaler et accédez à Système — Paramètres — Configurer les fonctionnalités de base.
Assurez-vous que l'équilibrage de charge est sélectionné, sinon sélectionnez-le et cliquez sur OK
2. NetScaler Configuration
2.1 Création des serveurs
​
-
Maintenant, accédez à Gestion du trafic - Équilibrage de charge - Serveurs.
-
Cliquez sur Ajouter
-
Donnez un nom au serveur Storefront et entrez l'adresse IP du serveur.
-
Assurez-vous que "Activer après la création" soit sélectionné.
-
Cliquez sur Créer
-
Ajoutez le deuxième serveur Storefront en suivant les étapes ci-dessus.
-
Si vous avez plus de 2 serveurs, ajoutez-les tous.
2.2 Création des Moniteurs
-
NetScaler est livrée avec un moniteur Storefront intégré, nous allons donc l'utiliser ici.
-
Accédez à Gestion du trafic - Équilibrage de charge - Moniteurs et cliquez sur Ajouter
Ici, je ne vais créer qu'un seul moniteur pour sonder tous mes serveurs Storefront.
Vous pouvez choisir de créer plusieurs moniteurs en fonction du nombre de serveurs Storefront dont vous disposez.
-
Donnez un nom au moniteur et sélectionnez le type comme STOREFRONT
-
Sélectionnez maintenant l'onglet Paramètres spéciaux et indiquez le nom du magasin que vous avez créé dans Storefront.
-
Vérifiez les 2 entrées - Storefront Account Service and Check Back End Services
Si vous aviez sélectionné "Check Back End Services", vous devrez suivre les étapes de la section Modifications du Storefront plus loin dans cet article. Sinon, vous pouvez complètement ignorer la coche de cette option.
-
Cliquez sur l'onglet Paramètres standard.
-
Assurez-vous que SECURE est sélectionné comme ci-dessous. Cliquez sur Créer
2.3 Créer des Groupes de Services
Accédez à Gestion du trafic - Équilibrage de charge - Groupes de services
Donnez un nom au groupe de services et sélectionnez le protocole SSL.
Vérifiez les entrées ci-dessous
-
State
-
Health Monitoring
-
AppFlow Logging (uniquement si vous avez NetScaler MAS dans votre environnement / Management and Analytics System)
Cliquez sur OK
Sous Membres du groupe de services, ajoutez les entités de serveur que nous avons créées précédemment.
Une fois cela fait, ils ressembleront à ce qui suit
Sous Paramètres, tapez l'en-tête comme X-Forwarded-For
Pour les nouvelles versions du firmware NetScaler, l'option ci-dessous doit être cochée
Sous Monitors, liez le moniteur que nous avons créé auparavant
Sous Paramètres SSL, configurez les paramètres comme ci-dessous
Sous Ciphers, configurez les chiffrements en fonction de la stratégie de sécurité de votre entreprise.
Une fois fait, Service Group devrait ressembler à ceci
2.4 Création du Serveur Virtuel
Comme mentionné dans la section des pré-requis, nous avons besoin d'une adresse IP pour cela.
Si les NetScalers se trouvent dans la DMZ, une adresse IP DMZ est requise.
Dans mon cas, les NetScalers sont hébergés en interne, je vais donc utiliser une adresse IP interne inutilisée.
Nous aurons également besoin du certificat SSL ici.
-
Accédez à Gestion du trafic - Équilibrage de charge - Serveurs virtuels
-
Cliquez sur Ajouter
-
Donnez un nom au Nom au Serveur Virtuel et sélectionnez le protocole SSL
-
Spécifiez l'adresse IP dans le champ Adresse IP et spécifiez le numéro de port 443
Cliquez sur MORE et spécifiez les paramètres comme ci-dessous (notez que AppFlow logging ne doit être activée que si vous avez une configuration NetScaler MAS ou d'autres solutions de surveillance qui pourraient utiliser les journaux AppFlow)
-
Sous Services et groupes de services, cliquez sur Load Balancing Virtual Server ServiceGroup Binding
-
Cliquez sur Ajouter une liaison et sélectionnez le groupe de services que vous avez créé à l'étape précédente.
-
Cliquez sur OK
Une fois terminée, la page devrait ressembler à celle ci-dessous.
Cliquez sur Fermer et cliquez sur Terminé
Il est temps de joindre le certificat.
Accédez à Gestion du trafic — SSL — Gérer les certificats/clés/CSR
-
Cliquez sur le bouton Télécharger et téléchargez votre fichier de certificat sur NetScaler
-
Allez dans Gestion du trafic — SSL — Certificats — Certificats de serveur
- Sous Certificat, cliquez sur Certificat de serveur puis sur Installer
-
Donnez un nom de paire de clés de certificat et choisissez le certificat qui vient d'être téléchargé à l'étape précédente.
-
Cliquez sur Installer
- Maintenant, revenez à Gestion du trafic - Équilibrage de charge - Serveurs virtuels
-
Sélectionnez le serveur virtuel créé pour Storefront et cliquez sur Modifier. Sous Certificats, sélectionnez Certificat de serveur, puis cliquez sur Ajouter une liaison
- Sous SSL Ciphers, sélectionnez les chiffrements que vous souhaitez mettre en place. Je laisse celui par défaut. Ce n'est pas le plus sûr pour une configuration de production, alors optez pour quelque chose qui est suffisamment sécurisé pour votre organisation.
-
Sous Paramètres SSL, configurez les paramètres comme ci-dessous. Cliquez sur OK
Sous METHOD, sélectionnez LEASTRESPONSETIME pour la méthode d'équilibrage de charge.
Configurer une méthode LB de sauvegarde, je choisis LEASTCONNECTION
-
Cliquez sur OK
-
Sous Persistence, sélectionnez COOKIEINSERT pour la persistance avec une valeur de Time-out de 0.
-
Sous Persistence de la sauvegarde, sélectionnez SOURCEIP avec un délai de Time-out de 60.
-
Remplissez le Netmask comme dans l'image
-
Cliquez sur OK puis sur Terminé
-
Nous avons maintenant terminé près de 90 % de la configuration.
- La configuration jusqu'à présent garantira que l'équilibrage de charge sera effectué entre les serveurs Storefront (je sais, je sais que je n'ai pas configuré les entrées DNS pour le VIP à charge équilibrée)
-
Si quelqu'un tape l'URL HTTP de LB Storefront dans son navigateur, il n'ira nulle part. Il leur montrera la page IIS à la place.
Alors, comment s'assurer que les utilisateurs sont redirigés vers la bonne page Storefront (version https) à chaque fois? -
Nous allons configurer un autre serveur virtuel sur le port 80 avec une URL de redirection configurée.
-
Sous Gestion du trafic - Équilibrage de charge - Serveurs virtuels, cliquez sur Ajouter
-
Sous Paramètres de base, attribuez un nom au serveur virtuel et sélectionnez le protocole HTTP
-
Spécifiez la même adresse IP que pour le Storefront LB VIP et fournissez 80 pour le numéro de port
- Cliquez sur OK/Créer
-
Sous Persistence, sélectionnez SOURCEIP avec un Time-out de 2 minutes
Cliquez sur OK
Sous Protection, saisissez l'URL HTTPS correcte vers laquelle vous souhaitez que les utilisateurs soient redirigés dans le champ URL de redirection
-
Cliquez sur OK. Cliquez ensuite sur Terminé
-
Vous remarquerez que le serveur virtuel sera marqué comme down
2.5 Modification DNS
-
Aller sur le serveur DNS et ouvrez la console DNS
-
Créez un enregistrement A pointant vers le nom Storefront LB avec l'adresse IP configurée sur le vServer pour la configuration LB.
2.6 Modification du Storefront
-
Aller sur les serveurs Storefront et exécuter certaines commandes Powershell
-
Désormais, les moniteurs que nous avons créés précédemment seront marqués comme Down si nous n'avons pas effectué cette étape avant de les créer sur le NetScaler. C'est parce que le moniteur créé était basé sur HTTPS et par défaut, la surveillance de Storefront se fait sur HTTP
-
Pour changer cela en HTTPS. Nous devons configurer le service de surveillance pour utiliser HTTPS à la place. Sur tous les serveurs StoreFront, effectuez les étapes suivantes.
-
Exécutez PowerShell en tant qu'administrateur.
-
Accédez au dossier Scripts (C:\Program Files\Citrix\Receiver StoreFront\Scripts) via le Powershell sur le serveur Storefront,
- Exécutez ImportModules.ps1
Exécutez la commande Get-DSServiceMonitorFeature
Maintenant, tapez (pour configurer Storefront Monitor sur HTTPS)
Set-DSServiceMonitorFeature -ServiceURL https://localhost:443/StoreFrontMonitor
-
Répétez les étapes ci-dessus sur tous les serveurs Storefront.
-
Maintenant, retournez sur le NetScaler et vous pouvez voir que le moniteur sera en VERT et affichera un statut UP
-
C'est tout ce que nous devons faire pour configurer l'équilibrage de charge Storefront à l'aide de NetScaler.