Windows Azure Connect, le guide

*** Cet article est une traduction libre de l'article anglais "Guide to Windows Azure Connect" paru sur le site Techy Freak, https://techyfreak.blogspot.com ***

Créer des applications pour le cloud et les héberger dans le cloud font partie des grandes choses qui se sont passées ces derniers temps. Cependant, vous pouvez avoir un certain nombre d'applications existantes que vous souhaitez migrer vers les nuages, sans pour autant vouloir passer votre serveur de base de données dans le nuage. Ou bien, vous pouvez vouloir créer une nouvelle application et l’héberger dans les nuages, mais faire en sorte que cette nouvelle application puisse communiquer avec vos applications existantes « on-premise » ie hébergées dans le réseau de votre entreprise. Autre cas encore : votre nouvelle application que vous souhaitez héberger dans les nuages devra reposer sur l’Active Directory votre entreprise pour la partie authentification.

Quelles options avez-vous ? Vous pouvez envisager de réécrire vos applications existantes pour les porter sur Windows Azure et ensuite les héberger sur Windows Azure, ou dans le cas de serveurs de bases de données, vous pouvez déplacer vos serveurs de bases de données vers SQL Azure. Mais vous avez également une autre option plus facile, qui a été annoncé lors de la PDC10 et qui sera publiée à la fin de cette année. Ce dont nous parlons, c'est Windows Azure Connect.

Dans ce post nous verrons comment configurer Windows Azure Connect et quels sont les scenarios d’usage de Windows Azure Connect. Mais avant cela, je vous propose de voir ce qu’est Connect et pourquoi nous en avons besoin.

Ce qu’est Windows Azure Connect

Windows Azure Connect fournit une connectivité de réseau sécurisé entre vos environnements d’entreprise (« on-premise ») et Windows Azure grâce à des protocoles IP standards tels que TCP et UDP. Connect fournit une connectivité de niveau IP entre une application Windows Azure et des machines fonctionnat en dehors du Cloud Microsoft.

Nous verrons par la suite que cette combinaison peut être de différents ordres en fonction des cas d’utilisation et des scenarios. Dans la première version CTP, nous pouvions accéder à des ressources Azure en installant un agent connect sur des ressources non-Azure. La version à venir supportera Windows Server 2008 R2, Windows Server 2008, Windows 7, Windows Vista SP1. Un point à noter ici est que ce n'est pas un véritable réseau privé virtuel (VPN). Cependant, les plans à venir sont d’étendre les fonctionnalités actuelles qui permettront la connectivité à l'aide de votre VPN on-premise existant que vous utilisez aujourd'hui dans votre organisation.

Configuration de Windows Azure Connect

Windows Azure Connect est une solution simple. La mise en place ne nécessite pas de contacter votre administrateur réseau. Tout ce qui est nécessaire est d’avoir la possibilité d'installer l'agent sur la machine locale. La procédure pour mettre en place Windows Azure Connect est en 3 étapes :
1- Activer les Roles Windows Azure pour permettre la connectivité externe. Pour ce faire, utiliser le modèle de service.
2- Activer vos ordinateurs on-premise/locaux pour permettre la connectivité en installant des agnets Windows Azure Connect.
3- Gérer la stratégie de réseau via le portail Windows Azure.

La dernière étape consiste à configurer et à définir la stratégie de réseau. Cela définit quels roles Windows Azure et quels ordinateurs locaux - que vous avez activés pour connect - sont capables de communiquer entre eux. Pour ce faire, utiliser le portail d’administratione Windows Azure. Il fournit un niveau de contrôle très granulaire.

1. Activer les roles Windows Azure pour la connectivité externe

Pour utiliser Connect avec un service Windows Azure, nous avons besoin d’activer un ou plusieurs de ses roles. Ces roles peuvent être des Web roles ou des Worker roles ou un nouveau type de rôle que sont les VM roles a annoncés à la PDC10.
Pour les Web/Worker roles, la seule chose que nous devons faire est d'ajouter une entrée dans votre .csdef. Ajoutez tout simplement une ligne de xml dans votre .csdef spécifiant d'importer ou d'inclure des plugins Windows Connect. Ensuite, vous devez spécifier votre ActivationToken dans le fichier ServiceConfiguration (.cscfg). ActivationToken est un jeton unique par abonnement, ce qui signifie que si vous avez deux abonnements d'Azure différents alors vous aurez des Token d'activation individuel pour chaque abonnement. Vous accédez à ce jeton directement à partir de l'interface utilisateur Admin.

Pour le VM role, installez l'agent de connexion dans l’image VHD en utilisant le package d'installation VM Connect. Ce package est disponible via le portail d’administration Windows Azure et contient le ActivationToken en lui-même.

