Nouvelles Chroniques d'Amethyste

Penser au Sens, pas au Verbe

Les nouveautés sur les adresses IP Azure

Poster un commentaire

Ces derniers mois, beaucoup de choses ont changées au sujet des adresses IP sous Azure. Une partie de mon article sur les VM est donc obsolète.  Je vais essayer d’en faire la synthèse:

  1. les instance-level public IP (PIP)
  2. Réservation des VIP
  3. les adresses statiques

Nous allons faire un peu de PowerShell. Si vous ne savez pas comment lancer des commandes Azure sous PowerShell j’ai écrit un tutoriel récemment:

https://amethyste16.wordpress.com/2014/10/15/les-cmdlets-powershell-pour-azure/

Adresses PIP

Présentation

Nous avons détaillé dans un précédent article la façon dont les VM et gèrent les adresses IP VIP et les adresses privées. Il a été établit que les VIP sont automatiquement load balancées par Azure et c’est en général ce que l’on recherche. L’adresse VIP n’est pas associée à la VM, mais au service cloud.

Mais parfois on aimerai disposer d’une adresse publique pour accéder à une instance de rôle ou une VM. Il devient alors possible de faire du FTP vers le serveur ou d’émettre vers l’extérieur un trafic réseau avec une IP qui identifie de façon unique le serveur.

Un adresse IP publique au niveau de l’instance (instance-level public IP) ou PIP est une adresse que l’on peut associer directement une VM plutôt qu’au cloud service dont dépend la VM.

2014-10-16_13-49-43

La fonctionnalité est encore en preview et souffre de quelques limitations, en particulier d’être limitée à 5 adresses par abonnement.

De plus une PIP ne peut être associée qu’à des VM déployées dans un réseau virtuel. En d’autres termes, les VM « standalone » sont exclues. Le réseau doit de plus être un réseau étendu, c’est à dire un réseau qui couvre une région plutôt qu’un groupe d’affinité. Pour rappel la portée d’un groupe d’affinité est celle d’une portion d’un data center (quelques serveurs). Maintenant le réseau peut couvrir toute une région et les data center qui s’y trouvent.
Pour l’instant la fonctionnalité est gratuite, mais à partir du 1er décembre elle coutera €0.003/heure par IP .

 

Tests

Comme d’habitude, testons.

J’ai écrits plusieurs articles sur la façon de créer un réseau virtuel:

https://amethyste16.wordpress.com/2014/06/27/windows-azure-creer-un-reseau-virtuel-point-a-site/

Et y rattacher des ressources:

https://amethyste16.wordpress.com/2014/07/15/attacher-une-ressource-a-un-reseaux-virtuels-azure/

Au lieu de choisir un groupe d’affinité, vous devez choisir une région.

 

Vous disposez peut-être déjà d’un environnement dans votre abonnement. Pour le transformer en réseau étendu il suffit donc d’exporter sa configuration et d’ouvrir le fichier XML obtenu. On repère ensuite l’élément <VirtualNetworkSites>. On découvre cette ligne:

<VirtualNetworkSite name= »TestPIP » AffinityGroup= »DEVRECETTE »>

Pour transformer notre réseau local en réseau étendu il suffit de remplacer le groupe d’affinité par la déclaration d’une région. Par exemple:

<VirtualNetworkSite name= »TestPIP » location= »West Europe »>

 

On réimporte la configuration depuis le portail.

 

Et c’est terminé, nous avons un réseau étendu:

2014-10-15_22-50-18

 

Déployons une VM. Notez tout d’abord ceci:

2014-10-16_09-21-40

La suite nécessite Powershell:

Get-AzureVM -ServiceName « vmPip » -Name « VmPIP » | Set-AzurePublicIP -PublicIPName « adressePip1 » | Update-AzureVM

Une fois terminé on lance:

Get-AzureRole -ServiceName « vmpip » -InstanceDetails

Qui affiche:

2014-10-16_09-27-05

Comparez la PIP avec la VIP juste au dessus. Ce sont deux adresses différentes.

Est-ce que ça marche?

Pour les besoins de la démo on a supprimé tous les points de terminaison, en particulier celui de RDP:

2014-10-15_23-35-42

Et pourtant si on lance le client RDP de Windows et que l’on se connecte avec la PIP:

2014-10-16_09-28-49

Et ça marche!

2014-10-16_09-30-52

Il n’y a pas encore d’affichage dans le portail, mais je suis sûr que ça viendra. Si on tente de créer une PIP sur une VM standalone, rien de spécial se passera.

Essayons maintenant d’arrêter puis de relancer la VM. Cette fois:

2014-10-16_12-41-57

L’adresse PIP a changée. Pour l’instant il n’est pas possible de réserver une adresse PIP.

Réservation de la VIP

L’exemple précédent montre que la VIP a elle aussi été modifiée. Jusqu’à présent on maintenait la VIP dans un service cloud à l’aide d’une VM extra small dédiée à cet usage et toujours active. Mais Microsoft propose depuis peu une nouvelle méthode plus pratique.

Il est maintenant possible de réserver des IP pour un abonnement et non plus le service cloud. Tant que l’abonnement sera actif, votre IP sera réservée.

2014-10-16_13-25-02

Le travail se fait depuis Powershell à l’aide des commandes:

  • New-AzureReservedIP
    Réservation de l’IP
  • Get-AzureReservedIP
    Liste de toutes les IP réservées
  • Remove-AzureReservedIP
    Déréservation de l’IP

 

Faisons la démo!

On commence par réserver notre IP.

