VDI : 1.1 Fonctionnement de l’infrastructure VDI de Microsoft

1.1 Fonctionnement de l’infrastructure VDI de Microsoft

Microsoft Virtual Desktop Infrastructure (VDI) est une solution délivrant des postes de travail centralisés. Le but est de stocker les postes de travail, leur système d’exploitation, leurs applications, leurs données dans un environnement virtuel dans un Datacenter. Les utilisateurs bénéficient ensuite de la puissance du protocole de bureau à distance (RDP) pour accéder à ces environnements de travail. On assimile souvent le VDI comme une technologie d’optimisation des postes de travail tout comme App-V, MED-V … La technologie VDI de Microsoft fait appel à différentes technologies mise en œuvre par Microsoft et notamment :

  • Son offre de virtualisation de serveurs au travers de son hyperviseur : Hyper-V
  • Son offre de virtualisation de présentation par le biais de Remote Desktop Services

Remote Desktop Services (anciennement Terminal Services) a longtemps eu mauvaise réputation. Microsoft a longuement laissé cette technologie vieillir sans y apporter de plus-value. Windows Server 2008 a commencé à enrayer cette vérité en introduisant de nouveaux rôles et de nouvelles fonctionnalités comme le support du Single Sign On (SSO). Windows Server 2008 R2 a permis d’apporter la transmission de l’expérience utilisateur d’Aero dans cette technologie. Il est aussi maintenant possible de pouvoir visualiser du contenu en haute définition par bureau à distance. Remote Desktop Services offre aussi la possibilité d’acquisition audio et de redirection DirectX 9, 10 et 11.

Présentation des rôles :

  • Hyper-V est l’hyperviseur de Microsoft qui se chargera d’accueillir les environnements virtuels.
  • Remote Desktop Connection Broker (RD Connection Broker) : Le but du Connexion Broker est de faire l’intermédiaire entre les utilisateurs et le service final. Son rôle sert de “conseiller” pour les utilisateurs afin de leur proposer les services et de donner les informations nécessaires à son accès. Il est le plus souvent contacté par la passerelle Remote Desktop (RD Gateway) ou par le portail d’accès Internet (RD Web Access) suite aux demandes des utilisateurs :
    • Il identifie les machines virtuelles pour les utilisateurs afin d’initier la connexion à distance.
    • Il prépare la machine virtuelle en contactant le serveur hébergeant les machines virtuelles au travers du rôle : Remote Desktop Virtualization Host server (Le but est par exemple de réveiller les machines virtuelles d’un état éteint ou en sauvegarder).
    • Il obtient l’adresse IP de la machine virtuelle en contact le rôle Remote Desktop Virtualization Host server. L’adresse IP est ensuite renvoyée au rôle Remote Desktop Session Host server (anciennement Terminal Server) qui s’exécute dans un mode de redirecteur.
    • Il supervise les sessions utilisateurs dans le scenario utilisant un pool de machines virtuelles. Un utilisateur ayant ouvert une session toujours en exécution dans un pool est automatiquement redirigé sur la machine virtuelle correspondante.
  • Remote Desktop Session Host (RD Session Host) server utilisant le mode redirection : Le but du serveur RD Session Host (anciennement Terminal Server) utilisé dans un mode redirection (redirecteur) est de solidement rediriger une connexion RDP à une machine virtuelle.
  • Quand un utilisateur souhaite se connecter à une machine virtuelle, le serveur RD Session Host interroge le serveur RD Connection Broker.
  • Le serveur RD Connection Broker à son tour provisionne une machine virtuelle pour l’;utilisateur au travers du serveur RD Virtualization Host et renvoie son adresse IP pour le serveur RD Session Host. Le Serveur RD Session Host redirige ensuite le client RDP pour se connecter à la machine virtuelle en utilisant l’adresse IP.
  • Microsoft recommande d’héberger les rôles RD Connection Broker et RD Session Host sur la même machine. Cependant le scénario mettant en œuvre les deux rôles sur des machines séparées est aussi supporté ; c’est d’ailleurs ce que nous verrons dans cet article.
  • Remote Desktop Virtualization Host (RD Virtualization Host) est un rôle Remote Desktop Services inclut dans Windows Server 2008 R2. RD Virtualization Host s’intègre avec Hyper-V pour fournir des machines virtuelles qui peuvent être utilisées comme pool de bureaux virtuels ou bureaux virtuels personnels. Le serveur RD Virtualization Host a les fonctions suivantes :
    • Superviser les sessions des machines virtuelles et les reporter au serveur RD Connection Broker.
    • Préparer la machine virtuelle pour la connexion bureau à distance quand une requête est faite par le serveur RD Connection Broker.
  • Remote Desktop Web Access (RD Web Access) fournit aux utilisateurs une vue agrégée des applications distantes et des connexions de bureau à distance via un portail Web . En utilisant RD Web Access, un utilisateur peut voir toutes les applications distantes et bureaux virtuels qui lui sont attribuées.
  • Remote Desktop Gateway (RD Gateway) est un rôle optionnel dans le déploiement d’une infrastructure Microsoft VDI . Son objectif est de router les connexions RDP sur Internet en toute sécurité et à travers un firewall. RD Gateway peut être couplé avec ISA Server/Forefront Threat Management Gateway 2010 ou Forefront IAG/Forefront UAG 2010 pour améliorer la sécurisation du processus d’accès aux ressources interne. Nous n’aborderons pas la mise en place de Remote Desktop Gateway dans cet article. Néanmoins le rôle est obligatoire pour rendre disponible les environnements virtuels aux utilisateurs externes. Pour cela, vous pouvez vous rapporter à d’autres sources sur Internet expliquant sa mise en œuvre : https://technet.microsoft.com/en-us/library/dd983941(WS.10).aspx

