Validation des données cibles Amazon S3 - AWS Service de Migration de Base de Données

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.

Validation des données cibles Amazon S3

AWS DMS prend en charge la validation des données répliquées dans les cibles Amazon S3. Comme AWS DMS stocke les données répliquées sous forme de fichiers plats dans Amazon S3, nous utilisons des requêtes Amazon Athena CREATE TABLE AS SELECT (CTAS) pour valider les données.

Les requêtes sur les données stockées dans Amazon S3 nécessitent beaucoup de ressources informatiques. Ainsi, AWS DMS exécute la validation des données Amazon S3 lors de la capture des données de modification (CDC) une seule fois par jour, à minuit (00:00) UTC. Chaque validation quotidienne exécutée par AWS DMS est appelée validation par intervalle. Au cours d'une validation par intervalle, AWS DMS valide tous les enregistrements de modifications qui ont été migrés vers le compartiment Amazon S3 cible au cours des dernières 24 heures. Pour plus d'informations sur les limitations de validation par intervalle, consultez Limitations liées à l'utilisation de la validation des cibles S3.

La validation des cibles Amazon S3 utilise Amazon Athena, ce qui occasionne des frais supplémentaires. Pour plus d'informations, consultez Tarification Amazon Athena.

Note

La validation des cibles S3 nécessite AWS DMS version 3.5.0 ou ultérieure.

Conditions préalables à la validation des cibles S3

Avant d'utiliser la validation des cibles S3, vérifiez les paramètres et autorisations suivants :

  • Définissez la valeur de DataFormat dans les paramètres S3Settings du point de terminaison sur parquet. Pour plus d’informations, consultez Paramètres Parquet pour S3.

  • Veillez à ce que le rôle affecté au compte d'utilisateur utilisé pour créer la tâche de migration dispose de l'ensemble d'autorisations correct. Consultez Autorisations ci-dessous.

Pour les tâches utilisant la réplication continue (CDC), vérifiez les paramètres suivants :

Autorisations d'utilisation de la validation des cibles S3

Pour configurer l'accès afin d'utiliser la validation des cibles S3, veillez à ce que le rôle affecté au compte d'utilisateur utilisé pour créer la tâche de migration dispose de l'ensemble d'autorisations suivant. Remplacez les exemples de valeurs par vos valeurs.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "athena:StartQueryExecution", "athena:GetQueryExecution", "athena:CreateWorkGroup" ], "Resource": "arn:aws:athena:<endpoint_region_code>:<account_id>:workgroup/dms_validation_workgroup_for_task_*" }, { "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "glue:GetDatabase", "glue:GetTables", "glue:CreateTable", "glue:DeleteTable", "glue:GetTable" ], "Resource": [ "arn:aws:glue:<endpoint_region_code>:<account_id>:catalog", "arn:aws:glue:<endpoint_region_code>:<account_id>:database/aws_dms_s3_validation_*", "arn:aws:glue:<endpoint_region_code>:<account_id>:table/aws_dms_s3_validation_*/*", "arn:aws:glue:<endpoint_region_code>:<account_id>:userDefinedFunction/aws_dms_s3_validation_*/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::<bucket_name>", "arn:aws:s3:::<bucket_name>/*" ] } ] }

Limitations liées à l'utilisation de la validation des cibles S3

Consultez les limitations supplémentaires suivantes qui s'appliquent lors de l'utilisation de la validation des cibles S3. Pour connaître les limitations qui s'appliquent à toutes les validations, consultez Limites.

  • Votre valeur DatePartitionSequence a besoin d'une composante de jour. La validation des cibles S3 ne prend pas en charge le format YYYYMM.

  • Quand la validation par intervalle est en cours pendant la CDC, vous pouvez voir de fausses erreurs de validation dans la table awsdms_validation_failures_v1. Ces erreurs se produisent car AWS DMS migre les modifications qui sont arrivées pendant l'intervalle de validation vers le dossier de partitionnement du jour suivant. Normalement, ces modifications sont écrites dans le dossier de partitionnement du jour actuel. Ces fausses erreurs limitent la validation de la réplication depuis une base de données source dynamique vers une cible statique, telle qu'Amazon S3. Pour mener des investigations sur ces fausses erreurs, examinez les enregistrements situés près de la fin de la fenêtre de validation (00:00 UTC), où ces erreurs apparaissent généralement.

    Pour minimiser le nombre de fausses erreurs, veillez à ce que la valeur CDCLatencySource de la tâche soit faible. Pour en savoir plus sur la surveillance de la latence, consultez Métriques de tâches de réplication.

  • Les tâches à l'état failed ou stopped ne valident pas les modifications de la veille. Pour minimiser les erreurs de validation dues à des échecs inattendus, créez des tâches distinctes de validation uniquement avec les mêmes mappages de tables et les points de terminaison sources et cibles. Pour plus d'informations sur les tâches de validation uniquement, consultez Utilisation de tâches de validation uniquement avec la validation des cibles S3.

  • La colonne Statut de la validation, dans les statistiques de table, reflète l'état de la dernière validation par intervalle. Par conséquent, une table présentant des incohérences peut apparaître comme validée après la validation par intervalle du jour suivant. Vérifiez le s3_validation_failures folder dans le compartiment Amazon S3 cible et recherchez des incohérences survenues il y a plus d'un jour.

  • S3 Validation utilise la fonctionnalité de table à compartiments d'Amazon Athena. Cela permet à la validation S3 de créer une copie groupée des données de la table cible. Cela signifie que la copie des données de la table est divisée en sous-ensembles correspondant au partitionnement interne de la validation DMS. Les tables à godets Athena ont une limite de 100 000 seaux. Toute table que la validation S3 tente de valider et qui dépasse cette limite échouera à la validation. Le nombre de compartiments que S3 Validation tente de créer est égal au nombre suivant :

    (#records in the table) / (validation partition size setting)

    Pour contourner cette limitation, augmentez le paramètre de taille de partition de validation afin que le nombre de compartiments créés par S3 Validation soit inférieur à 100 000. Pour plus d'informations sur le partitionnement, consultez la section Partitionnement et découpage dans Athena dans le guide de l'utilisateur d'Amazon Athena.

Utilisation de tâches de validation uniquement avec la validation des cibles S3

Une tâche de validation uniquement exécute la validation sur les données à migrer sans exécuter la migration.

Les tâches de validation uniquement continuent de s'exécuter, même si la tâche de migration s'arrête, ce qui garantit qu'AWS DMS ne manquera pas la fenêtre de validation par intervalle à 00 h 00 UTC.

L'utilisation de tâches de validation uniquement avec les points de terminaison cibles Amazon S3 présente les limitations suivantes :

  • La validation Amazon S3 pour les tâches de chargement complet avec le paramètre de validation uniquement activé est prise en charge, mais fonctionne différemment des tâches de chargement complet et de validation uniquement pour les autres points de terminaison. Pour S3 en tant que cible, une tâche de ce type valide uniquement par rapport aux données de chargement complet dans la cible S3 et ne valide pas par rapport à des données migrées dans le cadre d'une migration CDC. Utilisez cette fonctionnalité uniquement pour valider les données créées par une tâche de chargement complet uniquement. L'utilisation de ce mode pour valider les données d'une cible sur laquelle une tâche CDC active s'exécute ne produira pas une validation efficace.

  • Les tâches de validation uniquement valident uniquement les modifications effectuées depuis la dernière fenêtre de validation par intervalle (00:00 UTC). Les tâches de validation uniquement ne valident pas les données de chargement complet ni les données de CDC des jours précédents.