

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

# 使用 AMS 资源调度器进行成本优化
<a name="acc-resource-scheduler"></a>

AMS Resource Scheduler on AWS 解决方案通过停止未使用的资源 AWS 并在需要容量时启动资源来帮助您降低和 AMS 的成本。例如，您可以在开发环境中使用 AMS 资源调度器， AWS 在每天工作时间以外自动停止实例。如果您让所有实例以最大利用率运行，则此解决方案可能会降低实例利用率，从而根据您配置的计划降低总体成本。

使用 AWS Managed Services (AMS) 资源计划程序安排账户中 Auto Scaling 组、Amazon EC2 实例和 Amazon RDS 实例的自动启动和停止。在资源本来不打算全天候运行的情况下，这有助于降低基础设施成本。该解决方案建立在[AWS 实例调度器](https://aws.amazon.com/solutions/instance-scheduler/)之上，但包含针对 AMS 客户需求的其他功能和自定义设置。自定义包括对安排 Auto Scaling 群组的支持、 CloudWatch Elastic Load Balancing 警报的警报抑制器、对亚马逊多个 AWS Systems Manager 维护窗口的支持 EC2、成本节省估算器以及 AMS 的运营支持。

AMS 资源调度器使用周期和计划。周期定义资源应运行的时间，例如开始时间、结束时间和当月中的几天。计划包含您定义的时间段以及其他配置（SSM 维护时段、时区、休眠等），并指定资源何时运行。您可以使用 AMS 提供的 AWS Systems Manager 自动化运行手册来配置这些时间段和计划。每个计划必须包含至少一个时间段，用于定义实例应运行的时间。一个时间表可以包含多个时段。如果计划中使用了多个时段，则当至少有一个周期规则为真时，实例计划程序会应用相应的启动操作。有关计划和周期的更多详细信息，请参阅 [AWS 实例计划程序的解决方案组件](https://docs.aws.amazon.com/solutions/latest/instance-scheduler-on-aws/components.html)。

AMS Resource Scheduler 使用 AWS 资源标签将计划与一个或多个资源相关联，以便将这些资源作为定时启动和停止操作的目标。您可以使用计划程序中配置的标签密钥（默认为`Schedule`）来标记资源，并将计划名称作为值。您可以在 Scheduler 的成本估算器功能中 AWS Cost Explorer 配置与成本分配标签相同的标签密钥，以跟踪和报告成本节省情况。

AMS 资源调度器是一项选择加入功能，您可以按账户启用。

# 通过 AMS 资源调度器使用资源
<a name="res-sched-design"></a>

**Amazon EC2**
+ 作为 Auto Scaling 组一部分的 Amazon EC2 实例不会单独处理，也不会被 AMS 资源计划程序跳过，即使它们已被标记。
+ 如果目标实例根卷使用 AWS KMS 客户主密钥 (CMK) 加密，则需要向您的资源调度器 IAM 角色添加额外的`kms:CreateGrant`权限，以便计划程序能够启动此类实例。为了提高安全性，默认情况下不会向角色添加此权限。如果您需要此权限，则可以通过更新 CloudFormation 堆栈来添加权限`ams-resource-scheduler`，并将 CMK 列表作为`UseCMK`参数的值（使用格式 ARNs 中的一个或多个 CMK 密钥`arn:partition:kms:region:account-id:key/key-id`而不是 KMS 别名）。
+ 如果您的 Amazon EC2 实例配置了特定的软件或由管理的供应商许可证 AWS License Manager，则资源调度器需要获得特定 AWS License Manager 许可证的权限才能启动该实例。您可以通过将许可证 ARN 列表添加到堆栈`ams-resource-scheduler`的许可证管理器许可参数 () AWS License Manager 中， EC2 为资源调度器授予必要的权限。 CloudFormation 

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

**Amazon RDS**
+ 调度器可以在停止 RDS 实例之前拍摄快照（不适用于 Aurora 数据库集群）。此功能默认处于开启状态，**创建 RDS 实例快照** AWS CloudFormation 模板参数设置为 **true**。快照将一直保留到下次停止 Amazon RDS 实例并创建新快照为止。
+ 调度器可以是属于集群或 start/stop Amazon RDS Aurora 数据库或多可用区（多可用区）配置的 Amazon RDS 实例。但是，当计划程序无法停止 Amazon RDS 实例（尤其是多可用区实例）时，请检查 Amazon RDS 限制。
+ 要安排 Aurora 集群的启动或停止，请使用**安排 Aurora 集群**模板参数（默认为 t **rue**）。Aurora 集群（不是集群中的单个实例）必须使用初始配置期间定义的标签键进行标记，并将计划名称作为标签值来调度该集群。

**注意**  
资源调度器不验证资源是否已启动或停止。它为相关服务发出 API 调用并继续前进。如果 API 调用失败，它会记录错误以供调查。  
AMS 资源调度器不支持 AWS Backup 窗口。如果您将 AWS Backup启用了 RDS 实例与资源计划程序计划进行映射，则要使备份按预期运行，备份窗口必须位于计划的运行窗口内。

# 入门 AMS 资源调度器
<a name="res-sched-onboarding"></a>

当您的账户加入 AMS Accelerate 运营计划时，您的账户不会自动加入 AMS 资源计划程序。但是，作为账户注册加入 AMS Accelerate 运营计划的一部分，或者之后的任何时候，您可以请求您的云服务交付经理 (CSDM) 将该账户加入 AMS 资源计划程序。在您的 CSDM 加入账户后，包含默认配置的 AMS 资源调度器资源的 CloudFormation 堆栈将自动配置到您的账户中。

在您的账户中配置 AMS 资源调度器后，我们建议您查看默认配置，并在需要时根据自己的偏好自定义配置，例如标签密钥、时区、计划服务等。有关推荐的自定义项的详细信息[自定义 AMS 资源调度器](res-sched-customizing.md)，请参阅 “下一步”。

# 自定义 AMS 资源调度器
<a name="res-sched-customizing"></a>

启动后，AMS 资源调度器将以 CloudFormation 堆栈的形式部署在您的 AMS Accelerate 账户的主要 AWS 区域中`ams-resource-scheduler`，并带有名称。您可以根据自己的偏好通过 CloudFormation 堆栈参数和执行堆栈更新来配置 AMS 资源调度器的属性。有关更新 CloudFormation 堆栈的信息，请参阅直接[更新堆栈](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-direct.html)。

我们建议您自定义以下属性，并将其余属性保留为默认值，以获得最佳功能。
+ **标签名称**：资源调度器将用于将实例计划与资源关联的标签的名称。默认值为 `Schedule`。
+ **要调度的服务：以**逗号分隔的资源调度器可以管理的服务列表。默认值为“`ec2,rds,autoscaling`”。有效值为 “ec2”、“rds” 和 “自动缩放”。
+ **默认时区：指定**资源调度器要使用的默认时区。默认值为 `UTC`。
+ **加密 EBS 卷的 CMK：以**逗号分隔的 Amazon KMS 客户托管密钥 (CMK) 列表 ARNs ，资源调度器可以被授予访问权限。
+ ** EC2 例如，许可证管理器许可**：可以 ARNs 向该资源调度器授予权限的以逗号分隔的 AWS 许可证管理器列表。

**注意**  
AMS 偶尔会发布功能和修复程序，以使您的账户中的 AMS 资源调度器保持最新状态。发生这种情况时，您通过堆栈参数对 AMS 资源调度器堆栈所做的任何自定义都将保留。  
我们强烈建议不要直接对 AMS 资源调度程序的任何组件资源进行任何自定义。这样做会影响资源调度程序的功能以及 AMS 使其保持最新状态的能力。

# 使用 AMS 资源调度器
<a name="res-sched-using-periods"></a>

如何在 AMS 加速账户中使用 AMS 资源调度器周期。

使用以下一组 AWS Systems Manager 自动化运行手册在 AMS 资源计划程序中管理所需的时间表和周期。

**注意**  
这些 SSM 自动化操作手册可在您账户的主要 AWS 区域中找到。
+ `AWSManagedServices-AddOrUpdatePeriod`
+ `AWSManagedServices-AddOrUpdateSchedule`
+ `AWSManagedServices-DeleteScheduleOrPeriod`
+ `AWSManagedServices-DescribeScheduleOrPeriods`
+ `AWSManagedServices-EnableOrDisableAMSResourceScheduler`

此外，AMS 还规定了一个 AWS Systems Manager 需要和承担的 AWS Identity and Access Management 角色才能使用运行手册。`ams_resource_scheduler_ssm_automation_role`IAM 角色的范围由最低权限内联策略限制，该策略授予 Runbook 功能所需的 SSM 权限。

**先决条件**

在开始使用 SSM 自动化运行手册和 AMS 资源计划程序之前，请执行以下步骤。

将以下策略附加到您希望允许其使用自动化运行手册管理 AMS 资源计划程序中的计划和周期的相应 IAM 实体（用户、群组或角色）。*如果您的 IAM 实体在您的账户中拥有管理员或 PowerUser 权限，则无需使用该政策*。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPassingResourceSchedulerRole",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/ams_resource_scheduler_ssm_automation_role",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "ssm.amazonaws.com"
                }
            }
        },
        {
            "Sid": "ListAndDescribeAutomationExecutions",
            "Effect": "Allow",
            "Action": [
                "ssm:GetAutomationExecution",
                "ssm:DescribeAutomationStepExecutions"
            ],
            "Resource": "arn:aws:ssm:*:111122223333:automation-execution/*"
        },
        {
            "Sid": "ListAndDescribeResourceSchedulerSSMDocuments",
            "Effect": "Allow",
            "Action": [
                "ssm:ListDocumentVersions",
                "ssm:DescribeDocument",
                "ssm:ListDocumentMetadataHistory",
                "ssm:DescribeDocumentParameters",
                "ssm:GetDocument",
                "ssm:DescribeDocumentPermission"
            ],
            "Resource": [
                "arn:aws:ssm:*::document/AWSManagedServices-AddOrUpdatePeriod",
                "arn:aws:ssm:*::document/AWSManagedServices-AddOrUpdateSchedule",
                "arn:aws:ssm:*::document/AWSManagedServices-DeleteScheduleOrPeriod",
                "arn:aws:ssm:*::document/AWSManagedServices-DescribeScheduleOrPeriods",
                "arn:aws:ssm:*::document/AWSManagedServices-EnableOrDisableAMSResourceScheduler"
            ]
        },
        {
            "Sid": "AllowExecutionOfResourceSchedulerSSMDocuments",
            "Effect": "Allow",
            "Action": [
                "ssm:StartAutomationExecution"
            ],
            "Resource": [
                "arn:aws:ssm:*::automation-definition/AWSManagedServices-AddOrUpdatePeriod:*",
                "arn:aws:ssm:*::automation-definition/AWSManagedServices-AddOrUpdateSchedule:*",
                "arn:aws:ssm:*::automation-definition/AWSManagedServices-DeleteScheduleOrPeriod:*",
                "arn:aws:ssm:*::automation-definition/AWSManagedServices-DescribeScheduleOrPeriods:*",
                "arn:aws:ssm:*::automation-definition/AWSManagedServices-EnableOrDisableAMSResourceScheduler:*"
            ]
        },
        {
            "Sid": "AllowListingAllDocuments",
            "Effect": "Allow",
            "Action": "ssm:ListDocuments",
            "Resource": "*"
        },
        {
            "Sid": "AllowListingAllSSMExecutions",
            "Effect": "Allow",
            "Action": "ssm:DescribeAutomationExecutions",
            "Resource": "*"
        },
        {
            "Sid": "AllowListingIAMRolesForStartingExecutionViaConsole",
            "Effect": "Allow",
            "Action": "iam:ListRoles",
            "Resource": "*"
        }
    ]
}
```

------

您可以从 AWS Systems Manager 控制台或使用 AWS CLI 运行自动化。如果使用 AWS CLI，则可能需要安装和配置它或 AWS 工具（如果还没有）。 PowerShell有关信息，请参阅[安装或升级 AWS 命令行工具](https://docs.aws.amazon.com/systems-manager/latest/userguide/getting-started-cli.html)。

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


# 在 AWS Managed Services 资源计划程序中处理时间段和计划
<a name="res-sched-periods"></a>

您可以使用 AMS 资源调度器在 AMS Accelerate 账户中添加、更新或删除计划或时段。

## 在 AMS 资源调度器中添加或更新周期
<a name="res-sched-add-period"></a>

在您的 AMS 账户中添加或更新资源计划周期。

**你需要的数据：**
+ **操作**：要执行的操作类型。如果要添加期间，请使用 “添加”；如果要更新现有期间，请使用 “更新”。
+ **名称**：期间的名称。如果要添加新周期，则必须指定唯一值。
+ **AutomationAssumeRole**： AWS Identity and Access Management (IAM) 角色的 ARN，允许运行手册代表您添加或更新周期。将角色指定为`ams_resource_scheduler_ssm_automation_role`。
+ **描述**（可选）：对期间的有意义的描述。
+ **BeginTime**（可选）：您要启动资源的时间，采用 HH: MM 格式。
+ **EndTime**（可选）：您要停止资源的时间，采用 HH: MM 格式。
+ **月**（可选）：以逗号分隔的月份列表或用连字符连接的月份范围，资源应在此期间运行。
+ **MonthDays**（可选）：以逗号分隔的当月天数列表或以连字符表示的资源运行天数范围。
+ **WeekDays**（可选）：以逗号分隔的列表，列出资源应在一周中的几天或一周中的某几天范围。

**怎么做：**
+ 在以下位置查看文档 [ AWSManagedServices-AddOrUpdatePeriod](https://console.aws.amazon.com/systems-manager/automation/execute/AWSManagedServices-AddOrUpdatePeriod)（您可能需要选择您的入职区域）。

  在**输入参数**部分中指定要求，然后选择**执行**。操作完成后，在 “**输出**” 选项卡中查看结果。
+ AWS CLI：

  运行以下命令以启动自动化。*placeholders*用您自己的信息替换。

  ```
  aws ssm start-automation-execution --document-name "AWSManagedServices-AddOrUpdatePeriod" --document-version "\$DEFAULT" 
       --parameters '{"Action":["add" or "update"], "Name":["NAME"], 
      "Description":["DESCRIPTION"],"BeginTime":["TIME"], "EndTime":["TIME"],
      "Months":["MONTH"],"MonthDays":["DAY"], "WeekDays":["DAY"], 
      "AutomationAssumeRole" : ["arn:aws:iam::ACCOUNTID:role/ams_resource_scheduler_ssm_automation_role"] }' --region ONBOARDED_REGION
  ```

**示例**：

以下示例显示了如何使用 AWS Systems Manager 控制台添加新时段。我们已经命名了**周期名称**，并将其配置为涵盖每月前 15 天的周一至周五上午 9 点至下午 6 点。

1. 在以下 AWS Systems Manager 位置查看自动化文档 [ AWSManagedServices-AddOrUpdatePeriod](https://console.aws.amazon.com/systems-manager/automation/execute/AWSManagedServices-AddOrUpdatePeriod)（您可能需要选择已上线的区域）。  
![\[加快为资源调度器添加周期。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/accelerate-guide/images/accResSchedAddPeriod.png)

1. 为参数提供值。  
![\[加快配置资源计划程序的时间段设置。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/accelerate-guide/images/accResSchedAddPeriodParams.png)

1. 单击 “**执行**”，等待自动化完成。

## 在 AMS 资源调度器中添加或更新计划
<a name="res-sched-add-sched"></a>

在 AMS Accelerate 账户中添加或更新资源计划表。

**你需要的数据：**
+ **操作**：要执行的操作类型。如果要添加计划，请使用 “添加”；如果要更新现有计划，请使用 “更新”。
+ **名称**：时间表的名称。如果要添加新计划，则必须指定唯一值。
+ **AutomationAssumeRole**：允许运行手册代表您添加或更新计划的 AWS Identity and Access Management (IAM) 角色的 ARN。指定角色`ams_resource_scheduler_ssm_automation_role`。
+ **描述**（可选）：对时间表的有意义的描述。
+ **计划**（可选）：指定要用于此计划的时段的逗号分隔列表。每个周期都必须已经创建。
+ **RetainRunning**（可选）：如果资源是在运行周期开始之前手动启动的，则指定 “true” 可防止资源调度器在运行周期结束时停止正在运行的资源。默认情况下，资源调度器会停止资源。
+ **StopNewInstances**（可选）：指定 “false” 以防止资源调度器在首次标记资源时停止该资源（如果该资源在运行期之外运行）。默认情况下，资源调度器会停止资源。
+ **SSMMaintenance窗口**（可选）：指定以逗号分隔的 AWS Systems Manager (SSM) 维护时段列表，您要将其添加为计划的运行时段。您还必须将 “” 属性指定UseMaintenanceWindow为 “true”。
+ **TimeZone**（可选）：指定您希望资源调度器使用的时区。默认情况下，资源调度器使用 UTC。
+ **UseMaintenanceWindow**（可选）：如果您希望资源调度器将亚马逊关系数据库服务 (RDS) 维护窗口视为 Amazon RDS 实例计划的运行期，或者将 AWS Systems Manager (SSM) 维护时段作为运行时间添加到亚马逊实例计划中，请指定 “true”。 EC2 
+ **UseMetrics**（可选）：指定 “true” 可在计划级别启用 CloudWatch 指标，指定 “false” 则禁用 CloudWatch 指标。指定此属性会覆盖在堆栈级别设置的 CloudWatch 指标设置。

**怎么做：**
+ 在以下位置查看文档 [ AWSManagedServices-AddOrUpdateSchedule](https://console.aws.amazon.com/systems-manager/automation/execute/AWSManagedServices-AddOrUpdateSchedule)（您可能需要选择您的入职区域）。

  在 “**输入参数**” 部分中指定要求，然后选择 “**执行**”。操作完成后，在 “**输出**” 选项卡中查看结果。
+ AWS CLI：

  运行以下命令以启动自动化。*placeholders*用您自己的信息替换。

  ```
  aws ssm start-automation-execution --document-name "AWSManagedServices-AddOrUpdateSchedule" --document-version "\$DEFAULT" 
       --parameters '{"Action":["add" or "update"], "Name":["NAME"], "Description":["DESCRIPTION"],
      "Hibernate":["true or false"],"Enforced":["true or false"],
      "OverrideStatus":["running or stopped"],"Periods":["PERIOD-A, PERIOD-B"],
      "RetainRunning":["true or false"],"StopNewInstances":["true or false"],
      "SSMMaintenanceWindow":["WINDOW-NAME"],"TimeZone":["TIMEZONE"], 
      "UseMaintenanceWindow":["true or false"],"UseMetrics":["true or false"], 
      "AutomationAssumeRole" : ["arn:aws:iam::ACCOUNTID:role/ams_resource_scheduler_ssm_automation_role"] }' --region ONBOARDED_REGION
  ```

**示例**：

以下示例说明如何为 AMS 资源调度器添加计划。在此示例中，您添加了一个名为的计划，名为 CustomSchedule 使用 CustomPeriod。

1. 在以下 AWS Systems Manager 位置查看自动化文档 [ AWSManagedServices-AddOrUpdateSchedule](https://console.aws.amazon.com/systems-manager/automation/execute/AWSManagedServices-AddOrUpdateSchedule)（您可能需要选择已上线的区域）。  
![\[加快为资源调度器添加计划。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/accelerate-guide/images/accResSchedAddOrUpdateSchedule.png)

1. 为参数提供值。  
![\[加快配置资源计划程序的计划设置。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/accelerate-guide/images/accResSchedAddScheduleParams.png)

1. 单击 “**执行**”，等待自动化完成。

## 在 AMS 资源调度器中删除时间段或计划
<a name="res-sched-delete-period"></a>

要删除 AMS Accelerate 账户中的资源调度器周期或计划，您需要以下数据：
+ **ConfigurationType**：要删除的配置类型。如果要删除期间，请使用 “周期”；如果要删除计划，请使用 “计划”。
+ **名称**：要删除的计划或期间的名称。
+ **AutomationAssumeRole**： AWS Identity and Access Management (IAM) 角色的 ARN，它允许运行手册代表您删除计划或时段。指定角色`ams_resource_scheduler_ssm_automation_role`。

**怎么做：**
+ 在以下位置查看文档 [ AWSManagedServices-DeleteScheduleOrPeriod](https://console.aws.amazon.com/systems-manager/automation/execute/AWSManagedServices-DeleteScheduleOrPeriod)（您可能必须选择您的已上线区域）。

  在**输入参数**部分中指定要求，然后选择**执行**。操作完成后，在 “**输出**” 选项卡中查看结果。
+ AWS CLI：

  运行以下命令以启动自动化。*placeholders*用您自己的信息替换。

  ```
  aws ssm start-automation-execution --document-name "AWSManagedServices-DeleteScheduleOrPeriod" --document-version "\$DEFAULT"
  --parameters '{"ConfigurationType":["period" or "schedule"],"Name":["NAME"],
      "AutomationAssumeRole":["arn:aws:iam::ACCOUNTID:role/ams_resource_scheduler_ssm_automation_role"]}' --region ONBOARDED_REGION
  ```

**示例**：

以下示例说明如何使用 AWS Systems Manager 控制台删除句点。

1. 在以下 AWS Systems Manager 位置查看自动化文档 [ AWSManagedServices-DeleteScheduleOrPeriod](https://console.aws.amazon.com/systems-manager/automation/execute/AWSManagedServices-DeleteScheduleOrPeriod)（您可能需要选择已上线的区域）。  
![\[加快删除资源调度器周期的速度。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/accelerate-guide/images/accResSchedDeleteSchedOrPeriod.png)

1. 为参数提供值。  
![\[加快资源计划程序的周期删除设置的配置速度。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/accelerate-guide/images/accResSchedDeletePeriodParams.png)

1. 单击 “**执行**”，等待自动化完成。

## 在 AMS 资源调度器中描述时间段或日程安排
<a name="res-sched-describe-period"></a>

为了描述（查看详情）AMS Accelerate 账户中的资源调度周期或计划，您需要以下数据：
+ **ConfigurationType**：您要描述的配置类型。如果要描述所有时段，请使用 “周期”；如果要描述所有时间表，请使用 “时间表”。
+ **AutomationAssumeRole**： AWS Identity and Access Management (IAM) 角色的 ARN，它允许运行手册代表你描述日程安排或时段。指定角色`ams_resource_scheduler_ssm_automation_role`。

**怎么做：**
+ 在以下位置查看文档 [ AWSManagedServices-DescribeScheduleOrPeriods](https://console.aws.amazon.com/systems-manager/automation/execute/AWSManagedServices-DescribeScheduleOrPeriods)（您可能需要选择已上线区域）：

  1. 在 “**输入参数**” 部分中指定要求，然后选择 “**执行**”。

  1. 操作完成后，在 “**输出**” 选项卡中查看结果。
+ AWS CLI：

  1. 运行以下命令以启动自动化。*placeholders*用您自己的信息替换。

     ```
     aws ssm start-automation-execution --document-name "AWSManagedServices-DescribeScheduleOrPeriods" --document-version "\$DEFAULT" 
                     --parameters '{"ConfigurationType":["period" or "schedule"],"AutomationAssumeRole":["arn:aws:iam::ACCOUNTID:role/ams_resource_scheduler_ssm_automation_role"]}' 
                     --region ONBOARDED_REGION
     ```

**示例**：

以下示例显示了如何使用 AWS Systems Manager 控制台描述一个时段。

1. 在以下 AWS Systems Manager 位置查看自动化文档 [ AWSManagedServices-DescribeScheduleOrPeriods](https://console.aws.amazon.com/systems-manager/automation/execute/AWSManagedServices-DescribeScheduleOrPeriods)（您可能需要选择已上线的区域）。  
![\[加速描述资源调度器的周期。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/accelerate-guide/images/accResSchedDescribePeriod.png)

1. 为参数提供值。  
![\[加快配置周期描述资源调度器的设置。\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/accelerate-guide/images/accResSchedDescribePeriodParams.png)

1. 单击 “**执行**”，等待自动化完成。

# 为 AMS 资源调度程序标记资源
<a name="res-sched-tagging"></a>

为 AMS 资源调度程序标记资源。

向 AMS 资源计划添加计划和周期后，您需要使用资源计划程序标签名称作为标签键，或者使用您自定义的标签键以及计划名称作为标签值来标记资源。有关如何在 AMS Accelerate 账户中标记资源的详细信息，请参阅[在 AMS 中添加标签加速](acc-tagging.md)。

**注意**  
如果使用 Resource Tagger 来标记资源，则必须将资源调度器的默认标签键自定义为具有前缀 “`ams:rt:`”，因为资源标记器应用的所有标签都具有密钥前缀 “”。`ams:rt:`否则，使用资源标记器标记的资源将不会由资源调度器管理。要了解有关为资源调度器自定义默认标签密钥的更多信息，请参阅。[自定义 AMS 资源调度器](res-sched-customizing.md)

# AMS 资源调度器中的成本估算器
<a name="resource-scheduler-cost-est"></a>

为了跟踪成本节省情况，AMS 资源调度器具有一个组件，该组件每小时计算由计划程序管理的 Amazon EC2 和 Amazon RDS 资源的估计成本节约。然后，这些成本节省数据将作为 CloudWatch 指标 (`AMS/ResourceScheduler`) 发布，以帮助您对其进行跟踪。成本节省估算器仅估算实例运行时间节省的时间。它不考虑任何其他成本，例如与资源相关的数据传输成本。

使用资源调度器启用了成本节约估算器。它每小时运行一次，并从中 AWS Cost Explorer检索成本和使用数据。它根据该数据计算出每种实例类型的平均每小时成本，然后预测在未计划的情况下运行一整天的成本。节省的成本是给定日期的预计成本与Cost Explorer的实际报告成本之间的差额。

例如，如果实例 A 的资源调度器配置为从上午 9 点到下午 5 点运行，则在给定一天中运行八个小时。Cost Explorer 将成本报告为 1 美元，使用量报告为 8。因此，每小时的平均成本为0.125美元。如果实例未使用资源调度器进行计划，则该实例将在当天运行 24 小时。在这种情况下，成本将为24x0.125 = 3美元。资源调度器帮助您节省了2美元的成本。

为了使成本节省估算器仅检索由 Cost Explorer 中的资源调度器管理的资源的成本和使用量，需要在账单控制面板中激活资源调度器用于定位资源的标签密钥作为**成本分配**标签。如果该账户属于某个组织，则需要在该组织的管理账户中激活标签密钥。有关执行此操作的信息，请参阅[激活用户定义的成本分配标签](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html)和[用户定义的成本分配标签](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/custom-tags.html)

将标签密钥激活为成本分配标签后，AWS 账单开始跟踪资源调度器管理的资源的成本和使用情况，在这些数据可用之后，成本节省估算器开始计算节省的成本并将数据发布在中的`AMS/ResourceScheduler`指标命名空间下。 CloudWatch

如果未激活成本分配标签，则即使启用了该指标，估算器也无法计算节省的费用并发布该指标。

**注意**  
成本节省估算器在计算时不考虑预留实例、储蓄计划等折扣。估算器从 Cost Explorer 中提取使用成本，然后计算资源每小时的平均成本。有关更多详细信息，请参阅 “[了解您的 AWS 成本数据集：备忘单](https://aws.amazon.com/blogs/aws-cost-management/understanding-your-aws-cost-datasets-a-cheat-sheet/)”。

# AMS 资源调度器中的警报抑制器
<a name="res-sched-alarm-suppressor"></a>

AMS 资源调度器附带 CloudWatch 警报抑制器，该抑制器作为名`AMSAlarmSuppressor`为的单独的 Lambda 函数部署，用于抑制位于 Elastic Load Balancing、Application Load Balancing 或 Network Load Balance 后面的实例的警报。该函数每 5 分钟运行一次，检索账户中存在的所有警报，并根据命名空间对警报进行分组；例如、`AWS/ELB``AWS/ApplicationELB`、`AWS/NetworkELB`。对于每组警报，抑制器都会找到负载均衡器名称 and/or 目标组（针对ALB/NLB) from alarm dimensions, finds the instances that are registered with the load balancer and/or目标组），并检查实例状态以发现这些实例是否由 AMS 资源调度器调度。如果实例由资源调度器调度，并由资源调度器停止，则抑制器会标记警报以将其禁用。如果注册实例列表中至少有一个实例正在运行，则抑制器会标记相应的警报以启用标记为启用的警报，并禁用标记为禁用的警报。这方面的日志存储在`/aws/lambda/AMSAlarmSuppressor`日志组中。