スキップしてコンテンツを表示

停止した AWS DMS タスクが再試行されない理由を知りたいです。

所要時間1分
0

AWS Database Migration Service (AWS DMS) タスクが停止し、再試行が行われないためトラブルシューティングしたいです。

解決策

AWS DMS は、自己回復を目的としたマネージドサービスです。問題が発生すると、AWS DMS は問題の修正を試行し、運用を再開します。移行が停止して再試行されない場合、致命的または回復可能なエラーが発生する可能性があります。

致命的なエラー

AWS DMS でエラーが発生し、AWS DMS の移行が停止した場合、タスクは停止し、FAILED 状態になります。次のいずれかの問題により、致命的なエラーが発生する可能性があります。

  • ソースエンドポイントが設定されていない。ソースエンドポイントは移行の前提条件です。
  • AWS DMS レプリケーションインスタンスが、ソースデータベースからソースオブジェクトを取得していない。

タスクログに、次のようなエラーメッセージが表示される場合があります。

「2022-05-28T16:07:35 [TASK_MANAGER ]E: Task 'K7YJOFK7GYXIK44C2KLGFNG7ZONLZGPWPD5RWHA' encountered a fatal error」

AWS DMS で致命的なエラーが発生すると、AWS DMS は 6 回再起動を試みます。タスクが再試行されない場合は、AWS DMS は既に 6 回の再起動を試みたことになります。

回復可能なエラー

AWS DMS では、すべての環境エラーは回復可能なエラーです。タスクまたはレプリケーションインスタンスで環境エラーが発生すると、タスクは中断されます。タスクが回復すると、再試行されます。回復可能なエラーの例を次に示します。

  • ソースまたはターゲットデータベースへの AWS DMS レプリケーションインスタンスの接続が中断された。
  • レプリケーションインスタンスがメンテナンスにより再起動した。

タスクログに、次のようなエラーメッセージが表示される場合があります。

「Last Error Task error notification received from subtask 0, thread 0 [reptask/replicationtask.c:2673] [1022502] Stop Reason RECOVERABLE_ERROR Error Level RECOVERABLE」

デフォルトでは、回復可能なエラーが発生したタスクは再起動を試みます。RecoverableErrorCount パラメータで、AWS DMS で環境エラーが発生したときにタスクを再開する最大試行回数を設定します。システムがタスクの再開を指定された回数試行した後、タスクは停止し、手動による操作が必要になります。詳細については、「エラー処理タスクの設定」を参照してください。

回復可能なエラーによりタスクが停止し、そのタスクが再試行されなくなった場合は、RecoverableErrorCount がカスタム値に設定されているかどうかを確認します。

注: RecoverableErrorCount の値が 0 に設定されている場合、タスクは再開されません。

また、レプリケーションインスタンスがダウンしていないか確認してください。

次の値の設定がデフォルト値と異なる場合、AWS DMS タスクの再試行が行われない可能性があります。

"ErrorBehavior": {        
        "FailOnNoTablesCaptured": false,
        "ApplyErrorUpdatePolicy": "LOG_ERROR",  
        "FailOnTransactionConsistencyBreached": false,
        "RecoverableErrorThrottlingMax": 1800,
        "DataErrorEscalationPolicy": "SUSPEND_TABLE",  
        "ApplyErrorEscalationCount": 0,
        "RecoverableErrorStopRetryAfterThrottlingMax": false,
        "RecoverableErrorThrottling": true,
        "ApplyErrorFailOnTruncationDdl": false,
        "DataTruncationErrorPolicy": "LOG_ERROR",
        "ApplyErrorInsertPolicy": "LOG_ERROR",
        "EventErrorPolicy": "IGNORE",
        "ApplyErrorEscalationPolicy": "LOG_ERROR",
        "RecoverableErrorCount": -1,     
        "DataErrorEscalationCount": 0,
        "TableErrorEscalationPolicy": "STOP_TASK",
        "RecoverableErrorInterval": 5,
        "ApplyErrorDeletePolicy": "IGNORE_RECORD",
        "TableErrorEscalationCount": 0,
        "FullLoadIgnoreConflicts": true,
        "DataErrorPolicy": "LOG_ERROR",
        "TableErrorPolicy": "SUSPEND_TABLE"
    },

注: STOP_TASK 値の設定には手動による操作が必要です。

関連情報

AWS Database Migration Service での移行タスクのトラブルシューティング

AWS公式更新しました 10ヶ月前
コメントはありません