Depuis la sortie de la version 1.3 du SDK Windows Azure, il est désormais possible de configurer une Connexion Bureau à Distance pour accéder à vos instances tournant dans Windows Azure. Cette fonctionnalité était très attendue, notamment par les développeurs, pour faciliter le diagnostic des applications tournant dans Windows Azure.

Essayez Windows Azure gratuitement!
Offre découverte gratuite
Abonné MSDN Premium, Ultimate ou BizSpark?

Avant d’aller plus loin, je voulais simplement clarifier le scénario d’usage pour cette fonctionnalité: l’idée n’est pas ici de mettre à disposition des “postes de travail dans le nuage”, mais plutôt d’autoriser la connexion à distance pour les populations techniques (développeurs, exploitants) dans le but de surveiller ou d’effectuer des opérations de maintenance sur les applications. Le scénario de déport de poste de travail pour des utilisateurs fonctionnels (exécution de Microsoft Office ou autre, par exemple) n’est pas aujourd’hui un scénario supporté.

Et maintenant, passons à la partie pratique! L’activation de la fonctionnalité se fait par l’intermédiaire de l’assistant de publication de services intégré à Visual Studio. Une fois que vous avez installé le SDK 1.3, vous pouvez aller dans l’assistant de publication:

image

Et vous verrez le nouveau dialogue, qui ajoute la possibilité de configurer l’accès Bureau à Distance:

image

Lorsque vous cliquez sur le lien “Configure Remote Desktop connections”, le dialogue suivant apparaît:

image

Lorsque vous aurez coché la case '”Enable connections for all roles”, il va vous falloir sélectionner, ou générer, un certificat qui permettra de sécuriser la connexion. Ce certificat est différent de celui que vous avez généré et installé pour la publication des projets Windows Azure dans Visual Studio.

Nous allons partir du principe que vous n’avez pas encore de certificat, donc sélectionnez “Create” dans le menu déroulant de sélection de certificat. Un dialogue vous demande de saisir un nom pour le certificat, utilisez quelque chose dont vous vous souviendrez, comme “Windows Azure RDP” par exemple.

Pendant que vous êtes dans le dialogue, profitez-en pour saisir un login et un mot de passe qui serviront à se connecter aux instances, ainsi qu’une date d’expiration au-delà de laquelle les accès RDP seront désactivés.

Il vous faut maintenant exporter votre certificat puis le télécharger dans Windows Azure; voici comment s’y prendre:

Dans le menu déroulant de sélection du certificat, avec votre certificat sélectionné, cliquez sur “View…”

image

Vous accèderez alors au dialogue standard de visualisation de certificat; cliquez sur l’onglet “Details” pour faire apparaître le bouton “Copy to File…” qui permet d’exporter le certificat sous la forme d’un fichier.

image

Dans l’assistant qui apparaît alors, cliquez sur Next, puis dans le premier dialogue, choisissez “Yes, export the private key”:

image

Dans le dialogue suivant, sélectionnez l’option “PKCS 12 – .PFX” qui est le format attendu par Windows Azure.

image

Enfin, dans l’avant-dernier dialogue, saisissez un mot de passe pour protéger le certificat, puis finalement, le nom du fichier à exporter, du type “WindowsAzureRDP.pfx”.

Vous avez fait le plus dur! Il faut maintenant utiliser la nouvelle console Windows Azure pour télécharger le certificat. Cette opération se fait au niveau des “Hosted Services”, en ayant sélectionné le répertoire “Certificates” correspondant au service dans lequel vous allez déployer votre application. La capture d’écran suivante vous montre à quoi doit ressembler votre écran (cliquez dessus pour la voir en grand format):

image

Vous pouvez alors cliquer sur le bouton “Add Certificate” en haut à gauche pour envoyer le certificat que vous avez préalablement exporté; le dialogue ressemble à cela:

image

Vous sélectionnez le fichier .pfx qui a été exporté, et vous saisissez le mot de passe que vous avez associé au certificat.

Une fois le certificat installé, il ne vous reste plus qu’à terminer l’opération de déploiement commencée en début de billet, en choisissant bien entendu le Hosted Service dans lequel vous venez d’installer le certificat. Une fois le déploiement terminé, la console Windows Azure vous donnera accès à l’icône RDP (en haut à droite) pour l’ensemble des instances de votre application:

image

Vous remarquerez que cette fonctionnalité n’est pas réservée au Rôle VM: ici, je peux me connecter en RDP à un Worker Role ou un Web Role afin d’en inspecter la configuration et diagnostiquer d’éventuels problèmes avec mon application.

Lorsque vous cliquez sur l’icône Connect, acceptez d’ouvrir le fichier .rdp qui vous est présenté; puis dans la boîte d’identification, entrez le login et le mot de passe que vous avez saisi lorsque vous avez activé Remote Desktop au niveau de votre projet Windows Azure dans Visual Studio.

image

Si vous souhaitez en savoir plus sur le fonctionnement des Rôles Windows Azure, je vous conseille l’excellente session de Mark Russinovitch à la PDC10, Inside Windows Azure.