Didacticiel : Transfert de données d'Amazon S3 vers Amazon S3 dans un autreCompte AWS - AWS DataSync

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.

Didacticiel : Transfert de données d'Amazon S3 vers Amazon S3 dans un autreCompte AWS

WavecAWS DataSync, vous pouvez déplacer des données entre des compartiments Amazon S3 appartenant à différents compartimentsComptes AWS.

Important

Copie de données sur plusieursComptes AWSl'utilisation des méthodes de ce didacticiel ne fonctionne qu'avec Amazon S3.

Présentation

Dans ce didacticiel, vous allez découvrir commentAWS Identity and Access Management(IAM) et leAWS Command Line Interface(AWS CLI) peuvent vous aider à créer DataSync tâches qui transfèrent des données d'Amazon S3 vers un autre compartiment S3 dans un autre compartiment S3Compte AWS.

Astuce

Suivez ce tutoriel si vos compartiments S3 sont également différentsRégions AWS. Le processus est généralement le même, à l'exception de quelques étapes supplémentaires. Gardez cependant à l'esprit que DataSync ne prend pas en charge ces types de transferts pourDésactivation par défaut des régions.

Voici à quoi peut ressembler ce genre de scénario :

  • Compte A : LeCompte AWSque vous utilisez pour la gestion du compartiment S3 depuis lequel vous souhaitez copier les données.

  • Compte B : LeCompte AWSque vous utilisez pour la gestion du compartiment S3 dans lequel vous souhaitez copier des données.

Transfers across accounts

Le diagramme suivant illustre un scénario dans lequel vous copiez des données d'un compartiment S3 vers un autre compartiment S3 situé dans un autre compartiment S3Compte AWS.


                            Un exemple DataSync Scénario de transfert de données depuis un compartiment S3Compte AWS(Compte A) avant de le transformer en compartiment S3 dans un autre compartimentCompte AWS(Compte B).
Transfers across accounts and Regions

Le diagramme suivant illustre un scénario dans lequel vous copiez des données d'un compartiment S3 vers un autre compartiment S3 situé dans un autre compartiment S3Compte AWSet la région.


                            Un exemple DataSync Scénario de transfert de données depuis un compartiment S3Compte AWS(Compte A) et Region avant de le transformer en compartiment S3 dans un autre compartimentCompte AWS(Compte B) et région.

Prérequis

Avant de commencer le travail IAM pour faciliter le transfert entre comptes, procédez comme suit si vous ne l'avez pas déjà fait :

  1. Déterminez le nombre d'objets que vous copiez. UtiliserCadre de stockage Amazon S3pour déterminer combien d'objets se trouvent dans votre seau.

    Astuce

    Lors d'un transfert entre godets S3, DataSync ne peut pas copier plus de 25 millions d'objets par tâche. Si votre compartiment contient plus de 25 millions d'objets, nous vous recommandons quelques options :

    • Organisation de vos objetsen utilisant des préfixes dont vous n'incluez pas plus de 25 millions d'objets. Vous pouvez ensuite créer des éléments séparés. DataSync tâches pour chaque préfixe.

    • Filtrage des donnéestransféré par DataSync.

  2. Création d'un DataSync emplacement sourceavec le compte A pour le compartiment S3 depuis lequel vous copiez des données.

  3. Configuration de l'AWS CLIavec le compte A. Vous aurez besoin duAWS CLIpour créer l'emplacement de destination DataSync pour le compartiment S3 dans le compte B.

Étape 1 : Création d'un rôle IAM pour DataSync dans le compte A

Vous avez besoin d'un rôle IAM qui donne DataSync Autorisation d'écrire dans le compartiment S3 dans le compte B.

Lorsque vous créez un emplacement pour un compartiment, DataSync peut automatiquement créer et assumer un rôle avec les autorisations appropriées pour accéder à ce compartiment. Étant donné que vous effectuez un transfert entre comptes, vous devez créer le rôle manuellement.

Pour de plus amples informations, veuillez consulterCréation d'un rôle pour unService AWS(console)dans leIAM User Guide.

Création du rôle IAM

Créez un rôle avec DataSync en tant qu'entité de confiance.

Pour créer le rôle IAM

  1. Connectez-vous auAWS Management Consoleavec le compte A.

  2. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  3. Dans le volet de navigation de gauche, sousGestion de l'accès, choisissezRôles, puischoisir Création d'un rôle.

  4. Dans la pageSélectionnez une entité de confiance, pourType d'entité de confiance, choisissezService AWS.

  5. PourCas d'utilisation, choisissezDataSyncdans la liste déroulante et sélectionnezDataSync. Choisissez Next (Suivant).

  6. Sur la page Add permissions (Ajouter des autorisations), sélectionnez Next (Suivant).

  7. Donnez un nom à votre rôle et choisissezCréation d'un rôle.

