AWS DMS タスクでソースレイテンシーが高い場合のトラブルシューティング方法を教えてください。

最終更新日 : 2019 年 10 月 1 日

AWS Database Migration Service (AWS DMS) タスクでソースレイテンシーが高い場合のトラブルシューティング方法を教えてください。

簡単な説明

Amazon CloudWatch メトリクスを使用して AWS DMS タスクをモニタリングできます。移行中に、AWS DMS タスクの継続的なレプリケーションフェーズ (変更データキャプチャ (CDC)) 中にソースレイテンシーが発生することがあります。CDCLatencySourceCloudWatch サービスメトリクスを使用して、AWS DMS タスクのソースレイテンシーをモニタリングできます。AWS DMS タスクでソースレイテンシーが表示される場合、以下の 1 つ以上が原因である可能性があります。

  • ソースデータベースのリソースが限られている。
  • AWS DMS レプリケーションインスタンスのリソースが限られている。
  • ソースデータベースと AWS DMS レプリケーションインスタンスの間のネットワーク速度が遅い。
  • AWS DMS が、継続的なレプリケーション中にソースデータベースのトランザクションログから新しい変更を読み取っている。
  • AWS DMS タスク設定が不十分であるか、ラージオブジェクト (LOB) を移行中である。
  • AWS DMS タスクに使用される Oracle ソースデータベースが、継続的なレプリケーションに LogMiner を使用している。

解決方法

ソースデータベースのリソースが限られている。 ソース DB エンジンのネイティブモニタリングを使用して、データベースでパフォーマンスのボトルネック (CPU またはメモリの競合、IO 飽和など) が発生していないことを確認することをお勧めします。

AWS DMS レプリケーションインスタンスのリソースが限られている。 CPUUtilizationFreeStorageSpaceFreeableMemory などのレプリケーションインスタンスメトリクスをモニタリングします。レプリケーションインスタンスに、タスクを管理するための十分なリソースがあることを確認します。

ソースデータベースと AWS DMS レプリケーションインスタンスの間のネットワーク速度が遅い。 設計上、単一の AWS DMS タスクはネットワーク帯域幅全体を使用できません。変更率が高い、稼働中の本番データベースがある場合は、ネットワーク帯域幅を増やす必要があります。たとえば、AWS Direct Connect 接続を使用します。

AWS DMS が、継続的なレプリケーション中にソースデータベースのトランザクションログから新しい変更を読み取っている。ソース DB エンジンによっては、ソーストランザクションログにコミットされていないデータがある場合もあります。継続的なレプリケーション中、AWS DMS は受信した変更をトランザクションログから読み取りますが、AWS DMS はコミットされた変更だけをターゲットに転送します。最終的に、これによりソースレイテンシーが発生する可能性があります。

ただし、ソースデータベースが大きなデータセットを書き込み、実行するコミット数を減らすと、AWS DMS はトランザクションログからの読み取りを続行します。しかし、AWS DMS は、トランザクション全体がコミットされるまでターゲットの変更を適用しません。これにより、ソースのレイテンシーが発生する可能性もあります。ソースレイテンシーが増加するため、ターゲットレイテンシーも増加します。

AWS DMS タスク設定が不十分であるか、ラージオブジェクト (LOB) を移行中である。 AWS DMS は、2 つのフェーズで継続的なレプリケーション用に LOB データを移行します。まず、AWS DMS は、LOB がある列を除くすべての列を含むターゲットテーブルで新しい行を作成します。次に、AWS DMS は LOB がある行を更新します。LOB 列があるテーブルを頻繁に更新するソースデータベースがある場合、ソースレイテンシーが発生する可能性があります。詳細については、ラージバイナリオブジェクト (LOB) の移行を参照してください。

AWS DMS タスクに使用される Oracle ソースデータベースが、継続的なレプリケーションに LogMiner を使用している。 大量の REDO ログを生成するビジーなソースデータベースがある場合、またはソースデータベースが Oracle 自動ストレージ管理 (ASM) を使用している場合、進行中のレプリケーションにバイナリリーダー方式を使用する必要がある場合があります。詳細については、変更データキャプチャ (CDC) に Oracle LogMiner または Oracle Binary Reader を使用するを参照してください。


この記事は役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合