rss logo

Comment mettre en place une ferme RDS

Microsoft logo

De nos jours, il est plutôt courant de voir des environnements RDS en entreprise. Généralement et pour les petites structures (moins de 30 utilisateurs) un seul serveur peut s'avérer suffisant. Mais dans le cas ou un grand nombre d'utilisateurs doivent se connecter, des ralentissements peuvent se faire sentir malgré le gonflement de la configuration matérielle (CPU et RAM), de plus, il pourra s'avérer compliquer de faire évoluer son architecture dans le cas ou le nombre d'utilisateurs venait à augmenter.

Donc, si l'on souhaite mettre en place une solution évolutive et qui pourra soutenir la charge d'un très grand nombre de connexions simultanées, il sera nécessaire de mettre en place une ferme RDS qui consiste en la séparation des différents services (broker, serveur de licence, hote de session etc…) en plusieurs serveurs. Cela permettra en plus de créer une pool de serveurs RD Session Host qui se chargeront d'accueillir les utilisateurs. Et c'est justement ce que nous allons voir dans l'article ci-dessous.

Architecture Ferme RDS

Voici l'architecture que l'on va mettre en place.

Diagramme montrant l'architecture de la ferme RDS avec les profils d'utilisateurs, les hôtes de session RD, l'agent de connexion RDS et les clients RDS, y compris les adresses IP et les noms de serveurs.
Architecture Ferme RDS.

Installation (broker.std.local)

On pourra au choix installer notre architecture RDS en ligne de commande PowerShell ou depuis l'interface graphique.

Installation depuis l'interface graphique

Ajout des serveurs

Dans un premier temps nous allons déclarer nos serveurs RDS dans notre gestionnaire de serveur.

  • Depuis le Gestionnaire de serveur faire un clic droit sur Tous les serveurs > Ajouter des serveurs :
Capture d'écran de l'interface du Gestionnaire de serveur montrant l'option d'ajout de serveurs dans le menu « Tous les serveurs ».
  • Ajouter les serveurs :
Capture d'écran montrant le processus d'ajout de serveurs à partir d'Active Directory dans le Gestionnaire de serveur, y compris la sélection et le déplacement de serveurs dans la liste sélectionnée.

Installation

  • Toujours depuis le Gestionnaire de serveur aller dans Gerer > Ajouter des rôles et fonctionnalités :
Capture d'écran du Gestionnaire de serveur montrant l'option permettant d'ajouter des rôles et des fonctionnalités à partir du menu « Gérer » de la page des propriétés du serveur local.
  • A l'apparition de la première fenêtre, cliquer sur Suivant :
Capture d'écran de la page « Avant de commencer » de l'assistant d'ajout de rôles et de fonctionnalités, avec les instructions et le bouton « Suivant » en surbrillance.
  • Choisir Remote Desktop Services installation :
Capture d'écran de l'assistant d'ajout de rôles et de fonctionnalités, montrant la sélection du type d'installation des services de bureau à distance, avec le bouton « Suivant » en surbrillance.
  • Choisir un mode déploiement standard :
Capture d'écran de l'assistant d'ajout de rôles et de fonctionnalités, montrant la sélection du type de déploiement standard pour les services de bureau à distance, avec le bouton « Suivant » en surbrillance.
  • Choisir Session-based dektop deployment :
Capture d'écran de l'assistant d'ajout de rôles et de fonctionnalités, montrant la sélection du scénario de déploiement de bureau basé sur la session pour les services de bureau à distance, avec le bouton « Suivant » en surbrillance.
  • Cliquer sur Suivant :
Capture d'écran de l'assistant d'ajout de rôles et de fonctionnalités, montrant un examen des services de rôle sélectionnés pour les services de bureau à distance, avec le bouton « Suivant » en surbrillance.
  • Ajouter le serveur broker :
Capture d'écran de l'assistant d'ajout de rôles et de fonctionnalités, montrant un examen des services de rôle sélectionnés pour les services de bureau à distance, avec le bouton « Suivant » en surbrillance.
  • Ajouter de nouveau le serveur broker comme serveur RD Web Access :
Capture d'écran de l'assistant d'ajout de rôles et de fonctionnalités, montrant la sélection du serveur pour le rôle Remote Desktop Web Access, avec une flèche indiquant le serveur en cours d'ajout et le bouton « Suivant » en surbrillance.
  • Puis ajouter le(s) serveur(s) RDS comme serveurs hotes :
Capture d'écran de l'assistant d'ajout de rôles et de fonctionnalités, montrant la sélection des serveurs hôtes de la session Bureau à distance, avec une flèche indiquant le serveur en cours d'ajout et le bouton « Suivant » en surbrillance.
  • Cocher le Redémarrage automatique et cliquer sur Déployer pour lancer l'installation :