Attachez une politique personnalisée au rôle IAM

Le rôle IAM nécessite une stratégie qui permet DataSync Pour écrire dans votre compartiment S3 dans le compte B.

Pour attacher une politique personnalisée au rôle IAM

  1. Dans la pageRôlesde la console IAM, recherchez le rôle que vous venez de créer et choisissez son nom.

  2. Sur la page des détails du rôle, choisissez leAutorisationsOnglet. ChoisissezAjout d'autorisationsalorsCréation d'une stratégie en ligne.

  3. Cliquez sur l'ongletJASONet procédez comme suit :

    1. Collez le texte JSON suivant dans l'éditeur de stratégie :

      { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Effect": "Allow", "Resource": "arn:aws:s3:::account-b-bucket" }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::account-b-bucket/*" } ] }
    2. Remplacezaccount-b-bucketavec le nom du compartiment S3 dans le compte B.

  4. Choisissez Review policy (Examiner une politique).

  5. Donnez un nom à votre stratégie et choisissezCréer une stratégie.

Étape 2 : Désactiver les ACL pour votre compartiment S3 dans le compte B

Il est important que toutes les données que vous copiez dans le compartiment S3 appartiennent au compte B. Pour vous assurer que le compte B est le propriétaire des données, désactivez les listes de contrôle d'accès (ACL) du compartiment. Pour plus d'informations, veuillez consulter la section Contrôle de la propriété des objets et désactivation des ACL pour votre compartiment dans le Guide de l'utilisateur d'Simple Storage Service (Amazon S3).

