Les données sont l’une des plus marchandises de valeur dans le monde, et il n’est pas difficile de comprendre pourquoi. Du marketing à la génomique, l’analyse de grands ensembles de données conduit à des modèles prédictifs, qui conduisent à des résultats favorables pour l’entreprise. Plus vous utilisez de données, meilleurs sont ces modèles, ce qui signifie qu’ils peuvent produire de meilleurs résultats. Bien sûr, cela signifie que déplacer des données d’un endroit à un autre est une compétence cruciale pour tout ingénieur, mais ce n’est pas toujours aussi facile qu’il y paraît.
Par exemple, si vous utilisez le stockage de compartiment AWS S3, le déplacement des données vers un autre compartiment S3 est une commande CLI unique, aws s3 cp s3://SourceBucket/* s3://DestinationBucket/
. Le déplacement de ces mêmes fichiers vers un autre fournisseur de cloud, comme Microsoft Azure ou Google Cloud Platform, nécessite un outil totalement différent.
À la fin de ce didacticiel, vous serez en mesure de synchroniser des fichiers d’un compartiment AWS S3 vers un conteneur de stockage d’objets blob Azure à l’aide de recloner, un outil de synchronisation de données open source qui fonctionne avec la plupart des fournisseurs de cloud et des systèmes de fichiers locaux.
Conditions préalables
Pour suivre, vous aurez besoin des éléments suivants :
- Un compartiment AWS S3
- Un conteneur de stockage d’objets blob Azure
- Clés d’accès AWS et clés d’accès au compte de stockage Azure
- Un ordinateur exécutant n’importe quel système d’exploitation moderne
- Les captures d’écran proviennent de Windows 10 avec WSL
- Quelques fichiers à copier
Comment configurer le rclone
Installation de rclone est différent pour chaque système d’exploitation, mais une fois installé, les instructions sont les mêmes : exécutez rclone config
L’exécution de la commande config vous demandera de lier les comptes de vos fournisseurs de cloud à rclone. Le terme rclone pour cela est un à distance. Lorsque vous exécutez la commande config, entrez n
pour créer une nouvelle télécommande. Vous en aurez besoin à la fois pour AWS et Azure, mais il existe également plusieurs autres fournisseurs parmi lesquels choisir.
Azur
Après avoir choisi Azure Blob Storage, vous aurez besoin de :
- Un nom pour la télécommande. (Dans cette démo, c’est « Azure ».)
- Le nom du compte de stockage
- L’une des clés d’accès au compte de stockage
Vous serez invité à entrer une URL de signature d’accès partagé, et bien qu’il soit possible de la configurer à l’aide de celle-ci, cette démo utilise simplement une clé d’accès. Après avoir entré par défaut pour le reste des valeurs en appuyant sur Entrer pendant le reste de la configuration, vous devriez pouvoir commencer à utiliser votre télécommande.
Pour lister les télécommandes configurées sur votre système, entrez rclone listremotes
, qui affichera les télécommandes disponibles. Vous pouvez également répertorier tous les conteneurs de stockage d’objets blob en exécutant rclone lsd <remote_name>:
. Assurez-vous d’inclure un :
à la fin de la télécommande lors de l’exécution de ces commandes car c’est ainsi que rclone détermine si vous souhaitez utiliser une télécommande ou non. Tu peux courir rclone --help
à tout moment pour obtenir la liste des commandes disponibles.
En utilisant le ls
et cat
commandes avec une télécommande rclone.
AWS S3
La configuration de la télécommande pour un compartiment S3 est très similaire au conteneur de stockage d’objets blob Azure, à quelques petites différences près. Étant donné qu’il existe d’autres fournisseurs de stockage cloud qui sont considérés comme compatibles S3 par rclone, vous pouvez également obtenir quelques invites supplémentaires lors de l’exécution. rclone config
. Tu auras besoin:
- Un nom pour la télécommande. (Dans cette démo, c’est « AWS. »)
- Une clé d’accès AWS et la clé d’accès secrète correspondante
- La région AWS dans laquelle se trouve le compartiment
Le reste des invites peut être configuré pour créer d’autres compartiments ou effectuer d’autres opérations, mais pour la copie, vous pouvez ignorer le reste en appuyant sur Entrer.
Si l’utilisateur auquel appartiennent les clés d’accès a accès au compartiment, vous y aurez accès avec les mêmes commandes que vous avez utilisées pour accéder à la télécommande Azure.
Vous pouvez confirmer le type de télécommande en ajoutant le --long
drapeau au rclone listremotes
commander.
Exécution de rclone
Maintenant que les télécommandes ont été configurées, vous pouvez transférer des fichiers, créer de nouveaux compartiments ou manipuler les fichiers de la manière dont vous avez besoin à l’aide d’un ensemble standard de commandes. Au lieu de vous fier à savoir comment travailler avec l’AWS S3 CLI ou Azure PowerShell, vous pouvez communiquer entre les deux compartiments de stockage avec rclone.
Voici quelques commandes utiles courantes pour vous aider à démarrer :
rclone tree <Remote>:<BucketName>
: répertorie le contenu du compartiment sous forme d’arborescence. Ajouter le-C
flag pour ajouter de la couleur à la sortie.rclone size <Remote>:<BucketName>
: affiche le nombre de fichiers dans le compartiment et leur taille totale.rclone sync <Source> <Target>
: fait correspondre la cible à la source, mais ne modifie que la cible. La source et la cible peuvent être des chemins de fichiers locaux ou des chemins distants rclone. Ajouter le-P
indicateur pour afficher la progression de manière interactive.
Dans l’exemple suivant, le compartiment AWS S3 est synchronisé avec la télécommande Azure, ce qui supprime le fichier existant dans Azure, puis copie les données de S3. Si vous devez conserver les fichiers dans le dossier cible, utilisez le rclone copyto
commander.
Sommaire
À présent, vous devriez être à l’aise pour installer rclone et configurer des télécommandes, ainsi que pour utiliser ces télécommandes pour copier des données entre différents clouds. rclone est un outil extrêmement flexible et ne se limite pas à AWS et Azure, donc si vous utilisez un autre fournisseur de cloud, essayez également de configurer des télécommandes pour eux.
Vous pouvez lire l’article original (en Angais) sur le sitewww.cloudsavvyit.com