全部产品
Search
文档中心

弹性伸缩:实例刷新

更新时间:Oct 21, 2024

当您准备修改伸缩组中的伸缩配置或镜像,并希望应用这些更改时,可以利用实例刷新功能。伸缩组会基于新的伸缩配置或镜像来创建新实例,逐步替换原有的旧实例,以实现滚动更新伸缩组中正在运行的实例,确保服务实例平滑升级。

功能介绍

在您需要滚动更新伸缩组的实例配置和实例镜像时,可以通过实例刷新功能实现。在启用实例刷新任务后,伸缩组会自动根据您指定的期望配置,创建新实例逐步取代旧实例,实现平滑版本迭代。该功能有以下特点:

  • 滚动更新:该功能通过创建新的实例,释放旧的实例,实现滚动更新。

    与伸缩组滚动升级功能的区别:在使用滚动升级更新实例镜像时,不会释放实例,而是分批更换实例的镜像。
  • 允许伸缩组中实例数暂时超过或低于期望实例数量:伸缩组在执行实例刷新任务时,伸缩组允许组内实例数暂时超过或低于期望实例数,您可以根据需求,自行控制允许超过或低于限制的百分比。

  • 不影响伸缩活动:在实例刷新任务执行期间,伸缩活动可照常进行,其中,在触发扩容时,伸缩组会以实例刷新任务中指定的伸缩配置或镜像创建实例,保证伸缩组中实例的一致性。

    与滚动升级的区别:在执行滚动升级任务期间,伸缩组会暂停扩缩容流程。
  • 不影响服务中的实例:在实例刷新功能执行期间,不会将实例转为备用状态,而是在新实例创建完成后释放,实现更加平滑的过渡。

  • 自动修改伸缩配置:在实例刷新任务执行完成后,会自动选用期望配置为伸缩组中生效的伸缩配置,或直接修改生效配置中的镜像。

使用限制

  • ECS类型伸缩组支持实例刷新功能。

  • 实例回收模式为停机回收模式强制停机回收模式的伸缩组不支持该功能。

  • 当伸缩组中正在生效的伸缩配置中开启了“使用vCPU个数计算伸缩组容量”这一选项时,不支持实例刷新功能,同时,不支持期望配置开启“使用vCPU个数计算伸缩组容量”这一选项。

功能使用流程

场景一:仅需更新伸缩组中实例的镜像

当您仅需更新业务服务程序或者实例内部某些配置时,您可以参考以下流程实现。

  1. 准备新的实例镜像。

    首先,您需要准备包含您修改后实例的镜像,执行实例刷新时会使用该镜像创建新实例。创建自定义镜像,请参见使用实例创建自定义镜像

  2. 启动实例刷新任务。

    需在启动实例刷新任务时,指定期望镜像以及以何种方式滚动更新伸缩组中的实例。具体操作步骤与配置项说明,请参见启动实例刷新任务

  3. 监控实例刷新任务。

    在实例刷新任务执行期间,您可以持续关注任务执行的状态,在必要时可以采用暂停、取消、回滚等操作。具体操作,请参见实例刷新操作指引

场景二:更新伸缩组中的实例使用的伸缩配置

如果您需要更新伸缩配置中的某些选项并期望在伸缩组中的实例中生效,您可以参考以下流程实现。

  1. 创建新的伸缩配置。

    首先,您需要准备一个新的伸缩配置,执行实例刷新任务期间,会通过该配置创建新实例。创建伸缩配置,请参见创建伸缩配置(ECS实例)

    创建新的伸缩配置的目的:在创建实例刷新任务时,伸缩组会筛选出没有使用目标伸缩配置的实例进行刷新,因此,通过先修改伸缩配置再刷新的方式,可能会造成无法刷新实例的情况。若在刷新完成后出现意料之外情况时,更清晰的配置版本可以帮助您快速找到上一个可用配置并恢复。
  2. 启动实例刷新任务。

    需在启动实例刷新任务时,指定期望伸缩配置以及以何种方式滚动更新伸缩组中的实例。具体操作步骤与配置项说明,请参见启动实例刷新任务

  3. 监控实例刷新任务。

    在实例刷新任务执行期间,您可以持续关注任务执行的状态,在必要时可以采用暂停、取消、回滚等操作。具体操作,请参见实例刷新操作指引

实例刷新操作指引

操作入口:进入实例刷新功能页面

实例刷新的功能集中在伸缩组的实例刷新页面,您可以参考以下步骤进入该页面。

进入实例刷新功能页面

  1. 登录弹性伸缩控制台

  2. 在左侧导航栏中单击伸缩组管理

  3. 在顶部菜单栏处,选择地域。

  4. 伸缩组管理页,找到待操作伸缩组,单击伸缩组名称进入伸缩组详细页面。

  5. 单击实例刷新页签,进入实例刷新功能页。

    image

启动实例刷新任务

重要
  • 伸缩组同时刻只能有一个正在运行中的实例刷新任务。

  • 实例刷新任务执行期间无法修改伸缩组生效的伸缩配置。

  1. 在实例刷新功能页面,单击实例刷新按钮,弹出实例刷新配置页面。

  2. 在实例刷新配置页面,根据界面提示,完成容量策略配置期望配置

    如何配置容量策略配置

    该策略主要需要关注两个配置项:

    • 设置正常运行百分比 > 最小值:代表实例刷新期间,保持伸缩组中正常提供服务的容量占伸缩组容量的比例。

    • 设置正常运行百分比 > 最大值:实例刷新期间,伸缩组中实例可以超出伸缩组容量的比例。

    您可以根据您的需求,参考下面的场景进行配置。

    • 优先保证可用性

      可以选择先创建新实例,再释放旧实例,使用此选项,在执行实例刷新任务时,会先启动新实例,待实例准备就绪后,释放旧实例。您可以设置最大值,控制创建实例的速率与批次,同时控制额外的成本。

      例如需要分两批更新,每批更新一半的实例,可设置最大值为150,表示最多可以先创建超出伸缩组期望容量50%的实例,当这批实例准备就绪时,会在释放旧实例,直至伸缩组中运行的实例数满足期望实例数。您可以在当前伸缩组容量预估中预览临时最小、最大健康实例数。
    • 优先考虑成本

      可以选择释放旧实例的同时,创建新实例,使用此选项,在执行实例刷新任务时,释放旧实例和创建新实例会同时进行。您可以设置最小值,控制最小可用的实例数。

    • 平衡可用性与成本

      选择使用自定义策略,可以同时指定最小值最大值,实现根据您的需求,平衡成本和可用性。

  3. 检查配置后,单击启动实例刷新按钮,实例刷新任务开始执行。

暂停/恢复实例刷新任务

如果您在实例刷新任务执行期间发现问题,您可以暂停实例刷新任务,排查问题,确认是否继续进行实例刷新任务。暂停/恢复操作的位置如图所示。

重要

如果在暂停实例刷新任务之前,新创建的实例已经开始进行初始化或者加入伸缩组,暂停时实例会继续进行初始化和加入伸缩组。

暂停实例刷新任务

image

恢复实例刷新任务

image

回滚实例刷新任务

如果您在实例刷新任务执行期间发现问题,您可以直接回滚到之前使用的伸缩配置或镜像。回滚实例刷新任务的操作位置如图所示。

image

取消实例刷新任务

除了回滚之外,您可以取消正在进行实例刷新任务。取消实例刷新任务的操作位置如图所示。

重要

与回滚不同,任务取消后,会保留已经完成替换和扩容的新实例。

image