Didacticiel : Transfert de données du stockage local 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 du stockage local vers Amazon S3 dans un autreCompte AWS

Quanden utilisantAWS DataSyncavec un stockage sur site, vous copiez généralement des données dans unAWSservice de stockage appartenant au mêmeCompte AWScomme votre DataSync agent. Il existe cependant des situations dans lesquelles vous devrez peut-être transférer des données vers un compartiment Amazon S3 associé à un autre compte.

Important

Copie de données sur plusieursComptes AWSen utilisant les méthodes de ce didacticiel ne fonctionne que lorsque Amazon S3 est l'un des DataSync Emplacements.

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'un stockage sur site vers un compartiment S3 dans un autre compartimentCompte AWS.

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

  • Compte A : LeCompte AWSque vous utilisez pour gérer les ressources réseau. Le point de terminaison que vous activez le DataSync Agent avec appartient également à ce compte.

    Note

    Les étapes de ce didacticiel s'appliquent àn'importe quel type de point de terminaisonavec lequel vous activez votre agent.

  • Compte B : LeCompte AWSpour le compartiment S3 dans lequel vous souhaitez copier des données.

Le schéma suivant illustre ce scénario.


                Exemple d'd' DataSync scénario de transfert de données d'un système de stockage sur site à travers le système de stockageinternetdansAWS. Les données sont d'abord transférées en un seulCompte AWS(Compte A), avant de le transformer en compartiment Amazon S3 dans un autre compartimentCompte AWS(Compte B).

Prérequis

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

  1. Configurer votre réseauafin que votre système de stockage sur site puisse se connecter àAWS.

  2. Déployez et activez votre DataSync agentavec le compte A.

  3. Création d'un DataSync emplacement sourceavec le compte A pour le système de stockage local à partir duquel vous copiez des données.

  4. 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'écriture 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. Comme 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éation d'un rôle avec DataSync comme 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 panneau 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. Attribuez un nom à votre rôle et choisissezCréation d'un rôle.

Attachez une stratégie 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 le boutonAutorisationsonglet. ChoisissezAjout d'autorisationsalorsCréation d'une stratégie en ligne.

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

    1. Collez le code 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. Attribuez un nom à votre politique 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 le boutonAutorisationsonglet.

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

  7. S'il n'est pas déjà sélectionné, choisissez-leACL 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 duAWS CLI(vous allez le faire à l'étape 4).

    Note

    Si vous vous connectez à la console et accédez à la consoleAWS 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 le boutonAutorisationsonglet.

  3. SousStraté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 déclarations de stratégie suivantes :

      { "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 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. Exécutez la commande .

    Si la commande renvoie une commande 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" }
  8. Revenez au compte A dans leAWS Management Console.

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

  10. Dans le panneau 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 :

  • Déployé et activé votre DataSync agent dans le compte A afin que l'agent puisse lire à partir de votre système de stockage autogéré et communiquer avecAWS.

  • 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 module DataSync tâche

  1. Tout en continuant à utiliser le DataSync console dans le compte A, choisissezTâchesDans le panneau 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. Dans la pageConfigurer l'emplacement source, choisissezChoisissez un emplacement existant. Choisissez l'emplacement source à partir duquel vous copiez les données (votre stockage sur site), puisSuivant.

  3. 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.

  4. 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).

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

  6. 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.

Une fois votre tâche terminée, vous verrez les données de votre stockage local dans le compartiment S3. Vous pouvez désormais accéder aux données du compartiment à partir du compte B.

Ressources connexes

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