Aussi, dans notre fichier .cscfg vous pouvez spécifier des paramètres optionnels pour la gestion de la disponibilité domaine-join et service AD.

Une fois que ces configurations sont effectuées pour un rôle, l’agent Connect sera automatiquement déployé pour chaque nouvelle instance de rôle qui démarre. Cela signifie que, si demain, par exemple, vous ajoutez plus d'instances aux roles alors chaque nouvelle instancs sera automatiquement provisionnée pour utiliser l’Azure Connect.

2. Activer vos ordinateurs on-premise/locaux pour la connectivité

Vos ordinateurs locaux sur site sont activés pour la connectivité avec les services d'Azure en installant & activant l’agent Connect. L'agent de connexion peut être installé sur vos ordinateurs locaux de deux façons :
1- Installation à partir du Web : depuis votre portail d’administration Windows Azure, vous obtenez un lien d'installation. Ce lien est par abonnement et il a le jeton d'activation incorporé dans l'URL.
2. Installation autonome : l’autre option consiste à utiliser le package d'installation autonome. Vous pouvez exécuter ce package d'installation à l'aide d'un outil de distribution de logiciels installé dans votre système, comme vous le faites pour d'autres programmes. Il ajoutera le jeton d'activation dans le Registre et liera sa valeur de là.

Une fois l’agent de connexion installé, vous aurez également une interface utilisateur sur votre système ainsi que l'icône de l’agent dans la barre d'état. L’icône du Connect et l’interface utilisateur vous permet de visualiser l'état actuel, l'état d'activation et de connectivité du réseau, de l’agent Windows Azure Connect. Il fournit également des tâches de base telles que la politique de refresh du réseau.

L’agent Connect gère automatiquement la connectivité du réseau entre vos ordinateurs locaux et des services/applications Windows Azure. Pour ce faire, il effectue plusieurs choses dont :
• Paramétrage de carte réseau virtuel
• Se connecte automatique à un service de relais Connect si besoin
• Configure la stratégie IPSec basé sur la stratégie réseau
• Permet la résolution de nom DNS
• Synchronise automatiquement les dernières stratégies réseau

3. Gérer la stratégie de réseau

Une fois que vous avez identifié vos roles Azure qui doivent se connecter à vos ordinateurs on-premise et que vous avez également installé et activé les agents Connect sur vos ordinateurs locaux, vous devez configurer les roles qui devront se connecter aux ordinateurs locaux configurés. Pour ce faire, nous spécifions la politique de réseau qui est gérée par le biais du portail d’administration Windows. Encore une fois, cela se fait par abonnement.

Le modèle de gestion pour connect est assez simple. Il existe trois différents types d'opérations que vous pouvez faire:
1. Vous pouvez prendre vos ordinateurs locaux, qui ont été activés pour Windows Azure Connect, et y installer des agents de connexion puis les organiser en groupes. Par exemple, vous pouvez créer un groupe qui contient vos ordinateurs SQL Server sur lesquels l'un de vos rôles Azure a besoin de se connecter, et appelez ce groupe « SQL Server ». Ou vous pouvez mettre tous les ordinateurs portables de vos développeurs dans un groupe « Mes Ordis Portables » ou encore vous pouvez mettre des ordinateurs liés à un projet donné dans un même groupe. Toutefois, il existe deux contraintes : tout d'abord, un ordinateur ne peut appartenir qu’à un seul groupe unique ;ensuite, lorsque vous avez un nouvel ordinateur sur lequel vous venez d'installer l’agent Windows Azure Connect, l'ordinateur nouvellement activé est non-assigné par défaut, ce qui signifie qu’il n'appartient à aucun groupe, et donc qu'il n’aura aucune connectivité.

Comme le montre la figure 2 ci-dessus, nous pouvons avoir des groupes de machines de développement local et appeler ce groupe «Development Computers » et notre rôle Windows Azure – « Role A » - se connectera à ce groupe. De même, nous pouvons avoir un groupe de serveurs de base de données et nommez ce groupe «Database Servers» et avoir notre rôle B se connecter à ce groupe. Toutes ces configurations se feront à partir du portail d’administration Windows Azure.

2. Les roles Windows Azure peuvent être connectés au groupe de ces ordinateurs locaux depuis l’interface d’admin. Il est fait pour toutes les instances qui composent ce rôle d'Azure et tous les ordinateurs dans ce groupe. Une chose à noter est que WINDOWS AZURE CONNECT ne pas contrôle pas la connectivité dans AZURE. En d'autres termes, vous ne pouvez pas utiliser Windows Azure Connect pour connecter deux roles qui font partie d'un service ou deux instances qui font partie du même rôle. La raison est qu’il existe déjà des mécanismes pour cela. Windows Azure Connect sert à relier des roles Windows Azure à des ordinateurs physiquement en dehors/extérieur d'Azure.

