Surveillance des transferts de données avec Amazon CloudWatch Logs - 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.

Surveillance des transferts de données avec Amazon CloudWatch Logs

Vous pouvez surveiller votre AWS DataSync transfert à l'aide CloudWatch des journaux. Nous vous recommandons de configurer votre tâche de manière à consigner au moins les informations de base (telles que les erreurs de transfert).

DataSync Autoriser le téléchargement de journaux dans un groupe de CloudWatch journaux

Pour configurer la journalisation de votre DataSync tâche, vous avez besoin d'un groupe de CloudWatch journaux autorisé à envoyer des journaux. DataSync Vous configurez cet accès via un rôle AWS Identity and Access Management (IAM). La manière dont cela fonctionne spécifiquement dépend de votre mode de tâche.

Enhanced mode

Avec le mode amélioré, envoie DataSync automatiquement les journaux des tâches à un groupe de journaux nommé/aws/datasync. Si ce groupe de journaux n'existe pas dans votre compte Région AWS, DataSync crée le groupe de journaux en votre nom en utilisant un rôle lié à un service IAM lorsque vous créez votre tâche.

Basic mode

Le mode de base permet de configurer un groupe de CloudWatch journaux pour une DataSync tâche de plusieurs manières. Dans la console, vous pouvez créer automatiquement un rôle IAM qui inclut dans la plupart des cas les autorisations nécessaires pour DataSync télécharger des journaux. N'oubliez pas que ce rôle généré automatiquement peut ne pas répondre à vos besoins du point de vue du moindre privilège.

Si vous souhaitez utiliser un groupe de CloudWatch journaux existant ou si vous créez vos tâches par programmation, vous devez créer vous-même le rôle IAM.

L'exemple suivant est une politique IAM qui accorde ces autorisations.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DataSyncLogsToCloudWatchLogs", "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogStream" ], "Principal": { "Service": "datasync.amazonaws.com" }, "Condition": { "ArnLike": { "aws:SourceArn": [ "arn:aws:datasync:region:account-id:task/*" ] }, "StringEquals": { "aws:SourceAccount": "account-id" } }, "Resource": "arn:aws:logs:region:account-id:log-group:*:*" } ] }

La politique utilise Condition des instructions pour garantir que seules DataSync les tâches du compte spécifié ont accès au groupe de CloudWatch journaux spécifié. Nous vous recommandons d'utiliser aws:SourceArn et aws:SourceAccountclés de contexte de condition globale dans ces Condition instructions pour se protéger contre le problème confus des adjoints. Pour de plus amples informations, veuillez consulter Prévention du problème de l’adjoint confus entre services.

Pour spécifier la DataSync ou les tâches, region remplacez-les par le code de région correspondant à l' Région AWS emplacement des tâches (par exemple,us-west-2) et remplacez-le par account-id l' Compte AWS ID du compte contenant les tâches. Pour spécifier le groupe de CloudWatch journaux, remplacez les mêmes valeurs. Vous pouvez également modifier l'Resourceinstruction pour cibler des groupes de journaux spécifiques. Pour plus d'informations sur l'utilisation de SourceArn etSourceAccount, consultez la section Clés de condition globales dans le guide de l'utilisateur IAM.

Pour appliquer la stratégie, enregistrez cette instruction de stratégie dans un fichier sur votre ordinateur local. Exécutez ensuite la AWS CLI commande suivante pour appliquer la politique de ressources. Pour utiliser cet exemple de commande, full-path-to-policy-file remplacez-le par le chemin du fichier contenant votre déclaration de politique.

aws logs put-resource-policy --policy-name trust-datasync --policy-document file://full-path-to-policy-file
Note

Exécutez cette commande en utilisant la même commande Compte AWS et en utilisant l' Région AWS endroit où vous avez activé votre DataSync agent.

Pour plus d'informations, consultez le guide de l'utilisateur d'Amazon CloudWatch Logs.

Configuration de la journalisation pour votre DataSync tâche

Nous vous recommandons de configurer au moins un certain niveau de journalisation pour votre DataSync tâche.

Avant de commencer

DataSync a besoin d'une autorisation pour télécharger des journaux dans un groupe de CloudWatch journaux. Pour de plus amples informations, veuillez consulter DataSync Autoriser le téléchargement de journaux dans un groupe de CloudWatch journaux.

