Comment puis-je utiliser Data Pipeline pour exécuter une copie unique ou automatiser une synchronisation planifiée de mes compartiments Amazon S3 ?

Date de la dernière mise à jour : 18/06/2020

Je souhaite transférer des données entre deux compartiments Amazon Simple Storage Service (Amazon S3) en tant que tâche unique ou en tant que synchronisation planifiée. Comment puis-je configurer une opération de copie ou de synchronisation entre des compartiments à l'aide d'AWS Data Pipeline ?

Solution

Remarque : l'utilisation de Data Pipeline est une option pour transférer des données entre des compartiments S3. Les autres options incluent l'utilisation d'opérations par lots S3, l'activation de la réplication ou l'exécution des commandes cp ou sync sur l'interface de ligne de commande AWS (AWS CLI).

1.    Vérifiez que votre utilisateur ou rôle AWS Identity and Access Management (IAM) dispose des autorisations suffisantes pour utiliser Data Pipeline.

2.    Connectez-vous à la console AWS Data Pipeline avec votre utilisateur ou rôle IAM. Vérifiez que la console est définie sur une région AWS qui prend en charge Data Pipeline.

Important : les compartiments source et de destination n'ont pas besoin d'être dans la même région, et les compartiments n'ont pas besoin d'être dans la même région que le pipeline. Toutefois, les transferts de données entre différentes régions entraînent des coûts. Assurez-vous de consulter la tarification Amazon S3 pour les transferts de données.

3.    Choisissez Create pipeline (Créer un pipeline).

4.    Sous Name (Nom), saisissez un nom pour ce pipeline.

5.    Pour Source, sélectionnez Build using a template (Créer à l'aide d'un modèle). Ensuite, sélectionnez Run AWS CLI command (Exécuter la commande AWS CLI).

6.    Pour la commande AWS CLI, pour configurer une opération de copie, entrez la commande suivante :

aws s3 cp s3://source-AWSDOC-EXAMPLE-BUCKET1 s3://destination-AWSDOC-EXAMPLE-BUCKET2

Remarque : la commande de copie remplace tous les objets du compartiment de destination ayant le même nom de clé que les objets du compartiment source.

Pour configurer une opération de synchronisation, entrez la commande suivante :

aws s3 sync s3://source-AWSDOC-EXAMPLE-BUCKET1 s3://destination-AWSDOC-EXAMPLE-BUCKET2

Remarque : la commande de synchronisation compare les compartiments source et de destination, puis transfère uniquement la différence.

7.    Pour Run (Exécuter), sélectionnez on pipeline activation (à l'activation du pipeline) pour une tâche de copie ou de synchronisation unique. Vous pouvez également sélectionner on a scheduled (selon un calendrier) pour une copie ou une synchronisation planifiée, puis compléter les champs Run every (Exécuter toutes les), Starting (Début), et Ending (Fin) en fonction de votre cas d'utilisation.

8.    Pour Logging (Journalisation), vous pouvez sélectionner Enabled (Activé), puis entrer un emplacement S3 pour les journaux. Ou, si vous ne voulez pas de journaux, vous pouvez sélectionner Disabled (Désactivé).

9.    Pour les rôles IAM, vous pouvez sélectionner le rôle par défaut ou un rôle personnalisé. Le rôle par défaut dispose d'autorisations Amazon S3 pour s3:CreateBucket, s3 DeleteObject, s3:Get*, s3:List*, et s3:Put*.

Remarque : si les compartiments ont un chiffrement par défaut avec AWS Key Management Service (AWS KMS), vous devez accorder au rôle Data Pipeline les autorisations pour utiliser la clé AWS KMS.

10.    Sélectionnez Activate (Activer).

Remarque : vous pouvez éventuellement optimiser les performances en créant plusieurs pipelines pour chaque préfixe de niveau racine dans votre compartiment.