

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

# 更新此解决方案
<a name="update-the-solution"></a>

实例调度器旨在使用 AWS 安全地就地更新。CloudFormation执行此操作的一般过程如下：

1. 登录 [AWS CloudFormation 控制台](https://console.aws.amazon.com/cloudformation/)，在安装您的 Hub 堆栈 account/region 的地方`instance-scheduler-on-aws`，选择并选择**更新堆栈**。

1. 选择**直接更新**。

1. 选择**替换现有模板**。

1. 在**指定模板**下：
   + 选择 **Amazon S3 URL**。
   + 复制[最新模板](aws-cloudformation-templates.md)的链接。
   + 将链接粘贴到 **Amazon S3 URL** 框中。
   + 验证 **Amazon S3 URL** 文本框中显示了正确的模板 URL，然后选择**下一步**。再次选择**下一步**。

1. 在**参数**下，查看模板的参数并根据需要进行修改（有关任何所需的参数更新，请参阅下面的重大更改列表）。有关每个参数的详细信息，请参阅[步骤 1. 启动实例计划程序堆栈](step-1-launch-the-instance-scheduler-hub-stack.md)。

1. 选择**下一步**。

1. 在**配置堆栈选项**页面上，请选择**下一步**。

1. 在**审核**页面上，审核并确认设置。选中确认模板将创建 AWS Identity and Access Management（AWS IAM）资源的复选框。

1. 选择**查看更改集**并验证更改。

1. 选择**更新堆栈**以部署堆栈。

您可以在 AWS CloudFormation 控制台的 “状态” 列中查看堆栈的**状态**。您将在几分钟后收到 **UPDATE\_COMPLETE** 状态。

对每个Spoke账户中的 aws-instance-scheduler-remote堆栈重复上述步骤。

## 特定版本中的重大更改
<a name="breaking-changes"></a>

更新解决方案时，您可以直接从任何旧版本升级到任何新版本，而不会丢失关键数据或中断日程安排。有关每个主要版本中的行为和重大更改的列表，请参阅下文。

可以在[解决方案页面上查看完整的变更日](https://github.com/aws-solutions/instance-scheduler-on-aws/releases)志 GitHub 

## v1.5.0
<a name="updating-to-v1.5.x"></a>

版本 1.5.0 取代了提供跨账户计划角色 ARNs 列表的需要，而是能够通过您的 AWS 组织自动管理这些角色。如果您不想使用 AWS Organizations，则可以改为提供分支账户 IDs 列表，实例调度器将为您管理计划角色。

更新到 v1.5.0 或更高版本时，您必须：

1. 按照常规更新说明操作来更新中心模板，并更新以下参数：

   1. 为解决方案选择一个唯一的命名空间。

   1. 选择后续是否**使用 AWS Organizations** 来管理分支账户注册。

      1. 如果您选择了 “**是”，**请将**组织 ID/Remote 账户 IDs**替换为您的 AWS 组织的 ID。

      1. 如果您选择了 “**否**”，请将 O **rganiziD/ RemoteAccount IDs** 替换为以逗号分隔的 Spoke 账户账户列表 IDs 。

1. 按照常规更新说明操作来更新所有远程堆栈，并更新以下参数：

   1. 命名空间 - 与您为中心账户选择的命名空间相同。

   1. 使用 AWS Organizations - 与中心账户相同。

   1. 中心账户 ID - 中心账户的账户 ID（应与之前保持一致）。

## v3.0.0
<a name="updating-to-v3.x"></a>

v3.0.0 增加了对 EC2 自动缩放组的支持，并将解决方案的核心 lambda 函数拆分为单独的函数，这些函数具有专门的职责，从而为每个单独的函数提供更好的安全隔离。此版本还更新了调度日志行为，使其包含 SchedulingDecision “” 日志，以便更好地了解调度操作。

与之前的版本相比，V3.0.0 包含以下重大更改：
+ 1.5.x 中的 “CloudWatch 指标” 功能已被[运营见解](monitor-the-solution.md#operational-insights-dashboard)仪表板所取代。
+ 中的每个计划指标 CloudWatch 已从中移出。Schedule/Service/MetricName → Schedule/Service/SchedulingInterval/MetricName
+ 所有现有指标将保留，但新指标现在将收集到新的命名空间下，并且可在解决方案控制面板中使用。
+ 现在，必须将用于 EC2 数据库实例上的加密 EBS 卷的 KMS 密钥 ARN 提供给相应 hub/spoke CloudFormation 账户中的堆栈。（有关更多信息，请参阅[加密的 EC2 EBS 卷](security-1.md#encrypted-ec2-ebs-volumes)。）
  + 如果您 EC2s 使用加密 EBS 卷进行计划，则需要将正在使用的 KMS 密钥 ARN 复制到 hub/spoke 堆栈参数中。
+ 计划服务的 CloudFormation 参数已被分解为每个支持的服务的单独参数。
  + 默认情况下，所有服务都将处于启用状态，并且可单独禁用。
+ 实例计划程序 3.0 无法与旧版本的实例计划程序 CLI 向后兼容。
  + 您需要更新到实例计划程序 CLI 的最新版本才能继续使用 CLI 命令。

除上述更改外，“维护时段”表的架构已更新，并将在更新过程中完成替换。这将在更新到 v3.x 后的最初几分钟内，重置 EC2 维护时段的跟踪；在极少数情况下，可能会导致当前处于维护时段内的实例在更新后被过早停止。在重新生成此类数据后，计划操作将恢复正常。

## v3.1.0
<a name="updating-to-v3.1.x"></a>

v3.1.0 重构了解决方案的核心基础设施，以使用 AWS 标记事件来跟踪何时标记资源以进行调度。请确保贵组织的权限允许将这些标记事件从成员账户发送到您的中央中心账户。

更新到 v3.1.0 或更高版本时：
+ 分支账户现在可以独立于中心账户声明预定区域。每个分支堆栈都必须使用 Region **(s) 参数指定要在该账户中安排哪些区域**。
+ 现在，账户总数超过 40 的部署需要使用 AWS Organizations 模式。如果您的账户超过 40 个，并且没有使用 Organizations 模式，则必须在更新期间将其启用。
+ 如果您想安排在 AWS License Manager 中管理的 EC2 实例，请将许可证管理器配置 ARNs 添加到 hub/spoke CloudFormation堆栈中的**许可证管理器配置 ARNs**参数中。有关更多信息，请参阅 [EC2 License Manager](security-1.md#ec2-license-manager)。
+ 在资源被标记为进行调度后，该解决方案将自动对资源应用一个 IS-ManagedBy 标签，以表明它们正在由调度器管理。
+  *（在 v3.2.0 中恢复）*计划实例大小调整（在计划`period-name@size`中定义）已在 v3.1.0 中暂时移除，但已在 v3.2.0 及更高版本中重新实现。请参阅[实例类型](schedule-reference.md#instance-type)。
+ 不再支持通过 SSM 参数（传递`{param: ssm-param-name}`到中心堆栈上的 accounts 参数）列出成员账户。所有受信任的账户都必须在部署时传递到中心堆栈。
+ 在调度期间，实例调度器需要在资源上设置最多 6 个唯一标签。与贵组织的其余标签策略结合使用时，请确保资源有足够的标签容量。
+ 按计划划分的指标已从中删除。 CloudWatch
+ 解决方案日志已重新打包为单独的管理和计划日志组，并针对使用 Log Insights 进行 CloudWatch 查询进行了优化。有关更多信息[，请参阅监控解决方案](monitor-the-solution.md)。
+ 不再可以通过 CloudFormation参数配置开始和停止标记。现在，该解决方案使用固定标签名称和更丰富的信息来跟踪计划操作。

**重要**  
实例调度器在正常运行期间向托管资源写入最多 6 个唯一标签。确保您的标签管理策略（例如 AWS Config 规则、标签策略或自动修复）已配置为允许这些标签。有关标签的完整列表和重要的治理注意事项，请参阅[信息标签](monitor-the-solution.md#informational-tags)。