在本篇文章中,我们探讨了如何使用AWS Lambda和Amazon EventBridge自动恢复AWSDMS(数据库迁移服务)中的可恢复错误任务。通过设置EventBridge规则来捕捉特定事件ID,可以调用Lambda函数分析和处理这些错误,进而避免手动干预,并提供更顺畅的迁移体验。
AWS数据库迁移服务(AWSDMS)帮助用户解决迁移同构和异构数据库引擎的复杂任务。随着业务的发展,企业需要采用最适合自己独特需求的数据库引擎,这往往导致各种数据库系统的共存,进而在无缝数据迁移方面带来挑战。然而,借助AWSDMS,客户找到了高效可靠的解决方案来弥合不同数据库引擎之间的差距。
AWSDMS允许无缝迁移和复制数据库,但在此过程中有时可能会出现错误。当这些错误是可恢复的时,了解如何有效地恢复并完成任务至关重要,以确保数据完整性并尽量减少停机时间。在本文中,我们将探讨如何恢复针对关系数据库的可恢复错误任务的过程。
涵盖多种事件,包括启动、暂停、完成、全量加载完成、CDC(变更数据捕获)启动、错误等。这些事件在监控和管理数据库迁移任务中发挥了至关重要的作用。每个事件都有唯一的事件ID,以代表迁移过程中发生的特定事件。其中,0078
和0079
尤其重要,因为它们被用于无缝恢复任务。
DMS-EVENT-0078
表示复制任务失败。DMS-EVENT-0079
表示复制任务已停止。您可以在中找到有关AWSDMS生成的事件类别和事件消息的更多信息。
当DMS生成事件时,会将其发送到默认总线。在此解决方案中,我们将在默认总线上创建EventBridge规则,以匹配传入的可恢复事件并将其发送到目标进行处理。我们将使用处理这些事件,并重启失败或停止的任务。
通过这种架构,解决方案将自动恢复可恢复的任务。
删除)
在本教程中,您需要完成以下前提条件:
在本节中,我们将带您了解如何部署此解决方案。要启动提供的CloudFormation模板,请执行以下步骤:
DMSResumableTaskStack
。堆栈创建大约需要5分钟,请等待堆栈完成,然后再进行测试和验证。
注意 :由于AWSLambda执行涉及相关成本,包括请求量、执行时长和内存分配等。如果Lambda重启任务时,会在任务自动重启时加上时间戳标签。如果在5分钟内任务再次失败,Lambda将不会重启该任务。您必须故障排除该任务以理解故障原因,并考虑与支持团队创建案例以获得进一步帮助。
EventBridge接收事件,指示AWSDMS环境中的变化,并应用规则将事件路由到通知机制。规则根据事件结构(称为事件模式)将事件匹配到通知机制。您可以进入EventBridge并添加附加eventID
以自动重启任务,更新EventBridge规则。
eventID
,然后选择下一步。注意 :通过将DMS操作事件纳入EventBridge规则来更新DMS事件,从而实现DMS任务的自动重启。选择这些事件时务必小心,确保仅包含那些不需手动干预的事件。

删除)
为避免产生后续费用,请进入AWS CloudFormation控制台,选择堆栈并删除该堆栈。
在这篇文章中,我们探讨了如何使用AWS Lambda和Amazon EventBridge实现AWSDMS中可恢复错误任务的自动恢复。通过设置EventBridge规则来捕捉特定事件ID,我们能够调用Lambda函数分析和处理可恢复的错误,从而消除手动干预的需求,确保迁移过程更加顺畅。
如有任何问题或反馈,请随时留下评论。
删除)FelixDavid 是AWS的高级技术客户经理。他与AWS客户合作,帮助他们理解业务和技术需求,并对齐技术解决方案,以实现最大价值。
删除)HarishBannai 是AWS的高级技术客户经理。他为企业客户提供RDS、数据库迁移服务的技术支持,并分享数据库最佳实践。
删除)KanwarBajwa 是AWS的企业支持领导,致力于帮助客户优化使用AWS服务,达到业务目标。
Leave a Reply