RSS Articles RSS Notes de lectures

Comment faire pour copier des blobs ou VHD entre différents abonnements Windows Azure

Tout d'abord, pourquoi copier un Virtual Hard Drive (disque dur virtuel) ou un blob d'un abonnement Windows Azure à un autre? Ce pourrait être pour faire des sauvegardes, parce que votre période d’essai de Windows Azure se termine, ou pour obtenir une copie de serveurs virtuels de clients pour enquêter sur un problème.
Donc, quand un client m'a demandé s’il était possible de le faire, ma réponse a été: "Oui, à l'aide des outils en ligne de commande pour Azure". Et puisqu’il était à la recherche d'une solution simple, je lui ai écrit un petit script que je vais partager ici afin que tous puisse en profiter.
 

Pour commencer

Pour faire la copie, il vous suffit de faire une commande PowerShell. Afin de pouvoir exécuter cette commande, vous devez avoir le Windows Azure command-line tool (l’outil en ligne de commande de Windows Azure) déjà installé. À la fin de ce billet, je vais donner le script pour son installation.
 

La commande

Les prérequis étant déjà installés, vous pouvez exécuter cette ligne de code, à partir du Windows Azure command-line tool:

azure vm disk upload <source-path> <target-blob-url> <target-storage-account-key>

 

La source

Dans cette commande, vous devez remplacer <source-path> par l'url du VHD ou du blob que vous souhaitez copier.
Vous pouvez obtenir cet url via le portail de Windows Azure à l'aide de votre compte associé à l’élément que vous souhaitez copier.

  1. Sur le côté gauche de l'écran, cliquez sur l'icône de stockage;
  2. Puis cliquez sur le nom du stockage;
  3. En haut de l'écran, cliquez sur conteneurs;
  4. Enfin, une fois que la liste des conteneurs apparaît, cliquez sur le conteneur.

clip_image001

clip_image002clip_image003
 

La destination

clip_image004Maintenant que la source a été identifiée, il faut spécifier la destination. Nous devons remplacer le <target-blob-url> par l'url du conteneur dans l'abonnement Windows Azure destination. Si le conteneur existe déjà, il suffit de connecter à ce compte et de suivre les étapes précédemment décrites. Dans le cas contraire, vous devez créer un nouveau conteneur en utilisant le bouton "+" en bas à gauche de l'écran.

 

clip_image005

Le plus simple est de créer le conteneur avec un accès public au moment du transfert. Vous pourrez définir cette option lors de la création ou la modifier en utilisant le bouton « Modifier un conteneur », situé en bas de l'écran.
Sélectionnez ensuite Conteneur public, comme propriété d’accès.

 

 

 

La clé

clip_image006Finalement, nous devons spécifier la clé de compte de stockage et remplacer le <target-storage-account-key> par cette dernière. Vous pouvez trouver la clé par l’entremise du bouton « Gérer les clés » du tableau de bord du stockage. Vous pouvez utiliser la clé primaire ou la clé d'accès secondaire.Installer Windows Azure command-line tool.

 

 

 

 

 

 

 

 

clip_image007Voici un petit script que vous devriez mettre dans un fichier ". cmd" ou ". bat". Il permet d’installer le Windows Azure command-line tool avec Node.js et Chocolatey. Après avoir exécuté le script, une console ressemblant à ceci sera ouverte.

 

 

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('http://bit.ly/psChocInstall'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin

@powershell "cinst nodejs.install" && SET PATH=%PATH%;%ProgramFiles(x86)%\nodejs

@powershell -ExecutionPolicy unrestricted "npm install azure -g" && SET PATH=%PATH%;%USERPROFILE%\AppData\Roaming\npm\

@powershell azure

pause

 

Références