検証のみの AWS DMS タスクを作成するにはどうすればよいですか?

所要時間2分
0

データのプレビューや検証など、検証目的で使用する AWS Database Migration Service (AWS DMS) タスクを作成したいと考えています。

簡単な説明

AWS DMS では、AWS DMS コンソールまたは AWS コマンドラインインターフェイス (AWS CLI) のいずれかを使用して、検証のみのタスクを作成できます。検証のみのタスクを使用して、移行やデータレプリケーションを実行せずにデータを検証できます。検証のみのタスクを使用する場合、検証自体は移行から切り離されるため、既存の移行タスクに対するオーバーヘッドは発生しません。

検証のみのタスクには、フルロード検証のみのタスクと変更データキャプチャ (CDC) 検証のみのタスクの 2 種類があります。

  • 多くの障害が報告された場合、フルロード検証のみのタスクは、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] (手動で後で実行) を選択します。これにより、タスクを開始する前にタスク設定を検証できます。
注: TargetTablePrepModeDO_NOTHING に設定されています。 TargetTablePrepMode が変更されている場合は、TargetTablePrepModeDO_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-typefull-load に変更します。


関連情報

Task settings example (タスク設定の例)

Limitations (制約事項)

AWS公式
AWS公式更新しました 1年前