Capture d'écran de l'assistant d'ajout de rôles et de fonctionnalités, montrant la confirmation des rôles sélectionnés et l'option de redémarrage automatique du serveur de destination, avec le bouton « Déployer » en surbrillance.

Installer avec PowerShell

  • Installer les Services RDS avec PowerShell :
PS C:\> Add-WindowsFeature -Name RDS-Connection-Broker,RDS-Licensing,RDS-RD-Server -IncludeManagementTools -Restart
  • Déployer RDS avec PowerShell :
PS C:\> Import-Module RemoteDesktop
PS C:\> New-RDSessionDeployment -ConnectionBroker broker.std.local -WebAccessServer broker.std.local -SessionHost rds01.std.local

Post-Install

Une fois les services RDS installés, nous pouvons passer à la configuration.

Serveur de Licences (broker.std.local)

  • Depuis le Server Manager aller dans Remote Desktop Services > Overview et cliquer sur l'icône RD Licensing pour ajouter un Serveur de licence :
Capture d'écran de la page d'aperçu des services de bureau à distance du gestionnaire de serveur, mettant en évidence l'option d'ajout d'un gestionnaire de licence avec une flèche pointant vers elle.
  • Choisir le serveur broker comme serveur de licence RD :
Capture d'écran de l'assistant d'ajout de gestionnaire de licence pour Remote Desktop Services, montrant la sélection d'un serveur dans le pool, avec une flèche indiquant le serveur en cours d'ajout et le bouton « Suivant » en surbrillance.
  • Cliquer sur Ajouter :
Screenshot of the Add License Manager Wizard for Remote Desktop Services, showing the confirmation of selections with the 'Add' button highlighted.
  • A la fin de l'installation, Fermer :
Capture d'écran de l'assistant d'ajout d'un gestionnaire de licence pour Remote Desktop Services, montrant la progression de l'installation avec le bouton « Fermer » en surbrillance.

Ajout des serveur Hôtes de Session

  • Depuis la fenêtre de Vue d'Ensemble du Déploiement, faire un clic droit sur RD Session Hosts et cliquer sur Add RD Session Servers :
Capture d'écran de la vue d'ensemble du déploiement des services de bureau à distance, avec l'option d'ajout de serveurs hôtes de session en surbrillance.
  • Et les autres serveurs RDS :
Capture d'écran de l'assistant d'ajout d'hôte de session pour Remote Desktop Services, montrant la sélection des serveurs RDS02 et RDS03 dans le pool, avec une flèche indiquant les serveurs en cours d'ajout et le bouton « Suivant » en surbrillance.
  • Cocher la case pour Redémarrer les services distants et cliquer sur Ajouter :
Capture d'écran de l'assistant d'ajout d'hôte de session pour les services de bureau à distance, montrant la confirmation des serveurs sélectionnés RDS02 et RDS03 avec l'option de redémarrage des ordinateurs distants si nécessaire, et le bouton « Ajouter » en surbrillance.
  • Une fois installé fermer la fenêtre :
Screenshot of the Add Session Host Wizard for Remote Desktop Services, showing the installation progress with successful status for RDS02 and RDS03 servers, and the 'Close' button highlighted.

Mettre en place le partage du dossier des profils utilisateur (rdsprofiles.std.local)

  • Faire un clic droit sur le dossier User_Profiles et cliquer sur Propriétés :
Screenshot of a Windows Explorer window showing the right-click context menu on the 'User_Profiles' folder, with the 'Properties' option highlighted.
  • Activer le partage comme ici :
Capture d'écran montrant le processus de configuration du partage de dossiers dans Windows, y compris la sélection du bouton « Partager », le choix des utilisateurs et des niveaux d'autorisation, et la confirmation que le dossier est partagé, avec le bouton « Terminé » en surbrillance.

Créer une Collection

  • Depuis la fenêtre de Vue d'Ensemble du Déploiement, faire un clic droit sur RD Session Hosts et cliquer sur Créer une collection de sessions :
Screenshot of the Remote Desktop Services deployment overview, highlighting the option to 'Create Session Collection' in the RD Session Host section.
  • Cliquer sur Suivant :
Capture d'écran de l'assistant « Créer une collection », montrant la page « Avant de commencer » avec les instructions et le bouton « Suivant » en surbrillance.
  • Donner un nom à la Collection :
Capture d'écran de l'assistant « Créer une collection », montrant la page « Nom de la collection » où « RDSFarm » est saisi comme nom, avec le bouton « Suivant » en surbrillance.
  • Ajouter les Serveurs RDS à la Collection :
Screenshot of the 'Create Collection' wizard, showing the selection of RD Session Host servers (RDS01, RDS02, and RDS03) from the server pool, with an arrow indicating the servers being added and the 'Next' button highlighted.
  • Préciser le groupe utilisateurs qui sera autoriser à se connecter à notre ferme RDS :
