AWSSupport-TroubleshootDMSTableErrors - AWS Systems Manager 自動化ランブックリファレンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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": "*" } ] }

指示

次の手順に従って自動化を設定します。

  1. ドキュメントの Systems Manager AWSSupport-TroubleshootDMSTableErrorsで に移動します。

  2. [Execute automation] (オートメーションを実行) を選択します。

  3. 入力パラメータには、次のように入力します。

    • 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 日付時刻形式。

  4. ページの下部から実行ボタンを選択します。

  5. 自動化が開始されます。

  6. ドキュメントは以下のステップを実行します。

    • validateDMSInputTypeAndGatherDetails

      指定された AWS DMS ARN 入力を検証し、次のステップで必要なデータベース移行タスクまたはサーバーレスレプリケーションの基本的な詳細を収集します。

    • branchOnTableErrors

      上記のステップで見つかったテーブルエラーの数に基づいてワークフローを分岐します。カウントが 0 より大きい場合は、 - branchOnCWLoggingStatus ステップに進みます。それ以外の場合は、 - outputNoTableErrors ステップに進みます。

    • outputNoTableErrors

      指定されたデータベース移行タスクまたはサーバーレスレプリケーションでテーブルエラーが見つからないことを示すメッセージを出力します。

    • branchOnCWLoggingStatus

      上記のステップで見つかった CloudWatch ログ記録ステータスに基づいてワークフローを分岐します。有効にした場合、 - gatherTableDetails ステップに進みます。それ以外の場合は、 - outputNoCWLoggingEnabled ステップに進みます。

    • outputNoCWLoggingEnabled

      指定されたデータベース移行タスクまたはサーバーレスレプリケーションで CloudWatch ログ記録が有効になっていないことを示すメッセージを出力します。

    • gatherTableDetails

      失敗したテーブルのFullLoadEndTimeタイムスタンプを収集し、CloudWatch ログを分析するための時間範囲値を計算します。

    • analyzeCloudWatchLogs

      署名エラーメッセージに基づいて CloudWatch ロググループで見つかったログを分析し、レポートをユーザーに返します。

  7. 実行が完了したら、出力セクションで実行の詳細な結果を確認します。

    • テーブルなしエラーの出力

      提供されたデータベース移行タスクまたはサーバーレスレプリケーションにテーブルエラーが見つからない場合、自動化は同じことを示す出力を表示します。

    • CloudWatch ログインが有効になっていない場合の出力

      提供されたデータベース移行タスクまたはサーバーレスレプリケーションで CloudWatch ログ記録が有効になっていない場合、自動化は同じことを示す出力を表示し、ログ記録を有効にする手順を提供します。

    • Analyasis レポートのログ記録

      提供されたデータベース移行タスクまたはサーバーレスレプリケーションから Table error状態のテーブルを識別し、エラータイプを区別し、発生したエラーメッセージを一覧表示し、識別された各テーブルに対して的を絞った修復ステップと提案を提供するレポートを出力します。

リファレンス

Systems Manager Automation