AWS DMS タスク検証が失敗したり、その処理が進行しなかったりするのはなぜですか?
最終更新日: 2021 年 2 月 19 日
AWS Database Migration Service (AWS DMS) タスクの検証を有効にしましたが、検証に失敗したり、その処理が行われなかったりします。AWS DMS タスク検証が失敗したり、止まってしまったりするのはなぜですか?
簡単な説明
AWS DMS タスクの検証を有効にすると、テーブルレベルで統計の確認をしたり、データ検証に関する設定を構成したりできるようになります。データ検証に関する情報は、AWS DMS コンソール、AWS コマンドラインインターフェイス (AWS CLI) 、または AWS DMS API を使用して確認することができます。
解決方法
注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
1. データ検証レポートを表示するには、AWS DMS コンソールを開きます。
2. ナビゲーションペインで、[Database migration tasks] (データベース移行タスク) を選択します。
3. タスクの名前を選択します。
4. [Table statistics] (テーブル統計) セクションで、[Validation state] (検証状態) を確認します。または、describe-table-statistics を実行して、JSON 形式のデータ検証レポートを確認することもできます。
aws dms describe-table-statistics --replication-task-arn arn:aws:dms:us-east-1:45454545454:rep:XXXXXXXXXXXXXXXXXX
検証状態で [Mismatched records] (不一致のレコード) と表示されている場合は、ターゲットデータベースの AWS DMS によって作成された awsdms_validation_failures_v1 テーブルに対してクエリを実行します。
select * from awsdms_validation_failures_v1 where TASK_NAME = 'XXXXXXXXXXXXXXXXXX';
注: TASK_NAME の値は、タスクの外部リソース ID であり、タスクの Amazon リソースネーム (ARN) の最後の値です。
失敗したレコードのプライマリキーを取得したら、ソースおよびターゲットのエンドポイントに対しクエリを実行して、レコード内の一致しない部分を確認します。
検証状態が [Pending records] (保留中のレコード) となっている場合は、タスク検証設定の ThreadCount パラメータを設定し、検証パフォーマンスを向上させます。詳細については、データ検証タスクの設定をご参照ください。
その他の検証状態については、レプリケーションタスクの統計をご参照ください。CloudWatch メトリクスを使用して、検証の進行状況を監視できます。
関連情報
AWS DMS 検証のトラブルシューティング
AWS DMS 検証の制限