Nouvelles Chroniques d'Amethyste

Penser au Sens, pas au Verbe

Attacher une ressource à un réseau virtuel Azure

Poster un commentaire

Dans un précédent article je montrai comment construire un réseau point à site Azure:

https://amethyste16.wordpress.com/2015/05/01/creer-un-reseau-virtuel-sous-azure/

 

Je n’y parle guère de la façon dont on rattache une ressource Azure à ce réseau si ce n’est une démonstration avec les VM et la construction d’un client VPN. La documentation étant assez anémique et pas très à jour, j’ai décidé de faire le point sur les autres méthodes:

Pour rappel, les ressources supportées actuellement sont:

 

Notez en attendant ce site qui explique comment effectuer diverses tâches de configuration sur les réseaux virtuels:

http://msdn.microsoft.com/library/azure/jj156206.aspx

 

Et grand merci à Mathieu pour m’avoir éclairé sur bien des points.

Pour toute la suite, l’espace d’adressage de mon réseau virtuel est le suivant:

2014-07-09_13-43-45

 

Le réseau s’appelle DemoAppFabric.

Il a été créé dans la région West Europe.

 

Machine virtuelle

Les deux scénarios suivants ne sont pas supportés:

  1. Rattacher une VM via le menu Quick Custom Create
  2. Rattacher une VM existante
    Pas d’autres options que de recréer la VM depuis le menu MY DISKS/ IMAGE dans la galerie:

2014-07-09_15-27-56

Note: Techniquement parlant, rien ne nous interdit d’installer un client VPN sur la VM et de se connecter au réseau. Pour en avoir discuté avec un gars de l’infra, la solution n’est pas optimale du côté des performances. De plus on est obligé de se connecter manuellement, je ne pense pas que l’on puisse le faire automatiquement.
On commence à atteindre des scénarios ou un réseau site to site est nettement mieux adapté, même si c’est plus compliqué de le monter.

 

Il est tout de même possible de rattacher une VM à un réseau virtuel au moment de sa création, il suffit de le créer via la galerie.

On arrive sur le formulaire suivant:

2014-07-09_12-39-28

Le choix du réseau virtuel est donc fait dans le menu REGION/AFFINITY GROUP/VIRTUAL NETWORK. C’est facile!

Une fois la VM créée on vérifie qu’elle est bien sur le réseau. Le plus simple est de regarder l’adresse IP de la VM et vérifier qu’elle est dans l’espace d’adressage du réseau:

2014-07-09_13-47-24

Ou:

2014-07-09_13-48-28

On peut savoir si une VM appartient à un réseau en ouvrant l’onglet CONFIGURE:

2014-07-09_19-04-58

On peut tester un cran plus loin.

  • Créez sur la VM un répertoire partagé. Dans mon exemple il s’appelle TestAmeth.
  • Téléchargez le client VPN sur votre poste local et connectez vous au réseau virtuel
  • faites \\10.0.1.4  (adresse IP attribuée à votre VM)
  • Une demande de login sur un compte ayant des droits d’accès au partage est faite. J’ai créé un compte local amethyste qui permet de me connecter à la VM.

 

Cela marche bien sûr dans l’autre sens. Si je créée un répertoire partagé sur mon poste local, je peux le voir depuis la VM selon la même procédure.

L’adresse IP à utiliser se trouve en lançant un ipconfig /all:

2014-07-09_18-45-26

 

Cloud Service

Les cloud services peuvent être rattachés à un réseau virtuel, mais pas depuis le portail.

On doit pour cela éditer le fichier de configuration *.cscf et ajouter ceci:

<NetworkConfiguration>
    <VirtualNetworkSite name="DemoAppFabric" />
    <AddressAssignments>
        <InstanceAddress roleName="WebRole1">
            <Subnets>
                <Subnet name="Subnet-1" />
            </Subnets>
        </InstanceAddress>
    </AddressAssignments>
</NetworkConfiguration>

 

