AWS DMS 任务不会删除

dro*_*bin 5 aws-dms

我正在尝试删除两个处于失败状态的 AWS DMS 数据库“迁移”任务。经过 30 多次尝试后,控制台显示绿色横幅并显示任务已删除 - 任务仍然存在。我还尝试使用 aws cli 删除 dms 任务并获得相同的结果。DMS 的事件日志显示以下内容:

dms-copy-task   replication-task    May 3, 2021, 22:48:37 (UTC-04:00)   Failed to clean task resources for task dms-copy-task during task deletion
dms-copy-task   replication-task    May 3, 2021, 22:47:06 (UTC-04:00)   Replication task has been deleted. 
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我此时如何摆脱这些任务吗?我的目标是清理整个 DMS 复制实例,但如果不先删除任务,我就无法做到这一点。

小智 8

由于无法访问源 PostgreSQL 数据库,无法删除 DMS 任务。当具有 PostgreSQL 兼容源的 DMS 任务尝试但无法删除源上的复制槽时,会发生这种情况,要解决此问题,请考虑更改对 DMS 任务设置的以下修改:

Change:
    > "FailTaskWhenCleanTaskResourceFailed": true
to
    > "FailTaskWhenCleanTaskResourceFailed": false
Run Code Online (Sandbox Code Playgroud)

请注意,参数“FailTask​​WhenCleanTaskResourceFailed”默认设置为 true,以避免源数据库 (Aurora Postgres) 上的复制槽处于活动状态,从而导致 WAL 文件增长。因此,建议手动检查源复制槽并验证其是否已删除,以免源 RDS 实例中的空间因未使用的复制槽而增长。

一旦采取措施,请按照以下步骤将“FailTask​​WhenCleanTaskResourceFailed”更新为 false,这将导致 DMS 以不同的方式评估删除过程,从而允许 DeleteReplicationTask API 调用完成,而不会遇到“手动删除槽”错误。

修改任务 JSON:

1. Select the DMS Task
2. Choose Modify
3. Scroll to the "Task settings" section
4. Choose the "JSON editor"
5. Scroll towards the bottom and set the following:
    "FailTaskWhenCleanTaskResourceFailed": false
6. Save the Task settings
7. Delete the DMS task.
Run Code Online (Sandbox Code Playgroud)

来源与信用:

AWS 技术支持团队


dro*_*bin 1

请参阅上面的评论。我能够通过重新配置将 DMS 任务移回到工作状态来清理 DMS,然后停止它们,然后删除它们。