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.
- Sur le côté gauche de l'écran, cliquez sur l'icône de stockage;
- Puis cliquez sur le nom du stockage;
- En haut de l'écran, cliquez sur conteneurs;
- Enfin, une fois que la liste des conteneurs apparaît, cliquez sur le conteneur.
La destination
Maintenant 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.
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é
Voici 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