La balise NetworkConfiguration décrit la façon avec laquelle le cloud s’attachera au réseau privé. Les éléments suivants devront être déclarés:

  • Dns
    Spécifie les serveurs DNS utilisés par le réseau (s’il y en a un)
  • VirtualNetworkSite
    Spécifie le nom du réseau virtuel de rattachement. Le nom est sensible à la casse.
  • AddressAssignments
    Etablie le mappage via InstanceAddress  ente les rôles et les sous réseaux définis par une collection de Subnet. Le nom des sous-réseaux est sensible à la casse.
    On doit ajouter autant de déclaration que l’on a de rôles à mapper.

On voit sur cet exemple qu’il serai préférable dans la vie réelle de donner un vrai nom aux sous-réseaux, surtout si on en a plusieurs!

Important: NetworkConfiguration doit apparaître APRES la configuration du role avec la balise <Role>. Autrement le déploiement ne fonctionne pas.

Retenons que l’on ne peut mapper un cloud qu’à un seul réseau virtuel, mais à plusieurs sous-réseaux.

 

Ensuite on déploie notre solution de la même façon que n’importe quelle application cloud service:

https://amethyste16.wordpress.com/2014/06/04/deployer-un-cloud-service/

 

Si on examine le Dashboard du réseau virtuel on devrait voir ceci:

2014-07-14_12-19-57

Les deux entrées sont dues au fait que l’affichage ne distingue pas entre le rôle staging et le rôle production.

On peut également essayer de pinguer une des ressources attaché à ce réseau.

Le serveur AmethCluster1 contient un répertoire partagé, il est possible d’y accéder depuis une des instances du rôle:

2014-07-14_12-26-19

VNET to VNET

Autre ressource possible: un autre réseau virtuel Azure! Azure propose une connectivité:

  • Inter abonnement et inter organisation
  • dans une même région, il est possible de connecter une application avec plusieurs réseaux virtuels interconnectés avec une forte isolation et une communication sécurisée
  • On peut configurer la géo-réplication ou la synchronisation avec un connexion sécurisée sans passer par des endpoints accessibles sur Internet

On peut en savoir plus ici:

http://msdn.microsoft.com/fr-fr/library/azure/dn690122.aspx

L’idée est ensuite que chaque réseau soit vu comme un réseau local par l’autre. On va donc définir chaque réseau 2 fois:

  • en tant que réseau virtuel
  • en tant que réseau local connecté à l’autre réseau virtuel

Essayons!

Création des réseaux virtuels

  • On va créer les deux réseaux suivants:

 

  1. VNet1 : Espace d’adressage = 10.1.0.0/16 ; Groupe d’affinités = WestEurope
  2. VNet2 : Espace d’adressage = 10.2.0.0/16 ; Groupe d’affinités = BrazilSouth

 

Note: un gros troll s’est glissé dans cet article…

Pour l’instant on va se contenter de ne rien cocher ici:

2014-07-14_15-32-41

Pourquoi? A ce stade on n’a pas encore construit ce qu’il faut pour configurer le volet point to site. Il nous manque les réseaux locaux.
On va faire le travail depuis le portail, mais une alternative serait d’éditer le fichier de configuration des réseaux et de le traiter manuellement avant de le réimporter.

 Création des réseau locaux

  • Aller dans le menu de création des réseaux locaux:

2014-07-14_19-06-19

Le formulaire suivant s’ouvre:

2014-07-14_20-40-41

 

Saisir un nom et une IP. L’IP doit se trouver dans l’espace d’adressage du réseau VNET2.

Note: Cette adresse n’a pour l’instant pas d’importance. Lorsque l’on aura créé la passerelle sur le réseau virtuel on reviendra dessus pour y mettre sa valeur définitive.

 

  • Faire OK

2014-07-14_19-14-17On doit renseigner la plage d’IP exacte du réseau VNET1.

  • Faire OK

On devrait voir apparaître notre nouveau réseau local:

2014-07-14_20-37-37

  • Recommencer la même chose pour VNET2

