Dans ce billet, nous allons mettre en place une solution RDS sur Windows serveur 2012 en haute disponibilité, il est question de voir les grandes lignes de la solution avec le nouveau mécanisme de fonctionnement en collection des serveurs RDS 2012. Il est important de préciser que l’on ne peut pas migrer des serveurs RDS 2008R2 et versions antérieures vers des serveurs 2012.

Introduction

Dans ce billet, nous allons utiliser 7 vm :

  • OT-RDS01 et 02 (session d’hôte)
  • OT-RDSGW01 et 02 (passerelle et accès distant)
  • OT-RDSSQL01 et 02 (SQL et broker)
  • OT-ADTEST01 (AD + gestionnaire de licence)

Tous les rôles sont nécessaires, sauf celui de passerelle. Dans ce billet, il sera présent car il est recommandé.

Mise en place des différents rôles

Avant de commencer l’installation des rôles, nous allons ajouter tous nos serveurs au pool afin de pouvoir tous les gérer à partir d’un seul endroit : dans le server manager => « Gérer » => « Ajouter serveurs »

Maintenant que tous les serveurs sont dans le domaine et ajoutés au pool actuel, les rôles peuvent être installés. Pour cela, il faut cliquer sur « Gérer » puis « Ajouter une fonctionnalité »

  • Installation des services Bureau à distance
  • Déploiement standard
  • Cocher « Déploiement de bureau basés sur une session »
  • Choisir le serveur brooker (OT-RDSSQL01 et 02)
  • Choisir le serveur d’accès distant (OT-RDSGW01 et 02)
  • Choisir le serveur d’hôte de session (OT-RDS01 et 02)

Après l’installation du déploiement, deux rôles restent à paramétrer : passerelle et gestionnaire de licence.

  • Concernant le gestionnaire de licence, vous pouvez l’installer sur le serveur que vous voulez. Ici, nous l’installerons sur OT-ADTEST. Pour cela, cliquez sur « + »  du gestionnaire de licence et « ajouter des serveurs… ». Pour la configuration, il faut aller sur le serveur contenant le rôle puis « outils » => « Terminal Service » =>Gestionnaire de licence.. » puis dans l’arborescence de gauche, effectuer un clic droit sur le serveur et «Activer le serveur ».
  • Concernant le rôle de passerelle, cliquez sur « + »  du gestionnaire de licence de la passerelle des services puis ajoutez les deux serveurs OT-RDSGW01 et 02. Pour la configuration, il faut mettre le nom du certificat SSL par exemple webapp.test.com.

De base lors de la création de la passerelle, deux stratégies se créent :

  • Stratégies d’autorisation des connexions
  • Stratégies d’autorisation d’accès aux ressources

Pour voir/modifier ces stratégies dans le server manager => Outils =>Terminal Services=> passerelle à distance.

Tips : par rapport à l’accès distant pour connaitre l’url, dans la partie « Vue d’ensemble du déploiement » sur « Tâche »  puis « modifier les propriétés de déploiement » => l’onglet accès à distance.

Concernant la configuration des certificats dans la vue du déploiement RDS, cliquez sur « Tâche » puis « Propriétés du déploiement »  => onglet « Certificats », il est ainsi possible de créer un certificat ou d’en importer.

Nous allons maintenant voir comment créer une collection.
Dans la vue d’ensemble du déploiement, cliquez sur « Serveur hôte de session » puis « Créer une collection »

  • Le nom de la collection
  • Les serveurs RDS du client
  • Le groupe d’utilisateur ayant accès à cette collection

Apres avoir suivi les étapes précédentes l’nfrastructure estfonctionnelle. Il est possible d’utiliser le TSE à partir d’un RDP ou de la page web !

 

Voyons maintenant comment mettre en place la Haute disponibilité des passerelles et des brookers.

Haute disponibilité

Haute disponibilité des passerelles

Pour configurer les passerelles en haute disponibilité, il faut ajouter la fonctionnalité « Equilibrage des charges » sur les deux serveurs contenant le rôle passerelle. Il faut créer un nouveau cluster, dans le serveur manager =>  « Outils » => « Gestionnaire d’équilibrage des charges » puis faites un « nouveau cluster » :

  • Saisir le nom du serveur GW puis sélectionner l’interface.
  • Ajouter l’ip du cluster
  • Saisir le « nom interne » (le même que la passerelle => webapp.test.com)
  • Modifier la règle, changer l’étendu du port de 433 à 443 et mettre le protocole TCP

