Tutoriel : Transfert de données depuis un stockage sur site 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.

Tutoriel : Transfert de données depuis un stockage sur site vers Amazon S3 dans un autreCompte AWS

Lorsque vous utilisezAWS DataSync un système de stockage sur site, vous copiez généralement les données vers un service deAWS stockage qui appartient au même serviceCompte AWS que votreDataSync agent. Dans certains cas, toutefois, vous pouvez avoir besoin de transférer des données vers un compartiment Amazon S3 associé à un autre compte.

Important

La copie de données àComptes AWS l'aide des méthodes décrites dans ce didacticiel ne fonctionne que lorsqu'Amazon S3 est l'un desDataSync emplacements.

Présentation

Dans ce didacticiel, vous allez découvrir commentAWS Identity and Access Management (IAM) etAWS Command Line Interface (AWS CLI) peuvent vous aider à créer desDataSync tâches qui transfèrent des données d'un stockage sur site vers un compartiment S3 situé dans un autre compartimentCompte AWS.

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

  • Compte A : celuiCompte AWS que vous utilisez pour gérer les ressources réseau. Le terminal avec lequel vous activez l'DataSyncagent appartient également à ce compte.

    Note

    Les étapes de ce didacticiel s'appliquent à tout type de point de terminaison avec lequel vous activez votre agent.

  • Compte B : le compte BCompte AWS pour le compartiment S3 dans lequel vous souhaitez copier des données.

Le schéma suivant illustre ce scénario.

Exemple deDataSync scénario de transfert de données depuis un système de stockage sur site via Internet versAWS. Les données sont d'abord transférées vers un compartimentCompte AWS (compte A), avant d'être finalement transférées dans un compartiment Amazon S3 dans un autreCompte AWS (compte B).

Prérequis

Avant de commencer les travaux IAM visant à faciliter le transfert entre comptes, procédez comme suit si ce n'est pas déjà fait :

  1. Configurez votre réseau afin que votre système de stockage sur site puisse se connecter àAWS.

  2. Déployez et activez votreDataSync agent avec le compte A.

  3. Créez un emplacementDataSync source avec le compte A pour le système de stockage local à partir duquel vous copiez les données.

  4. Configurez leAWS CLI avec le compte A. Vous en aurez besoinAWS CLI pour créer l'emplacement deDataSync destination du compartiment S3 dans le compte B.

Étape 1 : Créer un rôle IAM pourDataSync le compte A

Vous avez besoin d'un rôle IAM quiDataSync autorise l'écriture dans le compartiment S3 du compte B.

Lorsque vous créez un emplacement pour un compartiment, vousDataSync pouvez automatiquement créer et assumer un rôle avec les autorisations nécessaires pour accéder à ce compartiment. Comme vous effectuez un transfert d'un compte à un autre, vous devez créer le rôle manuellement.

Pour plus d'informations, consultez la section Création d'un rôle pour uneService AWS (console) dans le Guide de l'utilisateur IAM.

Créer le rôle IAM

Créez un rôle enDataSync tant qu'entité de confiance.

Pour créer le rôle IAM
  1. Connectez-vousAWS Management Console au compte A.

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

  3. Dans le volet de navigation de gauche, sous Gestion des accès, choisissez Rôles, puis choisissez Créer un rôle.

  4. Sur la page Sélectionner une entité sécurisée, sélectionnez Type d'entité sécurisée Service AWS.

  5. Pour Cas d'utilisation, choisissez DataSyncdans la liste déroulante et sélectionnez DataSync. Choisissez Suivant.

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

  7. Donnez un nom à votre rôle et choisissez Créer un rôle.

Attachez une politique personnalisée au rôle IAM

Le rôle IAM nécessite une politique permettant d'DataSyncécrire dans votre compartiment S3 dans le compte B.

