事象
- terraformで
aws_datasync_task
でタスクを作成して実行したところ以下のエラーが発生しました。
Transfer and verification completed. Verification detected mismatches.
Files with mismatches are listed in Cloud Watch Logs
CloudWatchLogを見ても以下のエラーが出ていてよくわかりませんでした。
[NOTICE] Verification failed < /zqvchszsCnDVlOLMEywArJHhGhNvxhDs.png
原因
- DataSyncのタスク実行中に、Sync元にファイルが生成されてしまった為、タスク内のチェックでエラーが発生した。
-
aws_datasync_task
だとデータ検証オプション(verify_mode
)のデフォルトがVerify all data in the destination(POINT_IN_TIME_CONSISTENT)
となっていた為。
対応
- 以下のように
verify_mode
をONLY_FILES_TRANSFERRED
にした。
resource "aws_datasync_task" "default" {
name = "something_name"
source_location_arn = aws_datasync_location_s3.source.arn
destination_location_arn = aws_datasync_location_s3.destination.arn
cloudwatch_log_group_arn = aws_cloudwatch_log_group.default.arn
options {
gid = "NONE"
posix_permissions = "NONE"
uid = "NONE"
log_level = "BASIC"
verify_mode = "ONLY_FILES_TRANSFERRED"
}
}