3. En outre, il a la capacité de raccorder un groupe d'ordinateurs locaux à d'autres groupes d'ordinateurs locaux. Cela permet une connectivité réseau entre les ordinateurs dans chacun de ces groupes. En outre, nous pouvons avoir une interconnectivité pour un groupe donné. Cela permet à tous les ordinateurs au sein de ce groupe d’avoir une connectivité entre eux. Cette fonctionnalité est utile dans des sceanrios ad hoc ou itinérants, par exemple si vous souhaitez que l’ordinateur portable de votre développeur ait une connectivité sécurisée sur un serveur qui se trouve dans votre réseau d'entreprise.

Comportement sur le réseau

Une fois que vous avez défini la stratégie de réseau, le service Azure Connect configurera automatiquement la connexion sécurisée de l’IP entre toutes les instances que vous avez activées pour la connectivité et les ordinateurs locaux, tout ceci basé sur la politique de réseau que vous aurez spécifiée.

Tout le trafic est acheminé grâce à un service de relais hébergé. Ceci garantit que Windows Azure Connect vous permettra de vous connecter aux ressources indépendamment des pare-feux et configuration NAT de l'environnement dans lequel elles résident. Vos instances de rôle Azure et vos ordinateurs locaux auront tous, grâce au Windows Azure Connect, une connectivité IP sécurisée. Cette connectivité est établie indépendamment de la topologie du réseau physique de ces ressources. En raison d'un pare-feu ou de NATs, plusieurs ordinateurs locaux pevent ne pas avoir d’adresses d'IP publiques directes. Mais, à l'aide de Windows Azure Connect vous pouvez établir une connectivité à travers tous les pare-feux et NATs, tant ces machines ont accès sortant de type HTTPS au service relai hébergé.

La figure 2 montre comment les ordinateurs locaux sont connectés aux instances de role web par le biais d’un service de relais hébergé.

Autre point à noter ici est que la connectivité réseau que Windows Azure Connect établit est entièrement sécurisée de bout en bout via l'utilisation d'IPSec et l’agent Azure Connect prend en charge cette automatiquement.

Chaque ordinateur connecté a une adresse IPv6 routable. Point important à noter est même faisant partie du réseau Windows Azure Connect, tout comportement de votre réseau existant reste inchangée. Connect ne modifie pas la configuration de votre réseau existant. Connect vous « connecte » juste à un réseau supplémentaire.

Une fois établie la connectivité réseau, applications qui s'exécutent en Azure ou sur le système local pourra résoudre les noms d'adresse IP à l'aide de DNS des résolutions de nom qui se connectent fournit.

Cas d’utilisation/scénarios

Voyons à présent quelques scénarios où Windows Azure Connect pourrait être notre solution :

1. Une application d’entreprise migrée vers Windows Azure qui requiert l'accès à un SQL Server sur site. Il s'agit d’un scénario très courant. Vous avez votre application on-premise qui se connecte à votre serveur de base de données également on-premise. Aujourd’hui, vous souhaitez déplacer votre application vers Windows Azure, mais pour des exigences métiers la base de données que cette application utilise doit rester dans les locaux. En utilisant Windows Azure Connect, le web role - converti à partir d'une application ASP.NET on-premise – peut accéder directement à la base de données on-premise. Chose merveilleuse ici, c’est qu'il n’est même pas nécessaire de modifier la chaîne de connexion puisque le web role et le serveur de base de données sont tous les 2 dans le même réseau.

2. Un environnement on-premise lié à un domain join. Ce scénario ouvre la voie vers divers cas d'utilisation. Un de ces cas est de laisser une application utiliser des comptes et des groupes Active Directory existants pour contrôler l'accès à cette application hébergée dans Azure. Toutefois, il ne faut pas que cela vous dérange d’exposer votre AD à internet pour fournir un contrôle d'accès dans les nuages. À l'aide de Windows Azure Connect vos services/applications Azure sont liées à un domaine avec votre domaine Active Directory. Cela permet de contrôler qui peut avoir accès aux services Azure depuis vos comptes utilisateurs.

En outre, domain-joining permet aux utilisateurs on-premises de s’authentifier une seule fois à l'application, ou il peut permettre à vos services Azure pour se connecter à un SQL Server on-premise à l'aide de l'authentification intégrée de Windows (Windows Integrated Authentication).

Nous verrons dans un poste distinct pour le domaine à des roles d'Azure avec Active Directory à l'aide de la connexion.

3. Étant donné que vous avez une connexion directe aux machines virtuelles s’éxécutant dans les nuages, vous pouvez administrer et dépanner les roles de votre Windows Azure à distance.