Pour désactiver les ACL pour un compartiment S3

  1. DansAWS Management Console, passez au compte B.

  2. Ouvrez la console Amazon S3 sur https://console.aws.amazon.com/s3/.

  3. Dans le panneau de navigation de gauche, choisissez Compartiments.

  4. DansCompartiments, choisissez le compartiment S3 vers lequel vous transférez des données.

  5. Sur la page des détails du compartiment, choisissez leAutorisationsOnglet.

  6. Sous Object Ownership (Propriétaire de l'objet), sélectionnez Edit (Modifier).

  7. S'il n'est pas déjà sélectionné, choisissez l'optionACL désactivées (recommandé)option.

  8. Sélectionnez Enregistrer les modifications.

Étape 3 : Mettre à jour la politique de compartiment S3 dans le compte B

Dans le compte B, modifiez la politique de compartiment S3 afin d'autoriser l'accès au rôle IAM que vous avez créé pour DataSync dans le compte A.

La stratégie mise à jour (qui vous est fournie dans les instructions suivantes) comprend deux principes principaux :

  • Le premier principal spécifie le rôle IAM que vous avez créé dans le compte A qui autorise DataSync Pour écrire dans le compartiment S3.

  • Le deuxième principal spécifie le nom d'utilisateur IAM pour le compte A, ce qui vous permet de créer le DataSync destination du compartiment S3 à l'aide de la commandeAWS CLI(vous allez le faire à l'étape 4).

    Note

    Si vous vous connectez à la console et accédez à laAWS CLIà l'aide d'un rôle IAM, spécifiez ce rôle au lieu d'un nom d'utilisateur pour le deuxième principal.

Pour mettre à jour la stratégie de compartiment S3

  1. Lorsque vous êtes toujours dans la console S3 et que vous utilisez le compte B, choisissez le compartiment S3 dans lequel vous copiez les données.

  2. Sur la page des détails du compartiment, choisissez leAutorisationsOnglet.

  3. UnderStratégie de compartiment, choisissezModifieret procédez comme suit pour modifier votre stratégie de compartiment S3 :

    1. Mettez à jour ce qui se trouve dans l'éditeur pour inclure les énoncés de stratégie suivants :

      { "Version": "2008-10-17", "Statement": [ { "Sid": "DataSyncCreateS3LocationAndTaskAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-a-id:role/name-of-role" }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::account-b-bucket", "arn:aws:s3:::account-b-bucket/*" ] }, { "Sid": "DataSyncCreateS3Location", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-a-id:user/name-of-user" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::account-b-bucket" } ] }
    2. Remplacezaccount-a-idavec leCompte AWSnuméro de compte A.

    3. Remplacezname-of-roleavec le rôle IAM que vous avez créé pour DataSync dans le compte A (retour à l'étape 1).

    4. Remplacezaccount-b-bucketavec le nom du compartiment S3 dans le compte B.

    5. Remplacezname-of-useravec le nom d'utilisateur IAM que vous utilisez pour vous connecter à la console avecCompte A.

      Si vous spécifiez plutôt un rôle IAM, mettez à jour le format de l'Amazon Resource Name (ARN) :

      "arn:aws:iam::account-a-id:role/name-of-role"

  4. Sélectionnez Enregistrer les modifications.

Étape 4 : Création d'un DataSync emplacement de destination du compartiment S3

Après avoir créé un emplacement pour le compartiment S3, vous pouvez exécuter votre DataSync tâche. La console DataSync, cependant, ne prend pas en charge la création d'emplacements dans différents comptes. Vous devez créer l'emplacement avec leAWS CLIavant de pouvoir exécuter la tâche.

Pour créer un DataSync emplacement avec l'interface de ligne de commande

  1. Ouvrez un terminal.

  2. Assurez-vous que votre profil CLI est configuré pour utiliser le compte A.

  3. Copiez la commande ci-après :

    aws datasync create-location-s3 --s3-bucket-arn arn:aws:s3:::account-b-bucket --s3-config '{"BucketAccessRoleArn":"arn:aws:iam::account-a-id:role/name-of-role"}'
  4. Remplacezaccount-b-bucketavec le nom du compartiment S3 dans le compte B.

  5. Remplacezaccount-a-idavec leCompte AWSnuméro de compte A.

  6. Remplacezname-of-roleavec le rôle IAM que vous avez créé pour DataSync dans le compte A (retour à l'étape 1).

  7. Si le compartiment du compte B se trouve dans une région différente de celle du compartiment dans le compte A, ajoutez le--regionà la fin de la commande pour spécifier la région où réside le compartiment Compte B. Par exemple, --region us-west-1.

  8. Exécutez la commande .

    Si la commande renvoie un DataSync emplacement ARN similaire à celui-ci, vous avez créé avec succès l'emplacement :

    { "LocationArn": "arn:aws:datasync:us-east-2:123456789012:location/loc-abcdef01234567890" }
  9. Revenez au compte A dans leAWS Management Console.

  10. Ouverture d' DataSync à l'adressehttps://console.aws.amazon.com/datasync/.

  11. Dans le volet de navigation de gauche, choisissezEmplacements.

    Vous pouvez voir l'emplacement du compartiment S3 dans le compte B que vous venez de créer avec l'interface de ligne de commande.

Étape 5 : Créez et démarrez un DataSync tâche

Avant de déplacer vos données, récapitulons ce que vous avez fait jusqu'ici :

  • Création d'un rôle IAM dans le compte A afin que DataSync peut écrire des données dans le compartiment S3 dans le compte B.

  • Vous avez configuré votre compartiment S3 dans le compte B pour vous assurer que votre DataSync tâche fonctionne.

  • Création de votre DataSync emplacements source et destination dans le compte A.

Pour créer et démarrer le DataSync tâche

  1. Tout en continuant à utiliser le DataSync console dans le compte A, choisissezTâchesdans le volet de navigation de gauche, puisCréer tâche.

    Note

    Vous devez être connecté à la console avec le même nom d'utilisateur (ou rôle) IAM pour le compte A que celui que vous avez spécifié dans la stratégie de compartiment S3 à l'étape 3.

  2. Si le compartiment du compte B se trouve dans une région différente de celle du compartiment A, choisissez la région du compartiment Compte B dans le volet de navigation.

    Vous devez commencer le DataSync tâche à partir de la région de l'emplacement de destination (dans ce cas, le compartiment Compte B) pour éviter une erreur de connexion.

  3. Dans la pageConfiguration de l'emplacement source, choisissezChoisissez un emplacement existant.

  4. Pour les transferts entre régions, choisissez la région où réside le compartiment Compte A.

  5. Choisissez l'emplacement source à partir duquel vous copiez les données (le compartiment S3 dans le compte A), puisSuivant.

  6. Dans la pageConfiguration de l'emplacement de destination, choisissezChoisissez un emplacement existant. Choisissez l'emplacement de destination vers lequel vous copiez les données (le compartiment S3 dans le compte B), puisSuivant.

  7. Dans la pageConfiguration des paramètres, attribuez un nom à la tâche. Si nécessaire, configurez des paramètres supplémentaires, tels que la spécification d'un Amazon CloudWatch groupe de journaux. Choisissez Next (Suivant).

  8. Dans la pageVérification, vérifiez vos paramètres et choisissezCréer tâche.

  9. Sur la page des détails de la tâche, choisissezDémarrer, puis choisissez l'une des options suivantes :

    • Pour exécuter la tâche sans modification, choisissezCommencez par les valeurs par défaut.

    • Pour modifier la tâche avant de l'exécuter, choisissezCommencez par remplacer les options.

Lorsque votre tâche est terminée, vérifiez le compartiment S3 dans le compte B. Vous devriez voir les données de votre compartiment Compte A.

Ressources connexes

Pour plus d'informations sur ce que vous avez fait dans ce didacticiel, consultez les rubriques suivantes :