Amazon Data Lifecycle Manager 前置和后置脚本的工作原理
下图显示了使用自定义 SSM 文档时前置和后置脚本的流程。这不适用于 VSS 备份。
在计划创建快照时,会发生以下操作和跨服务交互。
-
Amazon Data Lifecycle Manager 通过调用 SSM 文档并传递
pre-script
参数来启动前置脚本操作。注意
只有在运行前置脚本时才会执行步骤 1 到 3。如果您仅运行后置脚本,则会跳过步骤 1 到 3。
-
Systems Manager 向在目标实例上运行的 SSM Agent 发送前置脚本命令。SSM Agent 在实例上运行命令,并将状态信息发送回 Systems Manager。
例如,如果使用 SSM 文档创建应用程序一致性快照,则前置脚本可能会冻结并刷新 I/O,以确保在拍摄快照之前将所有缓冲的数据写入卷。
-
Systems Manager 向 Amazon Data Lifecycle Manager 发送前置脚本命令状态更新。如果前置脚本失败,则 Amazon Data Lifecycle Manager 将执行以下操作之一,具体取决于您配置前置和后置脚本选项的方式:
重试 默认创建崩溃一致性快照 操作 已启用,剩余重试次数 已启用 重试脚本,直到脚本成功或重试次数用尽 次数用尽但未成功完成 已启用 创建崩溃一致性快照,且不运行后置脚本。 已启用,剩余重试次数 已禁用 重试脚本,直到脚本成功或重试次数用尽 次数用尽但未成功完成 已禁用 跳过为目标实例创建快照,且不运行后置脚本。 已禁用 已启用 创建崩溃一致性快照,且不运行后置脚本。 已禁用 已禁用 跳过为目标实例创建快照,且不运行后置脚本。 -
Amazon Data Lifecycle Manager 启动快照创建。
-
Amazon Data Lifecycle Manager 通过调用 SSM 文档并传递
post-script
参数来启动后置脚本操作。注意
只有在运行前置脚本时才会执行步骤 5 到 7。如果您仅运行后置脚本,则会跳过步骤 1 到 3。
-
Systems Manager 向在目标实例上运行的 SSM Agent 发送后置脚本命令。SSM Agent 在实例上运行命令,并将状态信息发送回 Systems Manager。
例如,如果 SSM 文档启用了应用程序一致性快照,则此后置脚本可能会解冻 I/O,以确保您的数据库在拍摄快照后恢复正常 I/O 操作。
-
如果您运行后置脚本且 Systems Manager 指示该脚本已成功完成,则该过程完成。
如果后置脚本失败,则 Amazon Data Lifecycle Manager 将执行以下操作之一,具体取决于您配置前置和后置脚本选项的方式:
重试 操作 已启用,剩余重试次数 重试后置脚本,直到脚本成功或重试次数用尽 次数用尽,但未成功 跳过后置脚本 已禁用 跳过后置脚本 请记住,如果后置脚本失败,则前置脚本(如已启用)将成功完成,并且可能已创建快照。您可能需要对实例采取进一步操作以确保其按预期运行。例如,如果前置脚本暂停并刷新了 I/O,但后置脚本未能解冻 I/O,则可能需要将数据库配置为自动解冻 I/O,或者需要手动解冻 I/O。
-
后置脚本完成后,快照创建过程可能会完成。完成快照所需的时间取决于快照的大小。