2014-07-14_20-37-37

 

  • Sélectionner le réseau VNET1 et aller dans CONFIGURE
  • Cocher Connect to local network
  • Sélectionner VNET2

2014-07-14_19-22-32

  •  Cliquer sur Save

2014-07-14_20-23-40

  • Faire pareil pour VNET2

 Création des passerelles

  • On se rend dans le Dashboard de chaque réseau virtuel
  • on clique sur CREATE GATEWAY
  • On sélectionne Dynamic Routing

2014-07-14_20-44-10

 

Il ne reste plus qu’à attendre:

 

2014-07-14_20-45-51

Au bout d’une dizaine de minutes:

2014-07-14_21-07-58

On remarque que la passerelle ne communique pas encore avec le réseau local.

 

  • Faire de même avec VNET2

Editer le réseau local

 

  • Noter l’adresse de la passerelle de VNET1

2014-07-14_21-14-15

  • Editer le réseau local VNET1
  • Fournir l’adresse de la passerelle dans VPN Device IP Adress

2014-07-14_21-15-52

  •  Faire pareil pour VNET2

Connecter les passerelles

On a besoin de Powershell pour Azure qui peut être installé avec Web Platform Installer. Si vous avez besoin de le configurer pour votre abonnement:

https://amethyste16.wordpress.com/2014/07/15/charger-le-publishsettingsfile-dans-la-console-powershell/

 

On devra lancer les deux commandes symétriques:

Set-AzureVNetGatewayKey -VNetName VNet1 -LocalNetworkSiteName VNet2 -SharedKey A1b2C3D4

Set-AzureVNetGatewayKey -VNetName VNet2 -LocalNetworkSiteName VNet1 -SharedKey A1b2C3D4

Pour créer une clef partagée identique entre les deux passerelles.

2014-07-15_13-33-51

Une fois terminé, le dashboard des réseaux devrait ressembler à ceci (attendre quelques minutes):

2014-07-15_13-48-44

Il ne reste plus qu’à tester par exemple en rattachant une VM à chaque réseau et en essayant de pinguer l’une depuis l’autre.

 

Pour une connexion entre abonnements:

http://blogs.technet.com/b/aviraj/archive/2014/05/16/microsoft-azure-configure-cross-subscription-vnet-to-vnet-connectivity-in-azure.aspx

Bibliographie complémentaire

  1. Un petit bilan sur les options de connectivité proposées par Windows Azure:
    http://convective.wordpress.com/2014/06/01/network-connectivity-in-azure/
  2. http://haishibai.blogspot.fr/2013/05/walkthrough-file-sharing-between-your.html
  3. http://blog.kloud.com.au/2013/06/02/connecting-cloud-services-with-virtual-machines-in-windows-azure/
  4. http://cloud.dzone.com/articles/creating-virtual-network
    http://blogs.msdn.com/b/jimoneil/archive/2012/06/16/couchbase-on-azure-creating-virtual-machines.aspx
    http://blogs.msdn.com/b/jimoneil/archive/2012/06/16/couchbase-on-azure-installing-couchbase.aspx
  5. Peut t’on donner accès à une VM à plusieurs réseaux virtuels?
    http://windowsitpro.com/rethink-your-datacenter/join-virtual-networks-windows-azure
  6. Déplacer une VM d’un réseau vers un autre
    http://blogs.msdn.com/b/walterm/archive/2013/05/29/moving-a-virtual-machine-from-one-virtual-network-to-another.aspx
  7. Une FAQ sur les réseaux virtuels:
    http://msdn.microsoft.com/en-us/library/azure/dn133803.aspx
  8. Comment rattacher deux réseaux:
    http://www.nullsession.com/index.php/2014/06/how-to-configure-multiple-virtual-network-connections-in-azure/
  9. Les réseaux régionaux:
    http://azure.microsoft.com/blog/2014/05/14/regional-virtual-networks/
    http://windowsitpro.com/azure/understand-regional-networks-azure

 

 

 

 

 

 

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s