更新此解决方案 - AWS 实例计划程序

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

更新此解决方案

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

  1. 登录 AWS CloudFormation 控制台,在安装您的 Hub 堆栈 account/region 的地方instance-scheduler-on-aws,选择并选择更新堆栈

  2. 选择直接更新

  3. 选择替换现有模板

  4. 指定模板下:

    • 选择 Amazon S3 URL

    • 复制最新模板的链接。

    • 将链接粘贴到 Amazon S3 URL 框中。

    • 验证 Amazon S3 URL 文本框中显示了正确的模板 URL,然后选择下一步。再次选择下一步

  5. 参数下,查看模板的参数并根据需要进行修改(有关任何所需的参数更新,请参阅下面的重大更改列表)。有关每个参数的详细信息,请参阅步骤 1. 启动实例计划程序堆栈

  6. 选择下一步

  7. 配置堆栈选项页面上,请选择下一步

  8. 审核页面上,审核并确认设置。选中确认模板将创建 AWS Identity and Access Management(AWS IAM)资源的复选框。

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

  10. 选择更新堆栈以部署堆栈。

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

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

特定版本中的重大更改

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

可以在解决方案页面上查看完整的变更日志 GitHub

v1.5.0

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

更新到 v1.5.0 或更高版本时,您必须:

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

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

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

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

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

  2. 按照常规更新说明操作来更新所有远程堆栈,并更新以下参数:

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

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

    3. 中心账户 ID - 中心账户的账户 ID(应与之前保持一致)。

v3.0.0

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

与之前的版本相比,V3.0.0 包含以下重大更改:

  • 1.5.x 中的 “CloudWatch 指标” 功能已被运营见解仪表板所取代。

  • 中的每个计划指标 CloudWatch 已从中移出。Schedule/Service/MetricName → Schedule/Service/SchedulingInterval/MetricName

  • 所有现有指标将保留,但新指标现在将收集到新的命名空间下,并且可在解决方案控制面板中使用。

  • ARNs 用于 EC2 数据库实例上加密 EBS 卷的 KMS 密钥现在必须提供给相应账户中的 hub/spoke CloudFormation 堆栈。(有关更多信息,请参阅加密 EC2 EBS 卷。)

    • 如果您 EC2s 使用加密 EBS 卷进行计划,则需要将正在使用的 KMS 密钥 ARN 复制到 hub/spoke 堆栈参数中。

  • 计划服务的 CloudFormation 参数已被分解为每个支持的服务的单独参数。

    • 默认情况下,所有服务都将处于启用状态,并且可单独禁用。

  • 实例计划程序 3.0 无法与旧版本的实例计划程序 CLI 向后兼容。

    • 您需要更新到实例计划程序 CLI 的最新版本才能继续使用 CLI 命令。

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

v3.1.0

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

更新到 v3.1.0 或更高版本时:

  • 分支账户现在可以独立于中心账户声明预定区域。每个分支堆栈都必须使用 Region (s) 参数指定要在该账户中安排哪些区域

  • 现在,账户总数超过 40 的部署需要使用 AWS Organizations 模式。如果您的账户超过 40 个,并且没有使用 Organizations 模式,则必须在更新期间将其启用。

  • 如果您在 AWS License Manager 中管理了想要安排的 EC2 实例,请将许可证管理器配置 ARNs 添加到 hub/spoke CloudFormation堆栈中的许可证管理器配置 ARNs参数中。有关更多信息,请参阅 L EC2 icense Manager

  • 在资源被标记为进行调度后,该解决方案将自动对资源应用一个 IS-ManagedBy 标签,以表明它们正在由调度器管理。

  • 不再支持定时调整实例大小(period-name@size在计划中定义)。

  • 不再支持通过 SSM 参数(传递{param: ssm-param-name}到中心堆栈上的 accounts 参数)列出成员账户。部署时必须将所有可信账户传递到中心堆栈

  • 在调度期间,实例调度器需要在资源上添加最多 6 个唯一标签。与贵组织的其余标签策略结合使用时,请确保资源有足够的标签容量。

  • 按计划划分的指标已从中删除。 CloudWatch

  • 解决方案日志已重新打包为单独的管理和计划日志组,并针对使用 Log Insights 进行 CloudWatch 查询进行了优化。有关更多信息,请参阅监控解决方案

  • 不再可以通过 CloudFormation参数配置开始和停止标记。现在,该解决方案使用固定的标签名称和更丰富的信息来跟踪计划操作。