New-AzureReservedIP –ReservedIPName « demoIP » –Label « Test adresse réservée par Amethyste » –Location « West Europe »

  • ReservedIPName: nom unique de votre adresse
  • Label: un libellé plus explicatif que le Name. Si on manque d’inspiration on peut mettre la même chose que Name
  • Location: le nom de la région couverte par l’adresse

2014-10-16_21-22-48

 

Maintenant vous mourrez d’envie de savoir quelle IP vous a été attribuée. On peut lister la liste de toutes les IP réservées:

Get-AzureReservedIP

2014-10-16_21-25-48

Address contient la valeur de l’IP et regardez InUse qui nous indique qu’elle n’est pas encore utilisée.

Pour l’instant on ne peut pas associer une IP réservée à une VM depuis le portail. Là aussi PowerShell va agir:

 

New-AzureQuickVM -ImageName a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-R2-201409.01-en.us-127GB.vhd -ServiceName VmPIPBis -Windows -AdminUsername amethyste -Location « West Europe » -Password SuperMotDePasse12 -ReservedIPName demoIP

 

  • ServiceName: Nom du cloud service où créer la VM. La documentation précise que l’on peut mettre un service existant, mais j’ai un message d’erreur
  • ReservedIPName: NOM de l’adresse réservée. Le nom, pas la valeur!!!
  • ImageName: Nom de l’image de la VM. Ce point mérite une discussion

Azure fournit des images prêtes à l’emploi. On peut en obtenir la liste ainsi:

Get-AzureVMImage |  Select-Object -Property ImageName

2014-10-18_13-52-49

 

Une fois la commande lancée, attendez la création de la VM, c’est un peu long.

Relancez Get-AzureReservedIP:

2014-10-18_14-18-36

Allez voir la VIP de la VM ensuite:

2014-10-18_14-21-04

Essayez d’arrêter toutes les VM de votre cloud puis d’en relancer au moins une pour constater que leur VIP n’a pas changée.

Chaque nouvelle VM que vous ajouterez à ce service aura la même VIP.

 

Faisons quelques petites expériences.

Tout d’abord on supprime les VM du service, une alerte s’affiche dans le cas où l’on a une adresse réservée:

2014-10-18_16-43-12

Ce message signifie qu’une fois que vous aurez supprimé toutes les VM. Si vous en ajoutez de nouvelles via le portail elles ne seront plus affectées à l’IP réservée. De fait après l’opération:

2014-10-18_16-49-32

Si je tente d’ajouter une VM j’obtiens par exemple avec une VIP très différente:

2014-10-18_16-51-18

Essayons d’ajouter une VM avec une IP réservée via la commande précédente:

2014-10-18_16-54-43

On ne peut pas. Il n’est pas possible d’ajouter une adresse réservée à un service existant. La VIP est un des attributs d’un service.

 

Supprimez les VM à nouveau, puis l’IP réservée du compte:

Remove-AzureReservedIP -ReservedIPName demoIP

Et après la petite formalité:

2014-10-18_16-40-21

Tout à disparu.

 

Notez quelques limites:

  • les adresses réservées ne supportent que les réseaux régionaux et donc pas les réseaux sur un groupe d’affinité.
  • Les 5 premières adresses sont gratuites.
  • Il y a une limite de 100 adresses par entreprise
  • Il y a une limite de 5 adresses par abonnement standard
  • On ne peut appliquer une réservation à une ressource (un service ou une VM) déjà déployée (test que nous avons fait précédemment)

 

IP statique

Les adresses IP d’une VM sont obtenues via un serveur DHCP qui en quelque sorte loue l’IP pour une durée déterminée à l’adresse Mac de la VM. Sous Azure un ipconfig /all vous montrera que les baux courent jusqu’en l’an 2150. On a le temps de voir venir!

Mais il peut parfaitement arriver que l’IP change pour d’autres raisons que l’expiration du bail comme par exemple l’arrêt de la VM. Il s’agit d’un vrai problème dans certains cas.

Il est maintenant possible d’attribuer une adresse statique à une VM dans un réseau virtuel. Nous allons voir comment.

Pour cela nous aurons besoin de deux VM déployées dans un réseau virtuel Azure. Mon réseau contient:

2014-10-18_18-49-34

 

La suite nécessite la console PowerShell. Nous disposons des commandes suivantes:

2014-10-18_18-52-43

 

Commençons par tester la disponibilité de l’adresse 10.0.1.11:

Test-AzureStaticVNetIP -VNetName TestPIP -IPAddress 10.0.1.11

2014-10-18_18-56-29

Qui nous apprends que l’adresse est disponible.

Affectons la à VM1:

Get-AzureVM –ServiceName Amethyste-VM1 –Name Amethyste-VM1 |Set-AzureStaticVNetIP –IPAddress 10.0.1.11 | Update-AzureVM

La commande prend quelques minutes aux bout desquelles:

Get-AzureVM –ServiceName Amethyste-VM1 –Name Amethyste-VM1 | Get-AzureStaticVNetIP

Affiche:

2014-10-18_19-07-10

Ce que le portail nous confirme:

2014-10-18_19-08-45

Note: Il n’est pas conseillé de mélanger les VM avec des adresses statiques et des adresses DHCP. Créez plutôt un sous-réseau dédié.

 

Et pour finir on supprime l’adresse statique:

Get-AzureVM –ServiceName Amethyste-VM1 –Name Amethyste-VM1 | Remove-AzureStaticVNetIP | Update-AzureVM

Il faudra arrêter et redémarrer la VM pour que ce soit pris en compte.

 

Bibliographie

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