Pour ajouter le deuxième serveur au cluster, cliquez droit sur le cluster et « Ajouter un hôte » puis saisissez le nom d’hôte. Cliquez ensuite sur Terminer.

Maintenant que le cluster est créé, ouvrez l’outil « Terminal Service » => « Gestionnaire de passerelle ». Dans l’écran principal, cliquez sur « Ajouter des membres de batterie.. » => Onglet « Batterie de serveurs » et ajoutez les deux serveurs GW.

Haute disponibilité des bases SQL

Dans un premier temps, il faut installer la fonctionnalité « Clustering de basculement » sur les deux serveurs DB soit RDSSQL01 et 02. Apres installation, nous allons créer le cluster en allant sur « server manager » => « Outils » => « Gestionnaire de basculement », sur l’interface de clustering dans l’arborescence de droite cliquez sur « créer le cluster » :

  • Ajouter les deux serveurs DB
  • Exécuter uniquement les tests que je sélectionne
  • Décocher Stockage
  • Après que les tests soient ok
  • Mettre l’ip du cluster
  • Cliquer sur Terminer

Dans un second temps, il faut installer SQLSERVEUR dans une version où il y a la fonctionnalité « AlwaysOn » pour la création de groupe de disponibilité AlwaysOn.

Dans « Sql server configuration manager » puis sur « Services SQL Server » :

  • Faites clic droit sur « SQL Server<Nom Instance> » => Propriété
  • Dans l’onglet « Haute dispo. AlwaysOn », coché « Activer les groupes… »
  • Appliquer et ok
  • Redémarrer le service Agent SQL server
  • Faire la même manipulation sur le 2ème serveur

Dans « Microsoft SQL Server Management studio », créez une nouvelle base qui sera utilisée pour l’initialisation de la réplication. Vouc pouvez la nommer comme vous le souhaitez, ici nous l’appellerons z_monitoring. Après la création de cette nouvelle base, il faut la sauvegarder ensuivant la démarche suivante :

  • Clic droit sur la base
  • « Tâche »
  • « Sauvegarder »
  • Mettre la bonne base de données
  • Mettre le nom du jeu de sauvegarde
  • Sélectionner le répertoire où va se situer le .bak

On va ajouter un groupe de disponibilité AlwaysOn :

  • Clic droit sur le dossier « Haute dispo. AlwaysOn » puis « Assistant… »
  • Spécifier le nom du groupe de dispo. (RDSSQL_HA_SQL)
  • Sélectionner la base, ici z_monitoring
  • Dans l’onglet « Réplicas » => Ajoutez le 2ème serveur DB, ici OT-RDSSQL02 puis cocher les cases « basculement automatique »
  • Dans la même fenêtre, mais l’onglet « Ecouteur » créer un écouteur en spécifiant un nom (par ex : Dbcluster), le port (1433), et son adresse.
  • Créer un emplacement réseau (par ex : \\ot-rdssql01\Ha_Activation) puis terminer.

 

Après sa création une base de données n’est pas automatiquement en haute disponibilité. Pour la rendre disponible en cas de panne d’un serveur SQLn, procédez de la manière suivante.

  • Créer une autre DB, par exemple z_monitoring2
  • Effectuer sa sauvegarde
  • Sur le groupe de disponibilité créé précédemment, faites un clic droit => « Ajouter une base … »
  • Sélectionner la nouvelle base
  • Connecter
  • Terminer

Haute disponibilité des brookers

Créer deux entrées DNS « A record » avec le nom du cluster souhaité (par exemple broker) pointant sur les deux serveurs BROKER. Si le brooker n’est pas sur les serveurs SQL, il faut installer le sql server 2012 native client (sqlncli.msi).

Attribuez les droits dbcreator pour la création de la base de données lors de la configuration du HA du broker :

  • Sur l’instance => le dossier sécurité
  • Dans le dossier connexion, double-cliquer sur l’utilisateur voulu et sélectionner sysadmin et dbcreator

On va maintenant configurer le broker en Heut Disponibilité. Sur la vue du déploiement, procédez à un clic droit sur l’icône du broker.

  • DRIVER=SQL Server Native Client 11.0;SERVER=SQLcluster;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE= broker_HA
  • D:\ MSSQL11.MSSQLSERVER\MSSQL\DATA
  • Nom DNS du broker
  • Terminer

