Introduction
Pour faire suite à l’article : Déployer une ferme RDS Windows 2012R2/2016/2019, nous allons voir dans ce tutoriel comment configurer le service broker en haute disponibilité.
Cette configuration est optimisée pour les clients qui utilisent comme adresse de connexion aux services RDS, l’adresse du broker. Le tutoriel : Connexion aux serveurs hôte de session Bureau à distance par le Broker vous explique comment créer un fichier RDP pour ce type de configuration.
Infrastructure cible :
Explication :
Lors de la connexion à la ferme RDS, le client est configuré pour initier la connexion pour contacter le service broker et celui-ci redirige la demande vers l’un des serveurs hôte de session de bureau à distance.
Prérequis
Avant de se lancer dans la configuration du service en haute disponibilité plusieurs prérequis sont nécessaires.
Groupe Active Directory
Créer un groupe de sécurité Active Directory et mettre les serveurs broker membre.
Enregistrement DNS
Créer un enregistrement DNS commun aux serveurs broker pour la configuration des clients.
Serveur SQL
Afin que les serveurs ayant le service broker accèdent au même informations, il est nécessaire de mettre en place un serveur SQL.
Pour la réalisation de ce tutoriel, j’ai installé un serveur SQL Express 2016 SP2, que j’ai configuré avec l’accès distant. J’ai également installé SQL Server Mangement Studio pour administrer l’instance.
Configurer la connexion pour les serveurs brokers
1. Depuis SSMS, faire un clic droit sur Connexions 1 et cliquer sur Nouvelle connexion 2.
2. Cliquer sur Rechercher… 1.
3. Dans les types d’objets, ajouter les groupes 1 puis ajouter le groupe de serveur créé précédemment 2 et cliquer sur OK 3.
4. Aller ensuite sur Rôles du serveur 1 et cocher dbcreator 2 et cliquer sur OK 3 pour ajouter la connexion.
5. La connexion est ajoutée dans la liste.
Configurer la base de données
1. Faire un clic droit sur Bases de données 1 et cliquer sur Nouvelle base de données 2.
2. Entrer le nom de la base de données 1 et cliquer sur OK 2.
3. La base de données est ajoutée.
4. Modifier la connexion précédemment créée pour la connexion des serveurs brokers en ajoutant le rôle db_owner sur la base de données pour le service broker.
Serveurs broker
Sur chaque serveur broker, il faut installer le client SQL Natif (sqlncli.msi). Il est disponible dans les sources du SQL Server.
Configurer la haute disponibilité
1. Depuis le gestionnaire de serveur où la ferme a été configurée, aller à la vue d’ensemble du déploiement, faire un clic droit sur Service Broker 1 et cliquer sur Configurer la haute disponibilité 2.
2. Au lancement de l’assistant, cliquer sur Suivant 1.
3. Sélectionner Serveur de base de données dédié 1 et cliquer sur Suivant 2.
4. Entrer le nom DNS d’accès aux serveurs 1 et la chaîne de connexion à la base 2 puis cliquer sur Suivant 3.
DRIVER=SQL Server Native Client 11.0;SERVER=<!SERVER!>;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=<!DATABASE!>
5. Confirmer le passage en HA en cliquant sur Configurer 1.
6. Patienter pendant la configuration…
7. Une fois la configuration effectuée, cliquer sur Fermer 1.
8. Dans la vue d’ensemble du déploiement, on voit que le service broker est en haute disponibilité.
On voit également que la base de données a été alimentée.
Maintenant que le service broker est configuré pour être en haute disponibilité, nous allons voir comment ajouter un serveur.
Ajouter un serveur au service broker
1. Ajouter le serveur dans le Gestionnaire de serveur si cela n’est pas fait.
2. Depuis la vue d’ensemble des Services de bureau à distance, faire un clic droit sur Service Broker 1 cliquer sur Ajouter un serveur du service Broker pour les connexions Bureau à distance 2.
3. Au lancement de l’assistant, cliquer sur Suivant 1.
4. Sélectionner le serveur et ajouter le à la liste des serveurs sélectionnés 1 puis cliquer sur Suivant 2.
5. Confirmer en cliquant sur Ajouter 1.
6. Patienter pendant l’installation des fonctionnalités et la configuration du service broker.
7. Le serveur est ajouté au service broker, un message d’alerte s’affiche en bas indiquant qu’il faut configurer le certificat pour les serveurs du service broker. Quitter l’assistant en cliquant sur Fermer 1.
8. Le serveur est ajouté.
Configurer le certificat du service broker
Si vous avez déjà un certificat installé sur le premier serveur broker, il suffit de l’appliquer à celui qui vient d’être ajouté.
Pour le tutoriel, nous allons créer un certificat auto-signé que nous allons appliquer aux deux serveurs.
1. Ouvrir les propriétés de déploiement, aller sur Certificats 1 et cliquer sur Créer un certificat 2.
2. Entrer le nom fqdn du certificat 1, le mot de passe 2, indiquer le chemin et le nom du fichier pour l’enregistrer 3. Cocher la case 4 pour ajouter le certificat au magasin et cliquer sur OK 5.
3. Le certificat est créé et prêt à être appliqué. Cliquer sur le bouton Appliquer 1.
4. Sélectionner l’autre serveur broker 1 et cliquer sur Sélectionner un certificat existant 2.
5. Sélectionner le certificat 1, entrer le mot de passe 2, cocher la case pour l’ajouter au magasin 3 et cliquer sur OK 4.
6. Appliquer le certificat en cliquant sur Appliquer comme pour le premier serveur.
7. Les serveurs broker sont maintenant configurés.
Le service broker est maintenant configuré et en haute disponibilité.
Changer le serveur d’administration
1. Depuis la vue d’ensemble, cliquer sur TACHES 1 puis sur Sélectionner un serveur d’administration des services Bureau à distance 2.
2. Sélectionner le serveur 1 et cliquer sur Définir comme étant actif 1.
3. Patienter pendant la bascule de serveur.
4. Le serveur est permuté.
Conclusion
Le service broker est maintenant en « haute disponibilité ».
Pour avoir une vrai haute disponibilité du service broker dans cette configuration il faut :
- Mettre la base de données en cluster
- Configurer NLB sur les serveurs ayant le service broker ou utiliser une solution de load-balancing (Kemp).
Une alternative à la mise en haute disponibilité du service broker si le serveur est virtuel et que vous avez plusieurs hyperviseurs est de répliquer le serveur broker sur un autre hôte.