Les instructions suivantes décrivent comment configurer la CloudWatch journalisation lors de la création d'une tâche. Vous pouvez également configurer la journalisation lorsque vous modifiez une tâche.

  1. Ouvrez la AWS DataSync console à l'adresse https://console.aws.amazon.com/datasync/.

  2. Dans le volet de navigation de gauche, développez Transfert de données, puis choisissez Tâches, puis choisissez Créer une tâche.

  3. Configurez les emplacements source et de destination de votre tâche.

    Pour plus d’informations, consultez Où puis-je transférer mes données AWS DataSync ?.

  4. Sur la page Configurer les paramètres, choisissez un mode de tâche et toute autre option.

    Certaines des options suivantes pourraient vous intéresser :

  5. Pour le niveau de journalisation, choisissez l'une des options suivantes :

    • Enregistrez les informations de base telles que les erreurs de transfert : publiez des journaux contenant uniquement des informations de base (telles que les erreurs de transfert).

    • Enregistrez tous les objets et fichiers transférés : publiez des journaux pour tous les fichiers ou objets qui DataSync transfèrent et effectuent des contrôles d'intégrité des données.

    • Ne générez pas de journaux

  6. Procédez de l'une des manières suivantes en fonction du mode de tâche que vous utilisez pour créer ou spécifier un groupe de CloudWatch journaux :

    Enhanced mode

    Lorsque vous choisissez Créer une tâche, utilise (ou crée) DataSync automatiquement un groupe de journaux nommé/aws/datasync.

    Basic mode

    Pour le groupe de CloudWatch journaux, spécifiez un groupe de journaux autorisé à télécharger des journaux en effectuant l'une des opérations suivantes : DataSync

    • Choisissez Autogenerate pour créer automatiquement un groupe de journaux qui permet DataSync d'y télécharger des journaux.

    • Choisissez un groupe de journaux existant dans votre groupe actuel Région AWS.

      Si vous choisissez un groupe de journaux existant, assurez-vous qu'il DataSync est autorisé à télécharger des journaux dans ce groupe de journaux.

  7. Choisissez Créer tâche.

Vous êtes prêt à commencer votre tâche.

  1. Copiez la create-task commande suivante :

    aws datasync create-task \ --source-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \ --destination-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \ --task-mode "ENHANCED-or-BASIC" \ --name "task-name" \ --options '{"LogLevel": "log-level"}' \ --cloudwatch-log-group-arn "arn:aws:logs:us-east-1:account-id:log-group:log-group-name:*"
  2. Pour--source-location-arn, spécifiez l'Amazon Resource Name (ARN) de votre emplacement source.

  3. Pour--destination-location-arn, spécifiez l'ARN de votre position de destination.

    Si vous transférez plusieurs Régions AWS comptes, assurez-vous que l'ARN inclut l'autre région ou l'autre identifiant de compte.

  4. Pour--task-mode, spécifiez ENHANCED ouBASIC.

  5. (Recommandé) Pour--name, spécifiez un nom mémorisable pour votre tâche.

  6. PourLogLevel, spécifiez l'une des options suivantes :

    • BASIC— Publiez des journaux contenant uniquement des informations de base (telles que les erreurs de transfert).

    • TRANSFER— Publiez des journaux pour tous les fichiers ou objets qui DataSync transfèrent et vérifient l'intégrité des données.

    • NONE— Ne générez pas de journaux.

  7. Pour --cloudwatch-log-group-arn, spécifiez l'ARN d'un groupe de CloudWatch journaux.

    Important

    Si --task-mode c'est le casENHANCED, il n'est pas nécessaire de spécifier cette option. Pour de plus amples informations, veuillez consulter DataSync Autoriser le téléchargement de journaux dans un groupe de CloudWatch journaux.

  8. Exécutez la commande create-task.

    Si la commande aboutit, vous obtenez une réponse indiquant l'ARN de la tâche que vous avez créée. Par exemple :

    { "TaskArn": "arn:aws:datasync:us-east-1:111222333444:task/task-08de6e6697796f026" }

Vous êtes prêt à commencer votre tâche.

Vous pouvez configurer la CloudWatch journalisation de votre tâche en utilisant le CloudWatchLogGroupArn paramètre avec l'une des opérations suivantes :

Afficher les journaux des DataSync tâches

Lorsque vous démarrez votre tâche, vous pouvez consulter les journaux d'exécution de la tâche à l'aide de la CloudWatch console ou AWS CLI (entre autres options). Pour plus d'informations, consultez le guide de l'utilisateur d'Amazon CloudWatch Logs.

DataSync fournit des journaux structurés en JSON pour les tâches en mode amélioré. Les tâches en mode de base ont des journaux non structurés. Les exemples suivants montrent comment les erreurs de vérification s'affichent dans les journaux en mode amélioré par rapport aux journaux en mode de base.

Enhanced mode log example
{ "Action": "VERIFY", "Source": { "LocationId": "loc-abcdef01234567890", "RelativePath": "directory1/directory2/file1.txt" }, "Destination": { "LocationId": "loc-05ab2fdc272204a5f", "RelativePath": "directory1/directory2/file1.txt", "Metadata": { "Type": "Object", "ContentSize": 66060288, "LastModified": "2024-10-03T20:46:58Z", "S3": { "SystemMetadata": { "ContentType": "binary/octet-stream", "ETag": "\"1234abcd5678efgh9012ijkl3456mnop\"", "ServerSideEncryption": "AES256" }, "UserMetadata": { "file-mtime": "1602647222/222919600" }, "Tags": {} } } }, "ErrorCode": "FileNotAtSource", "ErrorDetail": "Verification failed due to file being present at the destination but not at the source" }
Basic mode log example
[NOTICE] Verification failed > /directory1/directory2/file1.txt [NOTICE] /directory1/directory2/file1.txt dstMeta: type=R mode=0755 uid=65534 gid=65534 size=8972938 atime=1728657659/0 mtime=1728657659/0 extAttrsHash=0 [NOTICE] dstHash: f9c2cca900301d38b0930367d8d587153154af467da0fdcf1bebc0848ec72c0d