

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

# 在 AMS 中创建补丁维护窗口
<a name="acc-p-maint-window"></a>

补丁维护窗口按设定的计划为目标 Amazon EC2 实例运行 AMS 补丁自动运行。目标由一组实例的一个或多个标签定义。你可以根据星期二补丁前后的日期和时间来设置时间表，也可以使用 *cron 表达式*定义时间表。有关更多信息，请参阅 *AWS Systems Manager 用户指南*中的[参考：适用于 Systems Manager 的 cron 和 rate 表达式](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html)。在修补之前，AMS 会创建每个实例根卷的快照。如果 AMS 检测到修补会影响实例的运行状况，或者如果您将修补对应用程序的影响通知 AMS，则 AMS 会使用此快照将根卷恢复到修补前的状态。

## AMS 加速补丁维护时段限制
<a name="acc-p-maint-limit"></a>

AMS 修补使用 AWS Systems Manager （Systems Manager）。除了 Systems Manager 的服务限制外，每个补丁维护窗口的 AMS 修补限制为 300 个目标实例。假设每个实例的补丁完成时间一般为 30 分钟，下表提供了维护时段数量和持续时间的示例。


| 要修补的实例 | 维护时段持续时间（小时） | 需要并行维护窗口 | 
| --- | --- | --- | 
| 100  | 1  | 1  | 
| 200  | 1  | 1  | 
| 300  | 2  | 1  | 
| 600  | 3  | 2  | 
| 800  | 4  | 3  | 
| 1200  | 6  | 4  | 
| 1500  | 8  | 5  | 

**重要**  
这些示例假设没有其他 Systems Manager 维护窗口处于活动状态，也没有其他自动化程序在运行。

