

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 带挂钩的补丁
<a name="acc-p-hooks"></a>

您可以使用 AMS 补丁挂钩将 AMS 修补配置为在修补之前和之后运行操作系统 (OS) 级别的命令。使用 AMS 补丁挂钩运行 SSM Command 文档以在修补之前停止服务，然后在修补后启动服务，或者运行命令以确认您的应用程序在修补后是否运行正常。

要使用 AMS 补丁挂钩，您需要执行以下操作：

1. 创建 SSM 命令文档以用作补丁挂钩。

1. 创建 AMS 补丁维护窗口，或使用现有的 AMS 补丁维护窗口。有关详细信息，请参阅 [AMS 补丁维护窗口](https://docs.aws.amazon.com/managedservices/latest/accelerate-guide/acc-p-maint-window.html)。

1. 配置 AMS 补丁维护窗口，以便使用您的 SSM 命令文档来处理 AMS 补丁挂钩。

## AMS 补丁挂钩 RACI
<a name="acc-p-hooks-raci"></a>

负责任、负责、咨询和知情矩阵或 RACI 矩阵将各种活动的主要责任分配给客户或 AMS。下表概述了客户和 AMS 在使用 AMS 补丁挂钩的应用程序中活动的责任。
+ R 代表负责完成任务的责任方
+ A 代表责任方
+ C 代表咨询；征求意见的一方，通常是作为主题专家征求意见的一方；以及与之进行双边沟通的当事人
+ 我代表知情；通报进展情况的一方，通常只有在任务或可交付成果完成后才获悉进展情况


| 活动 | Customer | AMS | 
| --- | --- | --- | 
|  创建 pre/post 补丁 SSM 命令文档和文档内容 | R | C | 
|  为 AMS 修补配置补丁挂钩参数 | R | C | 
|  执行 pre/post 补丁 SSM 命令文档 | 我 | R | 
|  对补丁挂钩故障进行分类和响应 | 我 | R | 
|  通知客户补丁挂钩故障 | 我 | R | 
|  如果客户要求，可回滚到补丁前状态 | C | R | 

## 为补丁挂钩创建 SSM 文档
<a name="acc-p-hooks-ssm-doc"></a>

AMS 补丁挂钩在修补期间使用 Amazon S EC2 ystems Manager (SSM) 文档。使用进行修补的帐户创建 SSM 命令文档或共享现有的 SSM 命令文档。有关 SSM 文档的信息（包括限制），请参阅[共享 SSM](https://docs.aws.amazon.com/systems-manager/latest/userguide/documents-ssm-sharing.html) 文档。

要创建 SSM 命令文档，请执行以下步骤：

1. 创建一个 [SSM 文档，**文档类型**为 “命令”。](https://docs.aws.amazon.com/systems-manager/latest/userguide/create-ssm-console.html)

1. 在 “**内容**” 部分中输入您的命令。有关更多信息，请参阅[创建 SSM 文档内容](https://docs.aws.amazon.com/systems-manager/latest/userguide/documents-creating-content.html)。

**注意**  
也可以使用 AWS CLI 或 CloudFormation创建 AMS 补丁挂钩的 SSM 文档。如果您在为 AMS 补丁挂钩创建 SSM 文档时需要帮助，请联系您的云架构师。

## 配置 AMS 补丁维护窗口以使用您的 SSM 命令文档作为 AMS 补丁挂钩
<a name="acc-p-hooks-config-pw-for-ssm-doc"></a>

AMS 补丁维护窗口是一个 Systems Manager 维护窗口，用于执行您配置的 AMS 补丁自动化。

要编辑 AMS 补丁维护窗口以使用补丁挂钩，请按照以下步骤操作：

1. 在左侧导航窗格的**变更管理工具**下，选择**维护窗口**。[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)

   将打开一个列出现有维护窗口的页面。

1. 选择以 **mw-** 开头的窗口 ID。

   将打开该维护窗口的详细信息页面。

1. **选择 “**任务**” 选项卡和带有任务 ARN 为 **AMS-** 的窗口任务 ID，PatchInstance然后单击 “编辑”。**

    ![\[AWS Systems Manager maintenance window tasks interface showing three AWSManagedServices-PatchInstance tasks.\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/accelerate-guide/images/mwindow-detail-edit-border.png) 

1. 向下滚动到 “**参数**” 部分并更新以下参数。

AMS 补丁挂钩参数：
+ **PrePatchHook**：要在打补丁之前运行的类型为 “命令” 的 SSM 文档的名称。如果您在修补之前没有运行命令，请将其留空或键入 “AWS-noop”（区分大小写）。
+ **PostPatchHook**：打补丁后要运行的 SSM 文档的名称，类型为 “命令”。如果您在修补后没有运行命令，请将其留空或键入 “AWS-noop”（区分大小写）。
+ **ExecutePatchBasedOnPreHookStatus**: 根据运行成功或失败 PrePatchHook 运行补丁，选择一个：
  + **OnPreHookSuccess**：仅在成功后运行 AMS 补丁自动化。 PrePatchHook 
  + **始终**：成功和失败时运行 AMS 补丁自动化。 PrePatchHook 
  + **OnPreHookFailure**-仅在 PrePatchHook 失败时运行 AMS 补丁自动化。
  + **从不**：不要运行 AMS 补丁自动化。这在测试你的时可能很有用 PrePatchHook。
+ **ExecutePostHookBasedOnPatchStatus**: 根据 AMS 补丁自动化的成功或失败运行补丁后挂钩，选择一个：
  + **OnPatchSuccess**：仅 PostPatchHook 当 AMS 补丁自动化成功运行时才运行。
  + **始终**： PostPatchHook 当 AMS 补丁自动化成功和失败时运行。
  + **OnPatchFailure**- PostPatchHook 仅在 AMS 补丁自动化失败时运行。

**注意**  
如果这些变量中的任何一个缺少其文本框，请向上滚动到同一页面上的 “**自动化文档**” 部分，选择其他文档，然后重新选择原始文档来解决这个问题。这会刷新输入参数，以便您可以对其进行编辑。