如何创建仅限验证的 AWS DMS 任务?

上次更新日期:2023 年 1 月 13 日

我想创建一个 AWS Database Migration Service(AWS DMS)任务以用于验证目的,例如预览和验证数据。

简短描述

AWS DMS 允许您使用 AWS DMS 控制台或 AWS 命令行界面(AWS CLI)创建仅限验证的任务。您可以使用仅限验证的任务来验证数据,而无需执行任何迁移或数据复制。使用仅限验证的任务时,现有的迁移任务不会产生任何开销,因为验证本身与迁移是分离的。

有两种仅限验证的任务:仅限完整加载验证的任务和仅限更改数据捕获(CDC)验证的任务。

  • 如果报告了许多故障,则仅限完整加载验证的任务的完成速度要比其 CDC 等效任务快得多。但是,在完整加载模式下,对源端点或目标端点的更改会被报告为故障,这可能是一个缺点。
  • 仅限 CDC 验证的任务根据平均延迟来延迟验证。然后,他们会多次重试故障,然后再报告故障。如果大多数数据比较导致故障,那么仅限 CDC 验证的任务将非常缓慢,这可能是一个缺点。

有关如何使用仅限验证的任务的更多信息,请参阅仅限验证的任务的仅限验证的使用案例部分。

解决方法

注意:如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新版本的 AWS CLI

使用 AWS DMS 控制台创建仅限验证的任务

1.    打开 AWS DMS 控制台,然后从导航窗格中选择 Database migration tasks(数据库迁移任务)。

2.    选择 Create task(创建任务),然后在 Task configuration(任务配置)下输入任务的详细信息。

3.    在 Migration type(迁移类型)下,选择 Replicate data changes only(仅复制数据更改)。

4.    在 Task settings(任务设置)下,选择 JSON editor(JSON 编辑器),然后更改以下设置:

"EnableValidation": true,
"ValidationOnly": true,

5.    对于 Migration Type(迁移类型),选择以下选项之一:

  • 对于仅限完整加载验证的任务,选择 Migrate existing data(迁移现有数据)。
  • 对于仅限 CDC 验证的任务,选择 Replicate data changes only(仅复制数据更改)。

6.    在 Migration task startup configuration(迁移任务启动配置)下,选择 Manually later(稍后手动)。这允许您在启动任务之前验证任务设置。
注意:默认 TargetTablePrepMode 设置为 DO_NOTHING。 如果修改了 TargetTablePrepMode,则将 TargetTablePrepMode 设置为 DO_NOTHING

7.    选择 Create task(创建任务)。

使用 AWS CLI 创建仅限验证的任务

1.    对于 Linux 和 Windows 环境,运行 create-replication-task 命令来创建仅限验证的任务。您还可以指定 cdc-start-time,如果您需要从特定的时间戳开始验证,这可能会很有用。请参阅以下示例:

Linux:

aws dms create-replication-task --replication-task-identifier validation-only-task --replication-task-settings '{"FullLoadSettings":{"TargetTablePrepMode":"DO_NOTHING"},"ValidationSettings":{"EnableValidation":true,"ValidationOnly":true}}' --replication-instance-arn
arn:aws:dms:us-east-1:xxxxxxxxxxx:rep:ABCDEFGH12346 --source-endpoint-arn arn:aws:dms:us-east-1:xxxxxxxxxxxx:endpoint:KSXGO6KATGOXBDZXKRV3QNIZV4 --target-endpoint-arn arn:aws:dms:us-east-1:xxxxxxxxxxxxxxx:endpoint:7SIYPBZTE2X3CZ7FPN7KKOAV6Q --migration-type
cdc --cdc-start-time "2022-06-08T 00:12:12" --table-mappings file://Table-mappings.json

Windows:

aws dms create-replication-task --replication-task-identifier validation-only-task --replication-task-settings '{"FullLoadSettings":{"TargetTablePrepMode":"DO_NOTHING"},"ValidationSettings":{"EnableValidation":true,"ValidationOnly":true}}' --replication-instance-arn

2.    打开 AWS DMS 控制台,然后从导航窗格中选择 Database migration tasks(数据库迁移任务)。

3.    确认您使用 AWS CLI 创建的任务已创建。

4.    在 Overview details(概述详细信息)部分中,展开 Task settings (JSON)(任务设置(JSON)),然后确认这些设置已到位:

"EnableValidation": true,
"ValidationOnly": true,
"TargetTablePrepMode": "DO_NOTHING",

这些示例创建了仅限 CDC 验证的任务。对仅限完整加载验证的任务使用相同的设置,但在运行 create-replication-task 命令时将 --migration-type 更改为 full-load


这篇文章对您有帮助吗?


您是否需要账单或技术支持?