Pour attacher une politique personnalisée au rôle IAM
  1. Sur la page Rôles de 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 l'onglet Autorisations. Choisissez Ajouter des autorisations, puis Créer une politique intégrée.

  3. Choisissez l'onglet JSON et procédez comme suit :

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

      { "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-bucket par le nom du compartiment S3 du compte B.

  4. Choisissez Review policy (Examiner une politique).

  5. Donnez un nom à votre politique et choisissez Créer une politique.

É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 d'un compartiment S3
  1. Dans leAWS 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. Dans la liste des compartiments, choisissez le compartiment S3 vers lequel vous transférez des données.

  5. Sur la page détaillée du compartiment, choisissez l'onglet Autorisations.

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

  7. Si ce n'est pas déjà fait, choisissez l'option ACL désactivée (recommandée).

  8. Choisissez Save Changes (Enregistrer les modifications).

Étape 3 : mettre à jour la politique de compartiment S3 du compte B

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

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

  • Le premier principal spécifie le rôle IAM dans le compte A que vous avez créé à l'étape 1. Ce rôle permetDataSync d'écrire dans le compartiment S3 du compte B.

  • Le second principe spécifie le rôle IAM dans le compte A que vous utilisez pour accéder à la console ouAWS CLI. À l'étape 4, vous utiliserez ce rôle lors de la création de l'emplacement de destination du compartiment S3.

Pour mettre à jour la politique 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 détaillée du compartiment, choisissez l'onglet Autorisations.

  3. Sous Politique de compartiment, choisissez Modifier et procédez comme suit pour modifier votre politique de compartiment S3 :

    1. Mettez à jour le contenu de l'éditeur pour inclure les déclarations de politique suivantes :

      { "Version": "2008-10-17", "Statement": [ { "Sid": "DataSyncCreateS3LocationAndTaskAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-a-id:role/name-of-datasync-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:role/name-of-your-role" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::account-b-bucket" } ] }
    2. Remplacezaccount-a-id par leCompte AWS numéro du compte A.

    3. Remplacez-lename-of-datasync-role par le rôle IAM que vous avez crééDataSync dans le compte A (voir étape 1).

    4. Remplacezaccount-b-bucket par le nom du compartiment S3 du compte B.

    5. name-of-your-roleRemplacez-le par le rôle IAM que vous utilisez pour accéder à la console ouAWS CLI par le compte A.

  4. Choisissez Save Changes (Enregistrer les modifications).

Étape 4 : Création d'un emplacement deDataSync destination pour le compartiment S3

Après avoir créé un emplacement pour le compartiment S3, vous pouvez exécuter votreDataSync tâche. LaDataSync console ne permet toutefois pas de créer des emplacements dans différents comptes. Vous devez créer l'emplacement avec leAWS CLI avant de pouvoir exécuter la tâche.

Pour créer unDataSync emplacement à l'aide de 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 suivante :

    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-datasync-role"}'
  4. Remplacezaccount-b-bucket par le nom du compartiment S3 du compte B.

  5. Remplacezaccount-a-id par leCompte AWS numéro du compte A.

  6. Remplacez-lename-of-datasync-role par le rôle IAM que vous avez crééDataSync dans le compte A (voir étape 1).

  7. Exécutez la commande .

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

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

  9. Ouvrez laDataSync console à l'adresse https://console.aws.amazon.com/datasync/.

  10. Dans le panneau de navigation de gauche, choisissez Emplacements.

    Vous pouvez voir l'emplacement du compartiment S3 dans le compte B que vous venez de créer à l'aide de la CLI.

Étape 5 : Créer et démarrer uneDataSync tâche

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

  • Vous avez déployé et activé votreDataSync agent dans le compte A afin qu'il puisse lire à partir de votre système de stockage autogéré et communiquer avec luiAWS.

  • Création d'un rôle IAM dans le compte A afin deDataSync pouvoir écrire des données dans le compartiment S3 du compte B.

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

  • Vous avez créé vos emplacementsDataSync source et destination dans le compte A.

Pour créer et démarrer laDataSync tâche
  1. Tout en utilisant laDataSync console dans le compte A, développez Transfert de données dans le volet de navigation de gauche, puis choisissez Tâches et Créer une tâche.

    Note

    Vous devez être connecté à la console avec le même rôle IAM pour le compte A que celui que vous avez spécifié dans la politique de compartiment S3 à l'étape 3.

  2. Sur la page Configurer l'emplacement source, choisissez Choisir un emplacement existant. Choisissez l'emplacement source à partir duquel vous copiez les données (votre stockage sur site), puis Suivant.

  3. Sur la page Configurer l'emplacement de destination, choisissez Choisir un emplacement existant. Choisissez l'emplacement de destination vers lequel vous copiez les données (le compartiment S3 dans le compte B), puis Suivant.

  4. Sur la page Configurer les paramètres, attribuez un nom à la tâche. Le cas échéant, configurez des paramètres supplémentaires, tels que la spécification d'un groupe deCloudWatch journaux Amazon. Choisissez Suivant.

  5. Sur la page Révision, passez en revue vos paramètres et choisissez Créer une tâche.

  6. Dans la page des détails de la tâche, choisissez Démarrer, puis choisissez l'une des options suivantes :

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

    • Pour modifier la tâche avant de l'exécuter, choisissez Démarrer avec des options de remplacement.

Lorsque votre tâche est terminée, les données de votre stockage sur site s'affichent dans le compartiment S3. Vous pouvez désormais accéder aux données du compartiment depuis le compte B.

Ressources connexes

Pour en savoir plus sur ce que vous avez fait dans ce didacticiel, consultez les rubriques suivantes :