Puis ajoutez le deuxième serveur Broker.

 

Dans la suite de cet article, nous allons nous assurer de la compatibilité de cette solution avec des clients RDP inférieurs à la version 7.

Compatibilité avec client RDP

Depuis l’apparition de RDS 2012 et lors de la mise en place d’une ferme de serveur « Hôtes de session Bureau à distance » (appelée « collection »), la connexion directe via un client RDP (version < 7) aux serveurs de la ferme n’est plus fonctionnelle, hormis en console avec le commutateur /admin.

Par défaut, l’accès aux serveurs Hôtes de session Bureau à distance se fait via l’accès web, or il peut être nécessaire d’accéder aux serveurs directement en RDP. La procédure ci-dessous décrit donc les différentes méthodes d’accès à une collection de serveurs « Hôtes de session Bureau à distance ».

Cas d’une ferme de serveur avec plusieurs serveurs hôtes de session Bureau à distance (compatible RDP > 7)

La première solution consiste à se connecter au serveur qui gère l’accès Web des services Bureau à distance (son URL est disponible dans les propriétés de déploiement RDS, par défaut elle correspond àhttps://FQDN_BROKER /RDWeb) puis à télécharger le raccourci RDP correspondant à la collection. Ce raccourci permet de se connecter à la ferme de serveurs à condition que le client RDP soit au minimum en version 7 (installé nativement depuis Windows 7 mais qu’il est possible de télécharger pour Windows XP SP3 et Windows Vista).

Certains paramètres spécifiques à RDS 2012 y sont présents. On peut les retrouver en éditant avec un bloc-notes le raccourci RDP téléchargé via l’accès web :

use redirection server name:i:1 (normalement à 0)

  • indique à l’ordinateur client qui lance la connexion RDP que la session va être redirigée vers un autre serveur (un des membres de la collection)

loadbalanceinfo:s:tsv://MS Terminal Services Plugin.1.NOM_COLLECTION

  • indique au serveur Broker qui va gérer la demande de connexion RDP vers quelle collection la session doit être redirigée

Sans ces paramètres précis dans le raccourci RDP, la connexion à la collection n’est pas possible (exception faite d’une collection avec un seul serveur hôte de session Bureau à distance).

Pour éviter d’avoir à télécharger le raccourci via l’accès web, on peut créer un raccourci RDP vers le FQDN du serveur Broker, ajouter ces paramètres au fichier grâce à un bloc-notes et ainsi accéder à la ferme de serveurs hôte de session Bureau à distance.

Création d’un round robin DNS (compatible RDP < 7)

Dans de nombreux cas, il est nécessaire de pouvoir se connecter à la collection de serveurs à partir de postes équipés d’un client RDP non-compatible RDS 2012 (Windows XP, clients légers Linux, etc.).

La solution consiste à créer un round robin sur le serveur DNS du réseau local. De cette manière, le client RDP qui va faire une demande de connexion n’aura pas « l’impression » d’être redirigé vers un autre serveur et on évitera un message d’erreur du type :

Il faut pour cela créer un enregistrement « A » vers chaque serveur hôte de session Bureau à distance en choisissant un nom pour la ferme différent de celui de la collection.

Si par exemple le nom de la collection est « TSE-APPLICATIONS » (tel qu’il a été défini sur le serveur Broker), on pourra choisir comme nouveau nom DNS « APPS ». Si cette collection contient deux serveurs hôtes de session dont les adresses IP sont respectivement 192.168.1.10 et 192.168.1.11, on pourra créer deux enregistrement DNS tels que :

Il sera ensuite possible de se connecter à la ferme de serveurs via ce nouveau nom DNS sans avoir à rentrer de paramètres spécifiques (compatible RDP < 7) :

Cas d’une collection avec un seul serveur hôte de session Bureau à distance

Il est possible dans ce cas de se connecter directement en RDP au serveur de manière habituelle, en effet aucune redirection de session ne sera effectuée par le serveur Broker.

Noémie Simon
Noémie Simon
Communicante multidisciplinaire et un peu geek. Passionnée par les nouvelles technologies et l'innovation. Je travaille aujourd'hui en tant que Community Manager !