Capture d'écran de l'assistant « Créer une collection », montrant la page « Groupes d'utilisateurs » où « Utilisateurs du domaine » est spécifié, avec le bouton « Suivant » en surbrillance.
  • Préciser le dossier partagé que l'on a précédemment mis en place sur le serveur RDSPROFILES :
Capture d'écran de l'assistant « Créer une collection », montrant la page « Disques du profil utilisateur » avec l'emplacement défini sur « \\rdsprofiles\User_Profiles » et le bouton « Suivant » en surbrillance.
  • Cliquer sur Créer :
Capture d'écran de l'assistant « Créer une collection », montrant la page « Confirmation » avec les détails du nom de la collection, des groupes d'utilisateurs, des serveurs hôtes de session et des disques de profil d'utilisateur, avec le bouton « Créer » en surbrillance.
  • Puis fermer le fenêtre une fois toutes les opérations terminées :
Capture d'écran de l'assistant « Créer une collection », montrant la page « Voir la progression » avec l'état de réussite de la création de la collection et de l'ajout de serveurs, avec le bouton « Fermer » en surbrillance.

Ajouter les entrées DNS (AD Server)

⚠️ Notez que le nouveau nom d'hôte doit être identique au nom de la collection précédement défini. Dans cet exemple : RDSfarm⚠️
  • Depuis un serveur Active Directory, ouvrir le Gestionnaire DNS :
Screenshot of the Windows 'Run' dialog box with 'dnsmgmt.msc' entered, and the 'OK' button highlighted.
  • Depuis la zone de recherche directe, ajouter de nouvelles entrées de type hôte (A) :
Capture d'écran de la fenêtre du gestionnaire DNS, montrant le menu contextuel avec l'option 'Nouvel hôte (A ou AAAA)' en surbrillance sous le domaine 'std.local'.
  • Exemple ici avec trois serveurs Session Host :
Capture d'écran de la boîte de dialogue « Nouvel hôte » dans le gestionnaire DNS, montrant la configuration de plusieurs adresses IP pour « rdsfarm.std.local », avec le bouton « Ajouter un hôte » en surbrillance.

Alternative à l'ajout des entrées DNS (Client)

Il existe une autre manière d'informer le broker sur quelle collection l'on souhaite se connecter. Pour cela il faut personnaliser une icône RDP. La façon la plus simple de le faire est de modifier un fichier RDP avec Notepad.

Capture d'écran du Bloc-notes affichant le contenu d'un fichier « Default.rdp » sur le bureau, montrant divers paramètres de configuration RDP.

Une fois ouvert, vérifiez si des lignes contenant les termes "loadbalanceinfo," "full address," "gatewayhostname," "use redirection server name," ou "alternate full address" sont présentes. Si une ou plusieurs lignes existes, supprimez-les.

Ensuite, ajoutez les lignes suivantes et mettez à jour les informations en fonction de vos propres serveurs et noms de collection :

loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.RDSFarm full address:s:broker.std.local gatewayhostname:s:broker.std.local use redirection server name:i:1 alternate full address:s:broker.std.local

Enregistrez le fichier modifié et ouvrez l'icône RDP.

Clients RDS

Avec une entrée DNS

  • Le client utilisera l'entrée DNS rdsfarm (le nom de la collection) pour se connecter à l'un des RDS Session Host :
Screenshot of the Remote Desktop Connection window, with 'rdsfarm.std.local' entered in the 'Computer' field and the 'Connect' button highlighted.

Alternative, sans entrée DNS

  • Le client utilisera l'icône RDP précédemment créée pour se connecter à l'un des RDS Session Host :
Capture d'écran de la fenêtre de connexion au bureau à distance, avec « broker.std.local » saisi dans le champ « Ordinateur » et le bouton « Connecter » visible.

Forcer la connexion sur un hôte RDS spécifique

Comme expliqué précédemment, la mission du broker sera de répartir aléatoirement les utilisateurs sur les différents serveurs hôtes de session. L'objectif étant d'équilibrer la charge de l'ensemble des sessions utilisateurs. Toutefois, en tant qu'administrateur, dans le cas par exemple de l'installation d'un nouveau logiciel, il peut s'avérer utile d'avoir la possibilité de choisir le serveur sur lequel on se connecte. L'architecture de la ferme RDS permet cela, voyons ci-dessous comment cela se passe.

  • Imaginons ici que l'on souhaite se connecter au serveur RDS02, ayant pour adresse IP 192.168.1.201. Depuis la fenêtre exécuter d'un PC Windows, entrez la commande suivante :
mstsc /v:192.168.1.201 /admin Screenshot of the Windows 'Run' dialog box with 'mstsc /v:192.168.1.201 /admin' entered, and the 'OK' button highlighted.
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :

contact mail address