翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWSSupport-TroubleshootDMSTableErrors
説明
AWS Systems Manager AWSSuport-TroubleshootDMSTabelErrors
自動化ランブックは、データベース移行タスクまたはサーバーレスレプリケーションでTable errors
見つかった のトラブルシューティングプロセスを自動化するのに役立ちます AWS Database Migration Service。これらのエラーは、データベース移行タスクまたは AWS DMS サービスで作成されたサーバーレスレプリケーションによって、テーブルがソースエンドポイント (ソースデータベース) からターゲットエンドポイント (ターゲットデータベース) に移行できない場合に発生します。このランブックは、CloudWatch ログからの署名エラーメッセージを分析し、特に従来のデータベース移行タスクのタスクログとサーバーレスレプリケーションのサーバーレスログに焦点を当てます。また、 AWS DMS 移行Table error
中に で発生する一般的なエラーメッセージのターゲットを絞った提案と修復手順も提供します。
動作の仕組み
ランブックは次のステップを実行します。
-
提供された AWS DMS ARN に関する情報を取得します。これは、データベース移行タスクまたはサーバーレスレプリケーションのいずれかです。
-
DescribeReplicationTasks API (データベース移行タスク用) および DescribeReplications API (サーバーレスレプリケーション用) レスポンス
FreshStartDate
の値をチェックして、提供された AWS DMS リソースが少なくとも 1 回起動されたかどうかを確認します。リソースが開始されていない場合、自動化によってエラーが発生します。 -
リソースが開始された場合、オートメーションは
TableStatistics
情報を使用してTableError
状態のテーブルをチェックします。エラーが見つからない場合、オートメーションは、指定されたデータベース移行タスクまたはサーバーレスレプリケーションでテーブルエラーが見つからなかったことを確認するメッセージを表示した後、ワークフローを終了します。 -
TableError
状態のテーブルが見つかった場合、オートメーションは指定された AWS DMS リソースに対して CloudWatch ログ記録が有効になっているかどうかを確認します。ログ記録が有効になっていない場合、オートメーションはログ記録が有効になっていないことを示すメッセージを表示した後にワークフローを終了します。注: CloudWatch ログ記録は、自動化がこれらのログに依存して
TableError
状態のテーブルの問題を分析して特定するため、有効になると予想されます。 -
ログ記録が有効になっている場合、自動化は CloudWatch ログを分析し、
TableError
状態にある各テーブルのレポートを生成します。このレポートには、一般的なエラーメッセージの提案が含まれており、 AWS DMS ソースエンドポイントから AWS DMS ターゲットエンドポイントへのテーブル移行の成功を妨げる問題を特定して解決するための関連するエラーログを提供します。
ドキュメントタイプ
Automation
[所有者]
Amazon
[Platforms] (プラットフォーム)
/
パラメータ
-
AutomationAssumeRole
タイプ: 文字列
説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。
-
DMSArn
タイプ: 文字列
説明: (必須) データベース移行タスクまたはサーバーレスレプリケーションの ARN
許可されたパターン:
^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):dms:[a-z0-9-]+:\d{12}:(task|replication-config):[a-zA-Z0-9-]+$
-
StartTimeRange
タイプ: 文字列
説明: (オプション) このパラメータは、指定されたデータベース移行タスクまたはサーバーレスレプリケーションの CloudWatch ログ分析の時間範囲の開始を定義します。指定した場合、この特定の時間以降に生成されたログのみが収集および分析されます。
startDate
と の間の時間範囲が長すぎると、ワークフローendDate
がタイムアウトする可能性があります。値は ISO 6081 の日付時刻形式で指定する必要があります。許可されたパターン:
^$|^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d{3})Z$
-
EndTimeRange
タイプ: 文字列
説明: (オプション) このパラメータは、指定されたデータベース移行タスクまたはサーバーレスレプリケーションの CloudWatch ログ分析の時間範囲の終了を設定します。指定した場合、この特定の時間までに生成されたログのみが収集および分析されます。
startDate
と の間の時間範囲が長すぎると、ワークフローendDate
がタイムアウトする可能性があります。値は ISO 6081 の日付時刻形式で指定する必要があります。許可されたパターン:
^$|^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d{3})Z$
必要な IAM アクセス許可
AutomationAssumeRole
パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。
dms:DescribeReplicationTasks
dms:DescribeReplications
dms:DescribeEndpoints
dms:DescribeReplicationConfigs
dms:DescribeTableStatistics
dms:DescribeReplicationTableStatistics
logs:FilterLogEvents
自動化引き受けロールの IAM ポリシーの例
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "dms:DescribeReplicationConfigs", "dms:DescribeEndpoints", "dms:DescribeReplicationTableStatistics", "dms:DescribeTableStatistics", "logs:FilterLogEvents", "dms:DescribeReplicationTasks", "dms:DescribeReplications" ], "Resource": "*" } ] }
指示
次の手順に従って自動化を設定します。
-
ドキュメントの Systems Manager
AWSSupport-TroubleshootDMSTableErrors
で に移動します。 -
[Execute automation] (オートメーションを実行) を選択します。
-
入力パラメータには、次のように入力します。
-
AutomationAssumeRole(オプション):
Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールが指定されていない場合、Systems Manager Automation は、このランブックを開始するユーザーのアクセス許可を使用します。
-
DMSArn
テーブルエラーがあるデータベース移行タスクまたはサーバーレスレプリケーションの ARN。
-
StartTimeRange
(オプション) 特定のデータベース移行タスクまたはサーバーレスレプリケーションの CloudWatch ログを分析するための時間範囲の開始を定義する ISO 6081 日付時刻形式。
-
EndTimeRange
(オプション) 特定のデータベース移行タスクまたはサーバーレスレプリケーションの CloudWatch ログを分析するための時間範囲の終了を定義する ISO 6081 日付時刻形式。
-
-
ページの下部から実行ボタンを選択します。
-
自動化が開始されます。
-
ドキュメントは以下のステップを実行します。
-
validateDMSInputTypeAndGatherDetails
指定された AWS DMS ARN 入力を検証し、次のステップで必要なデータベース移行タスクまたはサーバーレスレプリケーションの基本的な詳細を収集します。
-
branchOnTableErrors
上記のステップで見つかったテーブルエラーの数に基づいてワークフローを分岐します。カウントが 0 より大きい場合は、 -
branchOnCWLoggingStatus
ステップに進みます。それ以外の場合は、 -outputNoTableErrors
ステップに進みます。 -
outputNoTableErrors
指定されたデータベース移行タスクまたはサーバーレスレプリケーションでテーブルエラーが見つからないことを示すメッセージを出力します。
-
branchOnCWLoggingStatus
上記のステップで見つかった CloudWatch ログ記録ステータスに基づいてワークフローを分岐します。有効にした場合、 -
gatherTableDetails
ステップに進みます。それ以外の場合は、 -outputNoCWLoggingEnabled
ステップに進みます。 -
outputNoCWLoggingEnabled
指定されたデータベース移行タスクまたはサーバーレスレプリケーションで CloudWatch ログ記録が有効になっていないことを示すメッセージを出力します。
-
gatherTableDetails
失敗したテーブルの
FullLoadEndTime
タイムスタンプを収集し、CloudWatch ログを分析するための時間範囲値を計算します。 -
analyzeCloudWatchLogs
署名エラーメッセージに基づいて CloudWatch ロググループで見つかったログを分析し、レポートをユーザーに返します。
-
-
実行が完了したら、出力セクションで実行の詳細な結果を確認します。
-
テーブルなしエラーの出力
提供されたデータベース移行タスクまたはサーバーレスレプリケーションにテーブルエラーが見つからない場合、自動化は同じことを示す出力を表示します。
-
CloudWatch ログインが有効になっていない場合の出力
提供されたデータベース移行タスクまたはサーバーレスレプリケーションで CloudWatch ログ記録が有効になっていない場合、自動化は同じことを示す出力を表示し、ログ記録を有効にする手順を提供します。
-
Analyasis レポートのログ記録
提供されたデータベース移行タスクまたはサーバーレスレプリケーションから
Table error
状態のテーブルを識別し、エラータイプを区別し、発生したエラーメッセージを一覧表示し、識別された各テーブルに対して的を絞った修復ステップと提案を提供するレポートを出力します。
-
リファレンス
Systems Manager Automation