Amazon Data Lifecycle Manager 前置和后置脚本的工作原理 - Amazon EBS

Amazon Data Lifecycle Manager 前置和后置脚本的工作原理

下图显示了使用自定义 SSM 文档时前置和后置脚本的流程。这不适用于 VSS 备份。

Amazon Data Lifecycle Manager 前置和后置脚本流程

在计划创建快照时,会发生以下操作和跨服务交互。

  1. Amazon Data Lifecycle Manager 通过调用 SSM 文档并传递 pre-script 参数来启动前置脚本操作。

    注意

    只有在运行前置脚本时才会执行步骤 1 到 3。如果您仅运行后置脚本,则会跳过步骤 1 到 3。

  2. Systems Manager 向在目标实例上运行的 SSM Agent 发送前置脚本命令。SSM Agent 在实例上运行命令,并将状态信息发送回 Systems Manager。

    例如,如果使用 SSM 文档创建应用程序一致性快照,则前置脚本可能会冻结并刷新 I/O,以确保在拍摄快照之前将所有缓冲的数据写入卷。

  3. Systems Manager 向 Amazon Data Lifecycle Manager 发送前置脚本命令状态更新。如果前置脚本失败,则 Amazon Data Lifecycle Manager 将执行以下操作之一,具体取决于您配置前置和后置脚本选项的方式:

    重试 默认创建崩溃一致性快照 操作
    已启用,剩余重试次数 已启用 重试脚本,直到脚本成功或重试次数用尽
    次数用尽但未成功完成 已启用 创建崩溃一致性快照,且不运行后置脚本。
    已启用,剩余重试次数 已禁用 重试脚本,直到脚本成功或重试次数用尽
    次数用尽但未成功完成 已禁用 跳过为目标实例创建快照,且不运行后置脚本。
    已禁用 已启用 创建崩溃一致性快照,且不运行后置脚本。
    已禁用 已禁用 跳过为目标实例创建快照,且不运行后置脚本。
  4. Amazon Data Lifecycle Manager 启动快照创建。

  5. Amazon Data Lifecycle Manager 通过调用 SSM 文档并传递 post-script 参数来启动后置脚本操作。

    注意

    只有在运行前置脚本时才会执行步骤 5 到 7。如果您仅运行后置脚本,则会跳过步骤 1 到 3。

  6. Systems Manager 向在目标实例上运行的 SSM Agent 发送后置脚本命令。SSM Agent 在实例上运行命令,并将状态信息发送回 Systems Manager。

    例如,如果 SSM 文档启用了应用程序一致性快照,则此后置脚本可能会解冻 I/O,以确保您的数据库在拍摄快照后恢复正常 I/O 操作。

  7. 如果您运行后置脚本且 Systems Manager 指示该脚本已成功完成,则该过程完成。

    如果后置脚本失败,则 Amazon Data Lifecycle Manager 将执行以下操作之一,具体取决于您配置前置和后置脚本选项的方式:

    重试 操作
    已启用,剩余重试次数 重试后置脚本,直到脚本成功或重试次数用尽
    次数用尽,但未成功 跳过后置脚本
    已禁用 跳过后置脚本

    请记住,如果后置脚本失败,则前置脚本(如已启用)将成功完成,并且可能已创建快照。您可能需要对实例采取进一步操作以确保其按预期运行。例如,如果前置脚本暂停并刷新了 I/O,但后置脚本未能解冻 I/O,则可能需要将数据库配置为自动解冻 I/O,或者需要手动解冻 I/O。

  8. 后置脚本完成后,快照创建过程可能会完成。完成快照所需的时间取决于快照的大小。