Let There Be Code RSS 2.0
# Wednesday, January 26, 2011

L’accès au bureau distant d’une instance Azure est une autre nouveauté de la plateforme. L’activation peut se configurer depuis Visual Studio au moment du déploiement ou depuis le portail Azure.

Depuis Visual Studio, lorsque l’on déploie nos services Azure la fenêtre suivante s’ouvre :

image

Depuis ce wizard, il suffit de cliquer sur le lien “Configure Remote Desktop connections…”, puis de renseigner le formulaire :

image

Le premier champ correspond au certificat qui va permettre de crypter le mot de passe. On peut soit en choisir un dans la liste, soit en créer un. Il suffit ensuite de remplir les informations de connexion. Une fois ce formulaire rempli, Visual Studio stocke ces informations dans le fichier ServiceConfiguration.cscg de notre projet Azure :

image

Pour qu’Azure puisse de son côté décrypter le mot de passe, il faut déployer le certificat sur notre “Hosted Service”.

Dans un premier temps, nous allons exporter le certificat. Depuis le wizard de configuration de l’accès distant, il suffit de cliquer sur le bouton View afin d’afficher le certificat :

image

Dans l’onglet Details, cliquer sur “Copy to File…” pour l’exporter.

Au moment de l’export du certificat ne pas oublier de sélectionner l’option d’export de la clé privé :

image

Une fois le certificat exporté, il ne reste plus qu’à se connecter au portail Azure, accéder à notre Hosted Service, puis d’y télécharger le certificat :

image

Après avoir déployé nos rôles sur Azure, il est également possible d’activer/désactiver et configurer le bureau distant depuis le portail pour chacun des rôles :

image

Lorsque nos instances sont démarrées, nous pouvons nous connecter en remote :

image

Wednesday, January 26, 2011 1:03:00 PM (Romance Standard Time, UTC+01:00)  #    Voir Commentaires
Azure
# Sunday, January 23, 2011

Si vous avez suivi l’actualité d’Azure, vous avez pu voir que Microsoft avait annoncé que les fonctionnalités d’IIS seraient disponible au niveau des Web Role. Nous pouvons donc configurer notre Web Role afin d’y définir les sites, répertoires virtuels ou encore les applications comme nous le souhaitons.

A l’ajout d’un projet Azure à notre solution Visual Studio, nous allons choisir de déployer un Web Role.

AddWebRole

Nous allons ajouter 2 sites web supplémentaires à notre solution.

Solution

Examinons maintenant le fichier ServiceDefinition.csdef de notre projet Azure :

<ServiceDefinition name="AzureProject" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
  <WebRole name="WebRoleSample">
    <Sites>
      <Site name="Web">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="80" />
    </Endpoints>
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
  </WebRole>
</ServiceDefinition>

 

Dans ce fichier, on peut voir la définition de notre Web Role.

Il contient un site nommé “Web” disponible en http sur le port 80. Nous pouvons observer que l’élément xml Site possède comme élément parent “Sites”. Nous allons définir nos autres sites de cette manière :

<ServiceDefinition name="AzureProject" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
  <WebRole name="WebRoleSample">
    <Sites>
      <Site name="Web">
        <VirtualDirectory name="Images" physicalDirectory="../PremierSiteWeb/Img">
        </VirtualDirectory>
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" />
        </Bindings>
      </Site>
      <Site name="PremierSite" physicalDirectory="../PremierSiteWeb">
        <VirtualApplication name="SecondSite" physicalDirectory="../SecondSiteWeb">
        </VirtualApplication>
        <Bindings>
          <Binding name="Endpoint2" endpointName="Endpoint2"/>
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="80" />
      <InputEndpoint name="Endpoint2" protocol="http" port="81" />
    </Endpoints>
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
  </WebRole>
</ServiceDefinition>

 

Dans le premier, nous avons ajouté un répertoire virtuel “Images” qui pointe sur le répertoire “../PremierSiteWeb/Img”. Nous avons ensuite déployé le site PremierSiteWeb en http sur le port 81. Puis dans ce site, nous avons défini une application virtuelle qui pointe sur le projet SecondSiteWeb. Lorsque nous déployons localement notre web role (F5), 2 navigateurs s’ouvrent sur les 2 sites. Si nous ouvrons la console d’administration d’IIS, nous retrouvons les 2 sites, le répertoire virtuel, ainsi que l’application :

IIS

Ici mon IIS local possède déjà un site sur le port 80. Pour le déploiement local, Visual Studio a publié mes sites sur les ports 81 et 82.

Après avoir déployé notre Web Role sur Azure, nous pouvons nous connecter en remote desktop à notre VM Azure, accéder au serveur IIS et vérifier que nos 2 sites ont bien été déployés :

image

Sunday, January 23, 2011 1:36:27 PM (Romance Standard Time, UTC+01:00)  #    Voir Commentaires
Azure
Archive
<February 2012>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2012
Benoît Laut
Sign In
All Content © 2012, Benoît Laut
DasBlog theme 'Business' created by Christoph De Baene (delarou)