Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Migrez les données de Microsoft Azure Blob vers Amazon S3 à l'aide de Rclone
Créé par Suhas Basavaraj (AWS), Aidan Keane () et Corey Lane (AWS) AWS
Environnement : PoC ou pilote | Source : conteneur de stockage Microsoft Azure | Cible : compartiment Amazon S3 |
Type R : Replateforme | Charge de travail : Microsoft | Technologies : migration, stockage et sauvegarde |
AWSservices : Amazon S3 |
Récapitulatif
Ce modèle décrit comment utiliser Rclone
Conditions préalables et limitations
Prérequis
Un AWS compte actif
Données stockées dans le service de conteneur Azure Blob
Architecture
Pile technologique source
Conteneur de stockage Azure Blob
Pile technologique cible
Compartiment Amazon S3
Instance Linux Amazon Elastic Compute Cloud (AmazonEC2)
Architecture
![Migration de données de Microsoft Azure vers Amazon S3](images/pattern-img/6ead815d-7768-4726-b27d-97a70cd21081/images/abe69eee-632f-4ca2-abf6-3223f3f3ec94.png)
Outils
Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.
Rclone
est un programme de ligne de commande open source inspiré de rsync. Il est utilisé pour gérer les fichiers sur de nombreuses plateformes de stockage cloud.
Bonnes pratiques
Lorsque vous migrez des données d'Azure vers Amazon S3, tenez compte de ces considérations afin d'éviter des coûts inutiles ou des vitesses de transfert lentes :
Créez votre AWS infrastructure dans la même région géographique que le compte de stockage Azure et le conteneur Blob, par exemple, la AWS région
us-east-1
(Virginie du Nord) et la région Azure.East US
Évitez d'utiliser NAT Gateway si possible, car cela entraîne des frais de transfert de données pour la bande passante d'entrée et de sortie.
Utilisez un point de terminaison de VPC passerelle pour Amazon S3 afin d'améliorer les performances.
Envisagez d'utiliser une EC2 instance basée sur le processeur AWS Graviton2 (ARM) pour réduire les coûts et améliorer les performances par rapport aux instances Intel x86. Rclone est fortement compilé de manière croisée et fournit un binaire ARM précompilé.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Préparez un compartiment S3 de destination. | Créez un nouveau compartiment S3 dans la AWS région appropriée ou choisissez un compartiment existant comme destination pour les données que vous souhaitez migrer. | AWSadministrateur |
Créez un rôle d'IAMinstance pour AmazonEC2. | Créez un nouveau rôle AWS Identity and Access Management (IAM) pour Amazon EC2. Ce rôle donne à votre EC2 instance un accès en écriture au compartiment S3 de destination. | AWSadministrateur |
Attachez une politique au rôle d'IAMinstance. | Utilisez la IAM console ou l'interface de ligne de AWS commande (AWSCLI) pour créer une politique en ligne pour le rôle d'EC2instance qui autorise les autorisations d'accès en écriture au compartiment S3 de destination. Pour un exemple de politique, consultez la section Informations supplémentaires. | AWSadministrateur |
Lancez une instance EC2. | Lancez une EC2 instance Amazon Linux configurée pour utiliser le rôle de IAM service nouvellement créé. Cette instance devra également accéder aux API points de terminaison publics Azure via Internet. Remarque : pensez à utiliser des EC2instances AWS basées sur Graviton pour réduire les coûts. Rclone fournit des binaires ARM compilés. | AWSadministrateur |
Créez un principal de service Azure AD. | Utilisez Azure CLI pour créer un principal de service Azure Active Directory (Azure AD) disposant d'un accès en lecture seule au conteneur de stockage Azure Blob source. Pour obtenir des instructions, consultez la section Informations supplémentaires. Stockez ces informations d'identification sur votre EC2 instance à cet emplacement | Administrateur du cloud, Azure |
Tâche | Description | Compétences requises |
---|---|---|
Téléchargez et installez Rclone. | Téléchargez et installez le programme de ligne de commande Rclone. Pour les instructions d'installation, consultez la documentation d'installation de Rclone | GénéralAWS, administrateur du cloud |
Configurez Rclone. | Copiez le fichier
| GénéralAWS, administrateur du cloud |
Vérifiez la configuration de Rclone. | Pour vérifier que Rclone est configuré et que les autorisations fonctionnent correctement, vérifiez que Rclone peut analyser votre fichier de configuration et que les objets de votre conteneur Azure Blob et de votre compartiment S3 sont accessibles. Consultez les exemples de commandes de validation suivants.
| GénéralAWS, administrateur du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Migrez les données de vos conteneurs. | Exécutez la commande Rclone copy Exemple : copie Cette commande copie les données du conteneur Azure Blob source vers le compartiment S3 de destination.
Exemple : synchronisation Cette commande synchronise les données entre le conteneur Azure Blob source et le compartiment S3 de destination.
Important : Lorsque vous utilisez la commande de synchronisation, les données absentes du conteneur source sont supprimées du compartiment S3 de destination. | GénéralAWS, administrateur du cloud |
Synchronisez vos conteneurs. | Une fois la copie initiale terminée, exécutez la commande Rclone sync pour poursuivre la migration afin que seuls les nouveaux fichiers manquants dans le compartiment S3 de destination soient copiés. | GénéralAWS, administrateur du cloud |
Vérifiez que les données ont bien été migrées. | Pour vérifier que les données ont bien été copiées dans le compartiment S3 de destination, exécutez les commandes Rclone lsd | GénéralAWS, administrateur du cloud |
Ressources connexes
Guide de l'utilisateur d'Amazon S3 (AWSdocumentation)
IAMrôles pour Amazon EC2 (AWSdocumentation)
Création d'un conteneur Microsoft Azure Blob
(documentation Microsoft Azure) Commandes Rclone
(documentation Rclone)
Informations supplémentaires
Exemple de politique de rôle pour les EC2 instances
Cette politique donne à votre EC2 instance un accès en lecture et en écriture à un compartiment spécifique de votre compte. Si votre compartiment utilise une clé gérée par le client pour le chiffrement côté serveur, la politique peut nécessiter un accès supplémentaire au service de gestion des AWS clés () AWSKMS.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:DeleteObject", "s3:GetObject", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::BUCKET_NAME/*", "arn:aws:s3:::BUCKET_NAME" ] }, { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "arn:aws:s3:::*" } ] }
Création d'un principal de service Azure AD en lecture seule
Un principal de service Azure est une identité de sécurité utilisée par les applications, les services et les outils d'automatisation des clients pour accéder à des ressources Azure spécifiques. Considérez-le comme une identité d'utilisateur (identifiant et mot de passe ou certificat) dotée d'un rôle spécifique et d'autorisations étroitement contrôlées pour accéder à vos ressources. Pour créer un principal de service en lecture seule afin de respecter les autorisations du moindre privilège et de protéger les données dans Azure contre les suppressions accidentelles, procédez comme suit :
Connectez-vous au portail de votre compte cloud Microsoft Azure et lancez Cloud Shell PowerShell ou utilisez l'interface de ligne de commande Azure (CLI) sur votre poste de travail.
Créez un principal de service et configurez-le avec un accès en lecture seule
à votre compte de stockage Azure Blob. Enregistrez le JSON résultat de cette commande dans un fichier local appelé azure-principal.json
. Le fichier sera chargé sur votre EC2 instance. Remplacez les variables d'espace réservé indiquées entre accolades ({
et}
) par votre ID d'abonnement Azure, le nom du groupe de ressources et le nom de votre compte de stockage.az ad sp create-for-rbac ` --name AWS-Rclone-Reader ` --role "Storage Blob Data Reader" ` --scopes /subscriptions/{Subscription ID}/resourceGroups/{Resource Group Name}/providers/Microsoft.Storage/storageAccounts/{Storage Account Name}