有关限制的更多信息，请参阅[AWS Systems Manager 终端节点和配额](https://docs.aws.amazon.com/general/latest/gr/ssm.html)。

**Topics**
+ [AMS 加速补丁维护时段限制](#acc-p-maint-limit)
+ [从 AMS 控制台创建定期的 “补丁星期二” 维护窗口（推荐）](acc-p-maint-window-ams-console.md)
+ [使用 CloudFormation AMS Accelerate 创建补丁维护窗口](acc-p-maint-window-cfn.md)
+ [通过 Systems Manager 控制台为 AMS Accelerate 创建维护窗口](acc-p-maint-window-console.md)
+ [使用 AMS Accelerate 的 Systems Manager 命令行界面 (CLI) 创建维护窗口](acc-p-maint-window-cli.md)

# 从 AMS 控制台创建定期的 “补丁星期二” 维护窗口（推荐）
<a name="acc-p-maint-window-ams-console"></a>

Microsoft在每个月的第二个星期二（也称为补丁星期二）发布其操作系统的补丁。通常将 Windows 和 Linux 实例的修补时间安排在周二补丁之上。要将定期补丁维护时间安排在周二补丁之后的第一个或第二个周末，请访问 AMS 控制台并按照以下步骤操作：

1. 为您的补丁维护窗口提供一个名称。

1. [可选] 提供补丁维护窗口的描述。

1. 选择与周二补丁相关的日期。

1. 以 hh: mm 为单位输入补丁维护窗口的开始时间。**例如，午夜是 **00:00**，晚上 11 点是 23:00。**然后选择一个时区。

1. [可选] 更改持续时间以满足您的需求。AMS 建议至少持续四小时。

1. 输入目标的补丁标签密钥和值。有关信息，请参阅[什么是标签？](https://docs.aws.amazon.com/managedservices/latest/accelerate-guide/acc-tag-intro.html#acc-tag-what-is) 。

1. [可选] 展开可选参数以调整并发度、错误率和维护窗口截止时间。

   1. 并发控制同时修补多少目标实例。例如，10 个目标实例的并发度为 50%，一次修补不超过 5 个实例，而 100% 的并发度将同时修补所有 10 个实例。

   1. 错误率控制暂停修补程序之前的错误容忍度。例如，如果有 10 个目标实例的错误率为 100%，则无论有多少实例失败，都将修补所有实例，而 50% 的错误率将在 5 个实例无法修补时暂停修补。AMS 建议错误率为 100%。

   1. 修补程序维护窗口截止时间通过在补丁维护时段结束前的指定小时暂停新修补活动的开始，从而防止修补程序维护窗口被破坏。例如，截止时间为 1 小时（推荐），则会在补丁维护窗口结束前 1 小时停止新的补丁活动。

**重要**  
验证下次执行时间。  
访问 [SSM 维护窗口控制台](https://console.aws.amazon.com/systems-manager/maintenance-windows)，搜索您新创建的补丁维护窗口，并验证下次执行时间。如果您有任何疑问或需要编辑补丁维护窗口，请创建服务请求以与 AMS 补丁专家交谈

要使用安排基于 Cron 的补丁维护时段 CloudFormation，请参阅。[使用 CloudFormation AMS Accelerate 创建补丁维护窗口](acc-p-maint-window-cfn.md)

# 使用 CloudFormation AMS Accelerate 创建补丁维护窗口
<a name="acc-p-maint-window-cfn"></a>

要使用创建 AMS Accelerate 补丁维护窗口 AWS CloudFormation，请先登录您的 Accelerate 账户，然后选择目标实例所在 AWS 区域 的位置。然后在 [https://console.aws.amazon.com/cloudformat](https://console.aws.amazon.com/cloudformation/) ion 上按照以下步骤操作：

1. 从两个自定义 Accelerate 修补 CloudFormation 模板中选择一个。
   + 周二补丁计划：Microsoft在每个月的第二个星期二（也称为补丁星期二）发布其操作系统的补丁，将补丁维护时间安排在补丁周二之后的第一个或第二个周末：登录加速控制台后，使用此链接[ PatchTuesdayScheduling CloudFormation 模板](https://console.aws.amazon.com/cloudformation/home?#/stacks/create/parameters?templateURL=https://ams-patch-templates-us-east-1.s3.amazonaws.com/AmsPatchMaintenanceWindowTemplatePatchTuesdayScheduling.yml)。
   + [CRON 计划：要使用 CRON 创建补丁维护窗口来定义起始日期，请使用此链接 CRONScheduling CloudFormation 模板。](https://console.aws.amazon.com/cloudformation/home?#/stacks/create/parameters?templateURL=https://ams-patch-templates-us-east-1.s3.amazonaws.com/AmsPatchMaintenanceWindowTemplateCronScheduling.yml)请记住，Systems Manager CRON 编号为 1-7 天（有关 Systems Manager CRON 的详细信息，请参阅[参考：Systems Manager 的 Cron 和费率表达式](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html)）。

   选择其中一个链接会使模板自动加载到 CloudFormation 控制台上。然后单击 **Next**（下一步）。

1. 在**指定堆栈详细信息**页面（创建堆栈页面的第 2 步）上，输入堆栈名称和模板参数（显示的默认参数是 AMS 推荐的默认参数，请为您的用例选择日期和时间）。完成后，单击 **Next**。

1. 配置堆栈选项（可选）。有关这些选项的信息，请参阅[设置 AWS CloudFormation 堆栈选项](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-add-tags.html)。完成后，单击 **Next**。

1. 查看您的堆栈值（可选）。有关查看堆栈详细信息以估算成本的信息，请参阅[查看堆栈和估算堆栈成本](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-console-create-stack-review.html)。准备就绪后，单击 “**创建堆栈**”。

   堆栈最多可能需要一分钟才能创建。成功创建堆栈后，您的补丁维护窗口将在指定的时间运行。您可以通过创建和执行 CloudFormation 更改集（推荐）（有关执行此操作的详细信息，请参阅[使用变更集创建堆栈）或在 Systems Manager 维护窗口控制台上更新补丁维护窗口（）来更改](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stacks-changesets.html)补丁**维护窗口**（）。[https://console.aws.amazon.com/systems-manager/maintenance-windows](https://console.aws.amazon.com/systems-manager/maintenance-windows)

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/6fSfFeFn6Vc/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/6fSfFeFn6Vc)


# 通过 Systems Manager 控制台为 AMS Accelerate 创建维护窗口
<a name="acc-p-maint-window-console"></a>

要从 Systems Manager 控制台创建 AMS 加速维护窗口，请执行以下步骤：

1. 在 “**变更管理**” 区域的左侧导航栏中，单击 “**维护窗**口”，然后单击屏幕右上角的 “**创建维护窗口”**。填写表格。有关任何选项的详细信息，请参阅[创建维护窗口（控制台）](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-create-mw.html)。完成后，单击 “**创建维护窗口”**。

   维护时段列表页面打开。

1. 选择新创建的维护时段。

   维护时段详细信息页面打开。

1. 转到**目标**选项卡，然后选择**注册目标**。

   将打开 “**注册目标**” 页面。

1. 添加你的加速目标。有关目标的信息，请参阅[将目标分配给维护时段（控制台）](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-assign-targets.html)。完成后，单击 “**注册目标**”。以后需要时记下目标。

   维护时段详细信息页面在 “**目标**” 选项卡上重新打开，其中包含新目标的列表。

1. 在维护时段详细信息页面的**任务**选项卡上，选择**注册任务**，然后从下拉列表中选择**注册自动化任务**。填写表格。加速笔记：
   + 提供一个有意义的任务名称。例如： AcceleratePatch。
   + 在**自动化文档**区域中，单击搜索框，选择**所有者**，然后选择**共享文档**。
   + 在搜索框中单击并选择**文档名称前缀**--> **等于**，然后键入:，即可选择自动化文档。**AWSManagedServices-PatchInstance**然后通过选择**AWSManagedServices-PatchInstance**文档的单选按钮来选择该文档。
   + 在 “文档版本” 下，选择 “**运行时的默认版本**”。
   + 在 “**目标**” 部分中：
     + 将**目标设置为：****选择已注册的目标组**。
     + 在目标列表中，选择您在目标选项卡中注册的**目标**。
   + 在 “**输入参数**” 部分，填写表单。
     + **InstanceId**: `{{TARGET_ID}}`
     + **StartInactiveInstances**: `True` 如果实例在补丁维护窗口期间停止，则启动这些实例。
**注意**  
**InstanceId**参数值区分大小写，**StartInactiveInstances**参数值可以为 True 或 False。  
当被标签定位时，已停止的实例无法启动。有关更多信息，请参阅[没有可执行的调用。](https://aws.amazon.com/premiumsupport/knowledge-center/ssm-no-invocations-automation)
   + 在 “**速率控制**” 部分中，选择百分比。AMS A **cc **el** erate 建议并发**度**为 100%**，**错误阈值**为 100%，以便尝试同时修补所有实例，无论自动化错误如何。例如，如果您希望一次修补一半的目标，以保持负载平衡后面的一半目标实例运行，请将并**发**设置为 50%。
   + 在 **IAM 服务角色**部分，选择**使用自定义服务角色**，然后选择 **ams\$1ssm\$1automation\$1role**。

   单击 “**注册自动化任务**”。

   修补维护窗口已创建。在 “**描述**” 选项卡下，您可以看到**下次执行时间**。

# 使用 AMS Accelerate 的 Systems Manager 命令行界面 (CLI) 创建维护窗口
<a name="acc-p-maint-window-cli"></a>

要使用命令行界面创建 AMS 加速维护窗口，请执行以下操作：

1. 按照 SSM [教程进行操作：创建和配置维护窗口 (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-cli-tutorials-create.html)。对于本教程的每个步骤，以下是用于修补的 CLI 命令示例。
**注意**  
 这些示例特定于 Linux 或 macOS。也可以运行这些命令，使用 AWS CloudShell 这些命令可能比在本地计算机`awscli`上配置更简单。有关详细信息，[请参阅使用 AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/working-with-cloudshell.html)。

   1. 在本教程的第 1 步中，要创建维护窗口，请执行以下操作：

      ```
      aws ssm create-maintenance-window \
                      --name Sample-Maintenance-Window \
                      --schedule "cron(0 30 23 ? * TUE#2 *)" \
                      --duration 4 \
                      --cutoff 1 \
                      --allow-unassociated-targets \
                      --tags "Key=Environment,Value=Production"
      ```

      成功完成后`window-id`，返回。

   1. 在本教程的第 2 步中，要注册目标节点，请执行以下操作：

      ```
      aws ssm register-target-with-maintenance-window \
                      --window-id "mw-xxxxxxxxx" \
                      --resource-type "INSTANCE" \
                      --target "Key=tag:Environment,Values=Prod"
      ```

      成功完成后，返回 `WindowTargetID` s。

   1. 在本教程的第 3 步中，要注册任务，请执行以下操作：

      ```
      aws ssm register-task-with-maintenance-window \
          --window-id "mw-xxxxxx" \
          --targets "Key=WindowTargetIds,Values=63d4f63c-xxxxxx-9b1d-xxxxxfff" \
          --task-arn "AWSManagedServices-PatchInstance" \
          --service-role-arn "arn:aws:iam::AWS-Account-ID:role/ams_ssm_automation_role" \
          --task-invocation-parameters "{\"Automation\":{\"DocumentVersion\":\"\$DEFAULT\",\"Parameters\":{\"InstanceId\":[\"{{TARGET_ID}}\"],\"StartInactiveInstances\":[\"True\"]}}}" \
          --max-concurrency 50 \
          --max-errors 50 \
          --name "AutomationExample" \
          --description "Sample Description" \
          --task-type=AUTOMATION
      ```