Microsoft VDI peut être couplé avec Application Virtualization pour facilement déployer les applications sur la base des groupes utilisateurs. App-V est donc une plus-value dans le scénario utilisant un pool de machines virtuelles pour des utilisateurs différents et ne disposant pas des mêmes besoins et applications. Pour plus d’informations sur App-V, nous vous renvoyons vers notre article sur le sujet : /articles/MDOP2009-Application-Virtualization/

Enfin l’utilisation de System Center Virtual Machine Manager (SCVMM) afin de facilement administrer les différents environnements virtuels est un bon complément à Microsoft VDI. Il devient ainsi possible de provisionner facilement et rapidement des machines virtuelles dans ce type d’environnement.

Maintenant que nous avons abordé les différents rôles, nous allons brièvement décrire les différents échanges entre ceux-ci.

 

  • Si l’on considère le scénario d’une connexion Interne au réseau de l’entreprise, les utilisateurs disposent de deux moyens pour se connecter. Ils peuvent utiliser le portail du serveur Remote Desktop Web Access (RD Web Access) ou les fonctionnalités de « RemoteApp and Desktop Connexion ».
  • Une fois la connexion au service établie (portail) et après authentification des utilisateurs auprès de l’annuaire, la demande est envoyée au serveur Remote Desktop Session Host.
  • Le serveur Remote Desktop Session Host utilisant un mode redirection, redirige la demande au rôle Remote Desktop Connection Brokerpour provisionner une machine à l’utilisateur.
  • Le Serveur Remote Desktop Connection Broker interroge l’annuaire Active Directory pour savoir si l’utilisateur est habilité à accéder à cette ressource.
  • Le serveur Remote Desktop Connection Brokerà son tour provisionne une machine virtuelle pour l’;utilisateur au travers du serveur Remote Desktop Virtualization Host et son infrastructure Hyper-V
  • Le serveur Remote Desktop Virtualization Host effectue les différentes opérations (réveil, démarrage…) nécessaires à la mise en ligne de la machine virtuelle.
  • Le serveur Remote Desktop Connection Brokerrenvoie l’adresse IP de la machine au serveur Remote Desktop Session Host.
  • Le Remote Desktop Session Host redirige ensuite le client RDP pour se connecter à la machine virtuelle en utilisant l’adresse IP.
  • Le client est connecté.
  • Une fois que le client se déconnecte, le serveur Remote Desktop Session Host est informé. Il informe le serveur Remote Desktop Connection Broker afin de libérer les ressources. Dans le cadre du scénario de pool de machine virtuelle, la VM subit une restauration (rollback) à son état initial.

 

Schéma de fonctionnement dans le cas d’une connexion externe au réseau de l’entreprise :

Source: Remote Desktop Services Team Blog