AWS Database Migration Service (AWS DMS) タスクがスタックしたり、進行しない問題をトラブルシューティングしたいと考えています。
解決策
DMS タスクのステータスを確認する
AWS DMS タスクのステータスを確認するには、次の手順を実行します。
- AWS DMS コンソールを開きます。
- ナビゲーションペインで [データベース移行タスク] を選択し、タスクを選択します。
- タスクのステータスを確認します。
フルロードフェーズでは、タスクのステータスは [実行中] になります。
変更データキャプチャ (CDC) のみのタスクの CDC フェーズまたは進行中のレプリケーションフェーズでは、タスクのステータスは [レプリケーション進行中] になります。
フルロードと CDC では、タスクのステータスは [ロード完了、レプリケーション進行中] になります。
CloudWatch ログをモニタリングする
移行タスクを確認するには、Amazon CloudWatch ログをモニタリングします。
- AWS DMS コンソールを開きます。
- ナビゲーションペインで [データベース移行タスク] を選択し、タスクを選択します。
- [CloudWatch ログを表示] を選択します。
注: ログを表示したら、[再試行] を選択してログを更新し、タイムスタンプ付きの最新情報を表示します。5 分経ってもログに新しいメッセージが表示されない場合は、次の手順に進んでください。
DMS タスクのテーブル統計を更新する
DMS タスクのテーブル統計を更新します。
- AWS DMS コンソールを開きます。
- ナビゲーションペインで [データベース移行タスク] を選択し、タスクを選択します。
- [テーブル統計] を選択します。
フルロード中は、[行のフルロード] の値が増加し、[ロード状態] の値が変化します。継続的なレプリケーション中は、[DML (挿入、更新、削除)] と [DDL] が増加します。
ほとんどアクティビティのないテストデータベースでは、タスクログやテーブル統計のカウンタに変化が見られない場合があります。
アンロードして適用される行の CloudWatch メトリクスをモニタリングする
- AWS DMS コンソールを開きます。
- ナビゲーションペインで [データベース移行タスク] を選択し、タスクを選択します。
- CloudWatch メトリクスを使用する
DMS タスクのフルロードフェーズ中に、CloudWatch コンソールのドロップダウンリストで [フルロード] を選択し、次のメトリクスをモニタリングします。
- FullLoadThroughputRowsSource: AWS DMS がソースデータをレプリケーションインスタンスにアンロードできる頻度に関する詳細情報が提供されます。
- **FullLoadThroughputRowsTarget: ** 行がレプリケーションインスタンスを離れてターゲットにコミットする頻度を示します。
CDC フェーズ中に、CloudWatch コンソールのドロップダウンリストで [CDC] を選択し、次のメトリクスをモニタリングします。
- CDCThroughputRowsSource: 変更がソースからキャプチャされ、レプリケーションインスタンスに移動される頻度に関する詳細情報が提供されます。
- CDCThroughputRowsTarget: 変更がレプリケーションインスタンスからターゲットに移動される頻度を示します。
- CDCLatencySource: ソースとレプリケーションインスタンスの間のレイテンシーを秒単位で示します。
- CDCLatencyTarget: レプリケーションインスタンスとターゲットの間のレイテンシーを秒単位で示します。
データがターゲットに移行されたことを確認するため、特定の間隔でターゲットのレコード数をクエリすることもできます。間隔は、ソース、ターゲット、レプリケーションインスタンスの負荷、および 1 つのレコード内のデータ量によって異なります。
DMS タスクにレイテンシーが見られず、タスクログに新しいログメッセージが表示されない場合は、デバッグロギングをオンにします。フルロードのトラブルシューティングを行うには、SOURCE_UNLOAD と TARGET_LOAD のデバッグロギングをオンにします。CDC では、SOURCE_CAPTURE および TARGET_APPLY のデバッグロギングをオンにします。タスクを実行する際は、デバッグロギングをオンにし、DMS タスクの CloudWatch ログをモニタリングしてください。
注: タスクをトラブルシューティングするときにのみデバッグロギングをオンにするのがベストプラクティスです。デバッグロギングをオンにすると、レプリケーションインスタンスのディスク容量がすぐにいっぱいになり、インスタンスで実行中のタスクに影響を与える可能性があります。
関連情報
AWS Database Migration Service のメトリクス