

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

# AMS 资源调度器最佳实践
<a name="resource-scheduler-bp"></a>

**计划 Amazon EC2 实例**
+ 实例关闭行为必须设置为`stop`，而不是设置为`terminate`。`stop`对于使用 AMS Amazon Create 自动更改类型 (ct-14027q0sjyt1h) EC2 创建的实例，通过将属性设置为，可以为通过摄取创建的 EC2 亚马逊实例将其设置为。 AWS CloudFormation `InstanceInitiatedShutdownBehavior` `stop`如果实例的关闭行为设置为`terminate`，则当资源调度器停止实例并且调度器无法启动它们时，实例就会结束。
+ 作为 Auto Scaling 组一部分的 Amazon EC2 实例不会由 AMS 资源计划程序单独处理，即使它们已被标记。
+ 如果目标实例根卷使用 KMS 客户主密钥 (CMK) 加密，则需要向您的资源调度器 IAM 角色添加额外的`kms:CreateGrant`权限，以便计划程序能够启动此类实例。为了提高安全性，默认情况下不会将此权限添加到角色中。如果您需要此权限，请使用管理 \$1 AMS 资源计划程序 \$1 解决方案 \$1 更新更改类型提交 RFC，并指定以逗号分隔的 KMS 列表。 ARNs CMKs

**安排 Auto Scaling 群组**
+ AMS 资源调度器启动或停止 Auto Scaling 组的自动扩展，而不是组中的单个实例。也就是说，调度器恢复 Auto Scaling 组的大小（开始）或将大小设置为 0（停止）。
+ 使用指定标签标记 AutoScaling 组，而不是该组中的实例。
+ 在停止期间，AMS 资源调度器会存储 Auto Scaling 组的最小、所需和最大容量值，并将最小和所需容量设置为 0。在启动期间，调度器会将 Auto Scaling 组的大小恢复为停止时的状态。因此，Auto Scaling 组实例必须使用适当的容量配置，这样实例的终止和重新启动就不会影响在 Auto Scaling 组中运行的任何应用程序。
+ 如果在运行期间修改 Auto Scaling 组（最小或最大容量），则计划程序会存储新的 Auto Scaling 组大小，并在停止计划结束时恢复该组时使用该大小。

**安排 Amazon RDS 实例**
+ 调度器可以在停止 RDS 实例之前拍摄快照（不适用于 Aurora 数据库集群）。默认情况下，此功能处于开启状态，**创建 RDS 实例快照** CloudFormation 模板参数设置为 **true**。快照将一直保留到下次停止 Amazon RDS 实例并创建新快照为止。

  调度器可以是属于集群或 start/stop Amazon RDS Aurora 数据库或多可用区（多可用区）配置的 Amazon RDS 实例。但是，当计划程序无法停止 Amazon RDS 实例（尤其是多可用区实例）时，请检查 Amazon RDS 限制。要安排 Aurora 集群的启动或停止，请使用**安排 Aurora 集群**模板参数（默认为 t **rue**）。Aurora 集群（不是集群中的单个实例）必须使用初始配置期间定义的标签键进行标记，并将计划名称作为标签值来调度该集群。

  每个 Amazon RDS 实例都有一个每周维护时段，在此期间会应用任何系统更改。在维护时段内，Amazon RDS 将自动启动已停止超过七天的实例以进行维护。请注意，维护事件完成后，Amazon RDS 不会停止实例。

  计划程序允许指定是否将 Amazon RDS 实例的首选维护时段作为运行时段添加到其计划中。如果没有其他运行周期指定实例应运行，并且维护事件已完成，则解决方案将在维护时段开始时启动实例，并在维护时段结束时停止该实例。

  如果维护事件在维护时段结束时仍未完成，则该实例将一直运行到维护事件完成后的计划间隔。

**注意**  
调度程序不验证资源是否已启动或停止。它调用 API 并继续前进。如果 API 调用失败，它会记录错误以供调查。