本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWSSupport-TroubleshootDMSTableErrors
Description
自動化 AWS Systems Manager AWSSuport-TroubleshootDMSTabelErrors
Runbook 可協助您自動化資料庫遷移任務或無伺服器複寫來源Table errors
中找到的 疑難排解程序 AWS Database Migration Service。當資料庫遷移任務或在 AWS DMS 服務中建立的無伺服器複寫無法從來源端點 (來源資料庫) 遷移至目標端點 (目標資料庫) 時,會發生這些錯誤。此 Runbook 會分析 CloudWatch 日誌的簽章錯誤訊息,特別是專注於傳統資料庫遷移任務的任務日誌,以及無伺服器複寫的無伺服器日誌。它也針對 AWS DMS 遷移Table error
期間遇到的常見錯誤訊息,提供目標性建議和修復步驟。
如何運作?
Runbook 會執行下列步驟:
-
擷取所提供 AWS DMS ARN 的相關資訊,可以是資料庫遷移任務或無伺服器複寫。
-
透過檢查 DescribeReplicationTasks API (適用於資料庫遷移任務) 和 DescribeReplications API (適用於無伺服器複寫) 回應中的
FreshStartDate
值,驗證所提供的 AWS DMS 資源是否已啟動至少一次。如果資源尚未啟動,自動化會引發錯誤。 -
如果資源已啟動,自動化會使用
TableStatistics
資訊檢查TableError
狀態中的資料表。如果找不到錯誤,自動化會在顯示訊息,確認在指定的資料庫遷移任務或無伺服器複寫中找不到資料表錯誤後結束工作流程。 -
如果找到
TableError
狀態為 的資料表,自動化會檢查指定 AWS DMS 資源是否已啟用 CloudWatch 記錄。如果未啟用記錄,自動化會在顯示表示未啟用記錄的訊息後結束工作流程。注意:CloudWatch 記錄預期會啟用,因為自動化依賴這些日誌來分析和識別處於
TableError
狀態的資料表問題。 -
如果啟用記錄,自動化會分析 CloudWatch 日誌,並為每個處於
TableError
狀態的資料表產生報告。報告包含常見錯誤訊息的建議,並提供相關的錯誤日誌,以協助識別和解決防止資料表從 AWS DMS 來源端點成功遷移至 AWS DMS 目標端點的問題。
文件類型
自動化
擁有者
Amazon
平台
/
參數
-
AutomationAssumeRole
類型:字串
描述:(選用) 允許 Systems Manager Automation 代表您執行動作的 (IAM) 角色的 AWS Identity and Access Management Amazon Resource Name (ARN)。如果未指定角色,Systems Manager Automation 會使用啟動此 Runbook 的使用者許可。
-
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
參數需要下列動作才能成功使用 Runbook。
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 (選用):
(IAM) 角色的 Amazon Resource Name AWS AWS Identity and Access Management (ARN),允許 Systems Manager Automation 代表您執行動作。如果未指定角色,Systems Manager Automation 會使用啟動此 Runbook 之使用者的許可。
-
DMSArn
資料庫遷移任務的 ARN 或具有資料表錯誤的無伺服器複寫。
-
StartTimeRange
(選用) ISO 6081 日期時間格式,定義用於分析指定資料庫遷移任務或無伺服器複寫之 CloudWatch 日誌的時間範圍開始。
-
EndTimeRange
(選用) ISO 6081 日期時間格式,定義用於分析指定資料庫遷移任務或無伺服器複寫之 CloudWatch 日誌的時間範圍結束。
-
-
從頁面底部選取執行按鈕。
-
自動化啟動。
-
文件會執行下列步驟:
-
validateDMSInputTypeAndGatherDetails
驗證指定的 AWS DMS ARN 輸入,並收集後續步驟中所需的資料庫遷移任務或無伺服器複寫的基本詳細資訊。
-
branchOnTableErrors
根據在上述步驟中找到的資料表錯誤數目,將工作流程分支。如果計數大於 0,則繼續 -
branchOnCWLoggingStatus
步驟。否則,請繼續 -outputNoTableErrors
步驟。 -
outputNoTableErrors
輸出訊息,指出指定的資料庫遷移任務或無伺服器複寫中找不到資料表錯誤。
-
branchOnCWLoggingStatus
根據在上述步驟中找到的 CloudWatch 記錄狀態來配置工作流程。如果啟用,則繼續 -
gatherTableDetails
步驟。否則,請繼續 -outputNoCWLoggingEnabled
步驟。 -
outputNoCWLoggingEnabled
輸出訊息,指出指定的資料庫遷移任務或無伺服器複寫中未啟用 CloudWatch 記錄。
-
gatherTableDetails
收集失敗資料表的
FullLoadEndTime
時間戳記,並計算時間範圍值以分析 CloudWatch 日誌。 -
analyzeCloudWatchLogs
根據簽章錯誤訊息分析 CloudWatch 日誌群組中找到的日誌,並將報告傳回給使用者。
-
-
執行完成後,請檢閱輸出區段以取得執行的詳細結果。
-
找不到資料表錯誤的輸出
如果在提供的資料庫遷移任務或無伺服器複寫中找不到資料表錯誤,自動化會顯示輸出,說明相同內容。
-
未啟用 CloudWatch 登入的輸出
如果在提供的資料庫遷移任務或無伺服器複寫中未啟用 CloudWatch 記錄,自動化會顯示說明相同的輸出,並提供啟用記錄的步驟。
-
記錄分析報告
輸出報告,從提供的資料庫遷移任務或無伺服器複寫中識別
Table error
處於 狀態的資料表、區分錯誤類型、列出遇到的錯誤訊息,以及為每個已識別的資料表提供目標修復步驟和建議。
-
參考
Systems Manager Automation