

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

# 操作员指南
<a name="operator-guide"></a>

本指南适用于该解决方案的用户和操作员，包含有关如何[配置计划](#configure-schedules)和[监控解决方案的详细信息](monitor-the-solution.md)。

## 配置计划
<a name="configure-schedules"></a>

**重要**  
计划配置不当会导致实例持续运行并产生意想不到的成本。在对资源应用计划之前，请验证以下内容：  
资源标签中的计划名称与配置表中定义的计划完全匹配。计划名称拼写错误或不存在将导致`UnknownSchedule`错误，并且调度程序不会停止该实例。检查资源上的`IS-Error`标签以识别这种情况。
如果设置`stop_new_instances`为`false`，则在首次标记时在计划时间段之外运行的实例要等到下次定时停止过渡时才会停止。这可能会导致实例的运行时间超过预期。
如果设置`retain_running`为`true`，则在运行周期开始之前手动启动的实例不会在该时段结束时停止。这是设计使然，但如果不进行监控，可能会导致实例无限期运行。
使用`enforced: false`（默认）时，调度器不会重启在运行期间手动停止的实例，也不会停止在初始停止过渡后的运行时段之外手动启动的实例。
我们建议启用[信息标记](monitor-the-solution.md#informational-tags)（默认情况下处于启用状态），并定期检查资源上的`IS-Error`和`IS-LastAction`标签，以确认计划是否按预期运行。

在成功部署解决方案后，您可以开始配置计划。AWS 实例计划程序支持两种计划管理方法，如下所述。

**注意**  
该解决方案可支持任意数量的计划，每个计划可包含一个或多个时段，这些时段用于定义受该计划控制的实例应在何时运行。有关更多信息，请参阅[计划](scheduler-cli.md)和[时段](period-reference.md)。

### 使用基础设施即代码（推荐）
<a name="using-infrastructure-as-code-recommended"></a>

AWS 上的实例调度器提供了一个 AWS CloudFormation CustomResource ，您可以使用它来使用基础设施即代码 (IaC) 来管理您的计划和周期。

有关如何使用 IaC 管理计划的信息，请参阅[使用基础设施即代码（IaC）管理计划](manage-schedules-using-infrastructure-as-code-iac.md)。

### 使用 Amazon DynamoDB 控制台和 AWS 实例计划程序 CLI
<a name="using-the-amazon-dynamodb-console-and-instance-scheduler-on-aws-cli"></a>

**重要**  
如果您已使用自定义资源通过 IaC 管理任何计划，则不得使用 DynamoDB 控制台或计划程序 CLI 来删除或修改这些计划或其周期。如果这样做，则会在中存储的参数 CloudFormation 和表中的值之间造成冲突。此外，不要 CloudFormation 在使用 DynamoDB 控制台或调度程序 CLI 创建的计划中使用由管理的时段。

在部署 AWS 实例计划程序中心堆栈时，该解决方案创建了一个 Amazon DynamoDB 表，其中包含多个示例时段和计划，您可将其作为参考来创建自己的自定义时段和计划。要在 DynamoDB 中创建计划，请修改配置表中的一个计划 (ConfigTable) 或创建一个新计划。要使用 CLI 创建计划，请先[安装计划程序 CLI](scheduler-cli-4.md#install-the-scheduler-cli)，然后使用[可用命令](scheduler-cli-4.md#available-commands)。

**注意**  
有关如何使用 IaC、DynamoDB 和 InstanceScheduler CLI 创建多个示例计划的示例，请参阅示例计划。[示例计划](sample-schedules.md)

此部分提供有关如何使用、监控和更新解决方案的说明与参考，以及问题排查和支持信息。

## 为实例添加计划标签
<a name="tag-instances-for-scheduling"></a>

部署 AWS CloudFormation 模板时，您为解决方案的*自定义标签定义了名称（标签密钥）*。要让 AWS 实例计划程序识别 Amazon EC2 或 Amazon RDS 实例，该实例上的标签键必须与此自定义标签键匹配。因此，请务必统一且正确地将标签应用于所有适用实例。在使用该解决方案时，您仍可对实例使用现有的[标签最佳实践](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html)。有关更多信息，请参阅[标记 Amazon EC2 资源](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)和[为 Amazon RDS 资源添加标签](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)。

在 AWS 管理控制台上，可使用[标签编辑器](https://console.aws.amazon.com/resource-groups/tag-editor/)一次性为多个资源应用或修改标签。您也可以在控制台中手动应用和修改标签。

标记资源后不久，Instance Scheduler 将对该资源应用一个 IS-ManagedBy 标签，以表明该资源现在正由调度器管理。您可以查找此标签以确认该资源已正确注册以进行调度。

**注意**  
特别是 Auto Scaling 群组，如果计划标签在创建时已经存在，例如通过 AWS、Terraform CloudFormation、AWS CDK 或 AWS 创建群组时，这也适用。CLI/SDKInstance Scheduler 会检测新组并将其注册以进行调度，之后无需您重新应用标签。

### 设置标签值
<a name="setting-the-tag-value"></a>

将标签应用于实例时，请使用您在初始配置期间定义的标签键（默认情况下，标签键为 Schedule），并将标签值设置为需应用于实例的计划的名称。如果您想更改标签键，可以通过[更新解决方案参数](update-the-solution.md)来实现。

**注意**  
对于 Amazon RDS 实例，标签值的长度可以在 1 到 256 个 Unicode 字符之间，并且不能带有前缀 aws:。该字符串只能包含 Unicode 字母、数字、空格、“\_”、“.”、“/”、“=”、“''”、“-”的集合（Java 正则表达式：“^([\\\\p{L}\\\\p{Z}\\\\p{N}\_.:/=\\\\-]\*)$”)。有关更多信息，请参阅[为 Amazon RDS 资源添加标签](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)。

### 带加密的 EBS 卷的 EC2 实例
<a name="ec2-instances-with-encrypted-ebs-volumes"></a>

如果您的 EC2 数据库实例使用客户管理的 KMS 密钥加密了 EBS 卷，则必须向实例调度器角色授予 KMS:CreateGrant权限才能启动这些实例。有关更多信息，请参阅[加密的 EC2 EBS 卷](security-1.md#encrypted-ec2-ebs-volumes)。

### 在许可证管理器中管理的 EC2 实例
<a name="ec2-instances-managed-in-license-manager"></a>

如果您的 EC2 实例是在 AWS 许可证管理器中管理的，则必须向实例调度器角色授予相应的许可证管理者权限，才能启动和停止这些实例。有关更多信息，请参阅 [ EC2 许可证管理器](security-1.md#ec2-license-manager)。