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.
Voici l'architecture que l'on va mettre en place.
On pourra au choix installer notre architecture RDS en ligne de commande PowerShell ou depuis l'interface graphique.
Dans un premier temps nous allons déclarer nos serveurs RDS dans notre gestionnaire de serveur.
PS C:\> Add-WindowsFeature -Name RDS-Connection-Broker,RDS-Licensing,RDS-RD-Server -IncludeManagementTools -Restart
PS C:\> Import-Module RemoteDesktop
PS C:\> New-RDSessionDeployment -ConnectionBroker broker.std.local -WebAccessServer broker.std.local -SessionHost rds01.std.local
Une fois les services RDS installés, nous pouvons passer à la configuration.
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.
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.
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.
mstsc /v:192.168.1.201 /admin
Contact :