Comment transféré des données entre abonnements Azure depuis Windows, Linux, OS X, ou le cloud

Comment transféré des données entre abonnements Azure depuis Windows, Linux, OS X, ou le cloud

Copier, charger ou télécharger depuis, ou à partir, peu importe la combinaison entre Windows, Linux, OS X, ou le cloud

Nos données sont et resteront toujours notre principale préoccupation. Que ce soit sous forme de fichiers texte, images, disque de machine virtuelle ou toute autre forme, à un moment donné dans le temps de nos données devront être déplacées. Je l'ai déjà [écris à ce sujet auparavant] [Old Post], et le contenu de ce billet est toujours valide aujourd'hui, mais je voulais partager de nouvelles options et couvrir plus de cas (ce qui signifie Linux, Windows et OS X).

Scénarios

Voici quelques scénarios illustrant pourquoi vous voudriez déplacer des données.

  • La période d'essai de Microsoft Azure finira sous peu et vous voulez garder les informations qui y sont sauvegardées.
  • Vous créer une nouvelle application Web et toutes ses images doivent être déplacées
  • Vous avez une machine virtuelle que vous souhaitez déplacer dans le cloud ou du cloud.
  • ...

AZCopy (Windows)

AzCopy est un outil de ligne de commande fantastique pour copier des données vers et à partir de Microsoft Azure storage, que ce soit blob, fichier, ou table. Au moment d'écrire ce billet AzCopy est uniquement disponible pour les utilisateurs de Windows. Une solution alternative sera introduite plus loin dans ce billet pour les utilisateurs Mac et Linux.

Dans sa plus simple expression, une commande AzCopy ressemble à ceci:

AzCopy /Source:<source> /Dest:<destination> [Options]

Si vous avez déjà Azure SDK d'installé sur votre PC, vous avez déjà tout ce qu'il vous faut. Par défaut AzCopy s'installera dans %ProgramFiles(x86)%\Microsoft SDKs\Azure\AzCopy (Windows 64-bit) ou %ProgramFiles%\Microsoft SDKs\Azure\AzCopy (Windows 32-bit).

Si vous avez seulement besoin d'AzCopy, et non pas de tout le SDK, vous pouvez télécharger la dernière version de AzCopy.

Tout d'abord, supposons que vous devez déplacer une grande quantité d'images d'un serveur vers un Azure blob storage. Rien de plus simple, il suffit de passer le chemin d'accès où sont situé les images, le lien url vers le conteneur Azure et sa clé d'accès.

AzCopy /Source:C:\MyWebApp\images /Dest:https://frankysnotes.blob.core.windows.net/blog /DestKey:4YvvYDTg3UUpky8Rj5bDG4KO/R1FdtssxVnunsEd/4rAS04V2LkO0F8mXbddAv39WtCo5LW6JyvfhA== /S

CopyAllImages

Lorsqu'on manipule des données dans Azure storage, deux informations sont constamment requises: le nom du compte (Account Name) et la clé d'accès. Ces deux informations peuvent être aisément trouvées dans le portail Azure. Depuis le portail (https://portal.azure.com), sélectionnez le compte de stockage. Dans la bande de droite représentant les paramètres, cliquez sur Clés d'accès (Access Keys).

StorageAccessKeys

Tout aussi facilement nous pouvons copier les images dans un autre storage, peu importe qu’il soit dans une autre région ou carrément sous un autre abonnement.

AzCopy /Source:https://frankysnotes.blob.core.windows.net/blog /Dest:https://frankshare.blob.core.windows.net/imagesbackup /SourceKey:4YvvYDTg3UUpky8Rj5bDG4KO/R1FdtssxVnunsEd/4rAS04V2LkO0F8mXbddAv39WtCo5LW6JyvfhA== /DestKey:EwXpZ2uZ3zrjEbpBGDfsefWkj3G2QY5fJcb6kMqV2A0+2TsGno+mk9vEXc5Uw1XiouvAiTS7Kr5OGzA== /S

Les paramètres d'AzCopy

Les exemples contenus dans ce billet sont volontairement simples, mais AzCopy est un outil très puissant. Je vous invite à entrer l'une des commandes suivantes pour en savoir davantage sur toute les possibilités qu'offre AzCopy:

  • Pour une aide détaillée à propos des lignes de commande d'AzCopy: AzCopy /?
  • Pour d'autres exemples de ligne de commandes: AzCopy /?:Samples

Azure CLI (Windows, Linux, OS X)

Azure CLI est un ensemble de commandes multiplateforme pour la plate-forme Azure. Il permet de manipuler tous les composants Azure, cependant ce billet se concentrera sur certaines fonctionnalités de azure storage.

Commençons par installer Azure CLI. Bien sûr, il est possible de télécharger le programme d’installation, mais puisque tout évolue tellement vite, pourquoi ne pas l’obtenir directement à partir de Node.je et son gestionnaire de paquets (npm).

sudo npm install azure-cli -g

AzureCliInstalled

Pour continuer avec les scénarios précédents, nous allons copier toutes les images dans un blob storage. Malheureusement, Azure CLI ne possède pas la même flexibilité qu’AzCopy. Il fonctionne seulement qu'un fichier à la fois. Néanmoins, pour télécharger toutes les images d’un dossier, il s’agit tout bonnement de mettre la commande dans une boucle:

for f in Documents/images/*.jpg
   do
   azure storage blob upload -a frankysnotes -k YoMjXMDe+694FGgOaN0oaRdOF6s1ktMgkB6pBx2vnAr8AOXm3HTF7tT0NQWvGrWnWj5m4X1U0HIPUIAA==  $f blogimages
done

Dans la commande précédente, -a représente le nom du compte, et -k la clé d'accès.

AzureCliAllImages

Pour copier un fichier (ex. : un disque d’une machine virtuelle alias VHD) entre des espaces stockages, peu importe qu'ils soient dans des régions, ou des abonnements différents, c’est tout simple. Cette fois, nous utiliserons la commande azure storage blob copy start le -a et -k sont liés à la destination.

azure storage blob copy start 'https://frankysnotes.blob.core.windows.net/blogimages/20151011_151451.MOV' imagesbackup -k EwXpZ2uZ3zrjEbpBGDfsefWkj3GnuFdPCt2QY5fJcb6kMqV2A0+2TsGno+mk9vEXc5Uw1XiouvAiTS7Kr5OGzA== -a frankshare

Un fait intéressant à propos de cette commande, c’est qu’elle est asynchrone. Pour voir l’état de votre copie, il faut simplement exécuter la commande azure storage blob copy show

azure storage blob copy show -a frankshare -k YoMjXMDe+694FGgOaN0oPaRdOF6s1ktMgkB6pBx2vnAr8AOXm3HTF7tT0NQVxsqhWvGrWnWj5m4X1U0HIPUIAA== imagesbackup 20151011_151451.MOV

CopyStatus1

CopyStatus2

Ce ne sont que les premiers pas

Ce poste est simplement une introduction à deux outils très puissants. Il est fortement recommandé d’aller creuser dans la documentation officielle pour en savoir plus.

Utilisez les commentaires pour partager toutes vos questions et suggestions.

Références: