创建ECS伸缩组

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

伸缩组是具有相同应用场景、相同实例类型(即ECS或ECI实例)的一组实例集合。如果您需要根据业务变动需求与策略自动增加或减少指定类型的ECS实例数量,您可以参考本文档创建ECS伸缩组。

操作步骤

在操作之前,您需要先明确您创建伸缩组的方式,阿里云提供多种创建伸缩组的方式。您可以根据您的实际情况,参考以下指引快速创建伸缩组。

方式一:通过启动模板创建伸缩组

您期望通过现有启动模板创建伸缩组,可以参考以下步骤完成伸缩组的创建。

重要

请在操作之前,确保您已有实例启动模板。创建实例启动模板的操作,请参见创建实例启动模板

  1. 进入创建伸缩组页面。

    1. 登录弹性伸缩控制台

      说明

      如果您是第一次使用弹性伸缩,请根据界面提示开通弹性伸缩的权限。具体操作,请参见服务关联角色

    2. 在顶部菜单栏处,选择地域。
    3. 在左侧导航栏中,单击伸缩组管理
    4. 伸缩组管理页面,单击创建伸缩组按钮进入创建伸缩组页面。

  2. 单击顶部通过表单创建页签,根据界面提示完成伸缩组的配置。

    您可以参考以下必选配置项说明,快速基于启动模板创建ECS伸缩组,更多配置项说明,请参见配置项说明

    必选配置项说明

    配置项

    说明

    伸缩组名称

    根据界面提示完成伸缩组名称的配置。

    伸缩组类型

    选择创建的伸缩组内的实例类型,选择ECS

    说明

    本指南用于创建ECS伸缩组,如需创建ECI伸缩组,请参见创建ECI伸缩组

    组内实例配置信息来源

    弹性伸缩使用该配置创建实例。选择启动模板

    选择启动模板

    根据提示,选择您已经创建的启动模板。您也可以根据提示创建新的启动模板

    选择模板版本

    您可以根据您的需求选择模板的版本。

    扩展启动模板属性

    您可以通过扩展启动模板配置选择多个实例规格。若需要为实例规格指定权重,请参见基于启动模板实现多规格配置以提升扩容成功率

    组内最小实例数

    伸缩组实例内实例数量的下限,当实例数量低于这个边界时,伸缩组会尝试自动添加实例。

    组内最大实例数

    伸缩组实例内实例数量的上限,当实例数量低于这个边界时,伸缩组会自动移出实例。

    默认冷却时间

    单位为秒,伸缩组发生伸缩活动后的默认冷却时间。您可以使用默认设置300秒,更多说明,请参见冷却时间

    专有网络

    网络类型专有网络时,支持此配置,在您选择专有网络后,您伸缩组下的所有实例都将在该专有网络下创建。

    警告

    在伸缩组创建后,专有网络不可变更。

    选择交换机

    在您选择专有网络后,您可以选择您专有网络下的交换机。您伸缩组下的所有的实例将在该交换机下创建。

    重要

    推荐您选择多个可用区的交换机,单一可用区如果库存不足会产生库存失败的情况,您可以通过切换扩缩容策略来选择伸缩组中实例在不同可用区的分布。

  3. 单击创建按钮完成伸缩组的创建。

说明

在您通过启动模板创建伸缩组后,如需修改伸缩组使用的启动模板,具体操作,请参见管理启动模板

方式二:基于已有实例的配置创建伸缩组

您期望通过现有实例的配置创建伸缩组,您可以参考以下步骤完成伸缩组的创建。

  1. 进入创建伸缩组页面。

    1. 登录弹性伸缩控制台

      说明

      如果您是第一次使用弹性伸缩,请根据界面提示开通弹性伸缩的权限。具体操作,请参见服务关联角色

    2. 在顶部菜单栏处,选择地域。
    3. 在左侧导航栏中,单击伸缩组管理
    4. 伸缩组管理页面,单击创建伸缩组按钮进入创建伸缩组页面。

  2. 单击顶部通过表单创建页签,根据界面提示完成伸缩组的配置。

    您可以参考以下必选配置项说明,快速基于已有实例的配置创建ECS伸缩组,更多配置项说明,请参见配置项说明

    必选配置项说明

    配置项

    说明

    伸缩组名称

    根据界面提示完成伸缩组名称的配置。

    伸缩组类型

    选择创建的伸缩组内的实例类型,选择ECS

    说明

    本指南用于创建ECS伸缩组,如需创建ECI伸缩组,请参见创建ECI伸缩组

    组内实例配置信息来源

    选择选择已有实例。伸缩组会以该实例的配置进行新实例的创建。

    选择已有实例

    根据提示,选择您已经有的实例,弹性伸缩会自动提取该实例的基础配置信息,创建一个默认伸缩配置。

    重要

    提取实例的基础配置包括:实例规格网络类型安全组基础镜像等基础配置,不包括登录密码标签

    组内最小实例数

    伸缩组实例内实例数量的下限,当实例数量低于这个边界时,伸缩组会尝试自动添加实例。

    组内最大实例数

    伸缩组实例内实例数量的上限,当实例数量低于这个边界时,伸缩组会自动移出实例。

    默认冷却时间

    单位为秒,伸缩组发生伸缩活动后的默认冷却时间。您可以使用默认设置300秒,更多说明,请参见冷却时间

    专有网络

    网络类型专有网络时,支持此配置,在您选择专有网络后,您伸缩组下的所有实例都将在该专有网络下创建。

    说明

    专有网络会根据您选择的实例自动配置。

    警告

    在伸缩组创建后,专有网络不可变更。

    选择交换机

    在您选择专有网络后,您可以选择您专有网络下的交换机。您伸缩组下的所有的实例将在该交换机下创建。

    说明

    交换机会根据您选择的实例自动配置。您也可以修改或者扩充交换机。

    重要

    推荐您选择多个可用区的交换机,单一可用区如果库存不足会产生库存失败的情况,您可以通过切换扩缩容策略来选择伸缩组中实例在不同可用区的分布。

  3. 单击创建按钮完成伸缩组的创建。

说明
  • 基于已有ECS实例创建伸缩组时,会自动为伸缩组创建一个伸缩配置,如需管理伸缩配置,请参见管理伸缩配置

  • 如果您希望立即使伸缩组开始工作,请启用伸缩组。具体操作,请参见启用或停用伸缩组

方式三:从零开始创建伸缩组

您期望稍后创建伸缩组的实例配置来源,您可以参考以下步骤完成伸缩组的创建。

  1. 进入创建伸缩组页面。

    1. 登录弹性伸缩控制台

      说明

      如果您是第一次使用弹性伸缩,请根据界面提示开通弹性伸缩的权限。具体操作,请参见服务关联角色

    2. 在顶部菜单栏处,选择地域。
    3. 在左侧导航栏中,单击伸缩组管理
    4. 伸缩组管理页面,单击创建伸缩组按钮进入创建伸缩组页面。

  2. 单击顶部通过表单创建页签,根据界面提示完成伸缩组的配置。

    您可以参考以下必选配置项说明,快速从零开始创建ECS伸缩组,更多配置项说明,请参见配置项说明

    必选配置项说明

    配置项

    说明

    伸缩组名称

    根据界面提示完成伸缩组名称的配置。

    伸缩组类型

    选择创建的伸缩组内的实例类型,选择ECS

    说明

    本指南用于创建ECS伸缩组,如需创建ECI伸缩组,请参见创建ECI伸缩组

    组内实例配置信息来源

    选择从零开始创建。您可以先创建伸缩组,再配置组内实例配置信息来源。具体操作说明,请参见实例配置来源概述

    组内最小实例数

    伸缩组实例内实例数量的下限,当实例数量低于这个边界时,伸缩组会尝试自动添加实例。

    组内最大实例数

    伸缩组实例内实例数量的上限,当实例数量低于这个边界时,伸缩组会自动移出实例。

    默认冷却时间

    单位为秒,伸缩组发生伸缩活动后的默认冷却时间。您可以使用默认设置300秒,更多说明,请参见冷却时间

    专有网络

    网络类型专有网络时,支持此配置,在您选择专有网络后,您伸缩组下的所有实例都将在该专有网络下创建。

    警告

    在伸缩组创建后,专有网络不可变更。

    选择交换机

    在您选择专有网络后,您可以选择您专有网络下的交换机。您伸缩组下的所有的实例将在该交换机下创建。

    重要

    推荐您选择多个可用区的交换机,单一可用区如果库存不足会产生库存失败的情况,您可以通过切换扩缩容策略来选择伸缩组中实例在不同可用区的分布。

  3. 单击创建按钮完成伸缩组的创建。

说明

当您选择从零开始创建且伸缩组创建完成后,紧接着您可以根据界面提示,创建伸缩配置。您也可以稍后创建伸缩配置或者为伸缩组设置启动模板。具体操作,请参见管理启动模板创建伸缩配置(ECS实例)

配置项说明

伸缩组基本信息配置

配置项

说明

伸缩组名称

2~64个字符,以大小写字母、数字或中文开头,可包含半角句号(.)、下划线(_)和短划线(-)。

伸缩组类型

指定伸缩组内提供计算能力的实例的类型,弹性伸缩会根据该配置为伸缩组扩缩容对应的实例。

  • ECS:伸缩组内的实例都为ECS实例。

  • ECI:伸缩组内的实例都为ECI实例。

组内实例配置信息来源

弹性伸缩使用该配置创建实例。伸缩组支持以下实例配置信息来源类型:

  • 启动模板:包含除了密码以外的任意配置信息,如密钥对、RAM角色、实例类型和网络设置等。仅伸缩组类型ECS时,支持配置该项。

    单一实例规格可能会因库存不足导致扩容失败,您可以通过设置扩展启动模板配置选择多个实例规格提升扩容成功率,详情请参见基于启动模板实现多规格配置以提升扩容成功率

  • 选择已有实例:您需要选择已创建的实例,弹性伸缩会自动提取该实例的基础配置信息,创建一个默认伸缩配置。

    重要
    • 从ECS实例提取的伸缩配置包括该ECS实例的实例规格、网络类型、安全组、基础镜像等基础配置,不包括登录密码、标签。其中,基础镜像是已有实例使用的基础镜像,不包括该实例的数据信息,如应用程序。如果您想使伸缩配置包括该实例的所有系统配置和数据信息,请创建该实例的自定义镜像。

  • 从零开始创建:先不指定自动创建实例的模板。等伸缩组创建完成后,再继续创建伸缩配置或指定启动模板。伸缩组类型不同,创建伸缩配置的具体操作不同,更多信息,请参见创建伸缩配置(ECS实例)创建伸缩配置(ECI实例)

说明

ECS控制台入口基于实例创建伸缩组时,弹性伸缩自动填入组内实例配置信息来源、网络类型相关的信息,请保持默认,无需修改。

暂停的流程

方便您在执行某些操作前主动暂停指定的流程,例如暂停健康检查流程后再去停止实例,避免实例被视为不健康而自动移出伸缩组。支持暂停的流程如下:

  • 扩容流程:伸缩组拒绝所有扩容动作。

  • 缩容流程:伸缩组拒绝所有缩容动作。

  • 健康检查:暂停将实例标记为不健康状态,并暂停移出不健康的实例。

  • 定时任务:到定时任务的执行时间后,不会触发关联的伸缩规则。

  • 报警任务:报警任务进入报警状态后,不会触发关联的伸缩规则。

更多信息,请参见暂停和恢复伸缩组流程

开启伸缩组保护

开启伸缩组保护后,您不能在弹性伸缩控制台或者通过API删除该伸缩组,有效避免误删除伸缩组。

实例的健康检查

开启健康检查后,伸缩组会定期检查实例的运行状态,如果发现一台实例未处于运行中状态,则判定为不健康并移出该实例。更多信息,请参见伸缩组内实例的生命周期。支持的配置项如下:

  • 不开启:选此选项停用此功能。

  • 实例状态检查:是否对伸缩组内的实例状态做健康检查。

  • 负载均衡健康检查:开启该选项后会根据ALB或NLB的负载均衡健康检查结果进行健康检查。(不支持传统型负载均衡CLB)

实例最大生命时长(秒)

实例在伸缩组中存活的最大时间,当伸缩组中存在超过最大生命时长的实例时,伸缩组会自动创建新实例来替换该实例。

说明

伸缩组类型ECS时,支持设置该参数。

组内实例数配置

配置项

说明

组内最小实例数

当前实例数量低于下限时,伸缩组会自动添加实例,使得伸缩组内的实例数量等于下限。

组内最大实例数

当前实例数量超过上限时,伸缩组会自动移出实例,使得伸缩组内的实例数量等于上限。移出实例的策略的说明,请参见设置伸缩组的实例终止策略

组内期望实例数

填写组内期望实例数即可开启期望实例数功能,伸缩组会自动将实例数量维持在期望实例数。更多信息,请参见期望实例数

组内实例扩缩容设置

重要

ECI伸缩组不支持修改扩缩容策略实例移出策略实例回收模式,ECI伸缩组默认采用的配置如下:

  • 扩缩容策略优先级策略

  • 实例移出策略:先筛选最早伸缩配置对应的实例,再移出最早创建的实例

  • 实例回收模式释放模式

配置项

说明

扩缩容策略

伸缩组默认会根据您配置的交换机的顺序(优先级策略),进行伸缩组的伸缩活动,您可以通过修改扩缩容策略来实现其他策略,伸缩组为您预设了几种伸缩策略,具体策略说明如下。

重要

伸缩组类型ECS,且网络类型专有网络时,支持修改该配置,当伸缩组类型ECI时,默认扩缩容策略优先级策略

  • 优先级策略(默认策略)。

    根据您定义的虚拟交换机扩缩容。当优先级较高的虚拟交换机所在可用区无法创建实例时,自动在下一优先级的虚拟交换机的可用区创建实例。

  • 均衡分布策略

    如果您期望在扩缩容后,保持伸缩组在可用区之间分布均衡从而达成多可用区容灾的效果,您可以采用本策略。如果由于库存不足等原因导致可用区之间ECS实例的数量不均衡,您可以执行再均衡分布操作来平衡ECS实例的分布情况。具体操作,请参见ECS实例再均衡分布

  • 成本优化策略

    当成本在您的决策中优先级比较高,您可以使用成本优化策略。使用该策略,在伸缩活动发生时,会按照实例的vCPU单价从低到高进行尝试创建,当伸缩配置设置了抢占式计费方式的多实例规格时,优先创建对应抢占式计费实例,当抢占式计费实例规格由于库存等原因都无法创建时,自动尝试以按量付费的方式创建,在缩容活动发生时,则会优先移出vCPU单价最高的实例。

  • 自定义组合策略

    使用组合方式自定义容量分布策略。您可使用该策略调整伸缩组内按量实例和抢占式实例的比例,可用区间的容量均衡以及实例规格的选择。

如何配置,请参见配置扩缩容策略

实例移出策略

当需要从伸缩组移出实例时,会先按照策略筛选实例,如果筛选后仍有多台实例满足要求,则随机移出一台。仅伸缩组类型ECS时支持该配置,配置项说明如下:

  • 最早伸缩配置对应的实例:筛选添加时间最早的伸缩配置对应的实例。手动添加的实例没有关联伸缩配置或启动模板,因此不会首先选出手动添加的实例。如果已移出全部关联的实例,仍需要继续移出实例,则随机移出手动添加的实例。

    重要
    • 此参数中,伸缩配置泛指实例配置来源里的伸缩配置和启动模板。

    • 该选项中的时间与启动模板的版本无关,仅与该模板在伸缩组设置的时间有关。例如:

      在伸缩组中先使用了版本2的启动模板,后来伸缩组将使用的启动模板版本回退到版本1,此情况下版本2的启动模板是最早伸缩配置

  • 最早创建的实例:筛选创建时间最早的实例。

  • 最新创建的实例:筛选创建时间最新的实例。

  • 自定义策略:用户自定义实例移出策略,根据函数计算服务名、版本和函数名,筛选出符合自定义策略的实例。

实例移出策略最早伸缩配置对应的实例自定义策略时,可能会出现多个满足条件的实例,您可以通过设置第二段策略来进一步筛选要移出的实例。第二段策略说明如下:

  • --无策略--:不进行第二段筛选。

  • 最早创建的实例:在第一段筛选出的实例中,再筛选创建时间最早的实例。

  • 最新创建的实例:在第一段筛选出的实例中,再筛选创建时间最新的实例。

说明

伸缩组移出实例还受伸缩组的扩缩容策略影响。相关说明,请参见设置伸缩组的实例终止策略

实例回收模式

在移出实例后,伸缩组会通过该配置来对实例进行回收操作。具体回收模式如下:

说明

伸缩组类型ECS,且网络类型专有网络时,支持配置该项。ECI伸缩组默认回收模式为释放模式

  • 释放模式:移出的实例被释放,无资源被保留。在弹性扩张时,弹性伸缩创建新的实例加入伸缩组。

  • 停机回收模式:移出的ECS实例被停用,并触发节省停机效果,部分资源被保留并计费。在弹性扩张时,弹性伸缩优先将停用的ECS实例加入伸缩组,再根据扩张数量决定是否创建新的ECS实例加入伸缩组。该模式可以提高扩缩容的效率,更多信息,请参见选择节省停机模式提高扩缩容效率

    重要
    • 请不要在实例中保留应用数据、日志等,避免实例回收后数据丢失的风险。

    • 停用的实例可能会被释放:

      • 如果您手动减少伸缩组的最大实例数,使现最大实例数比伸缩组内各状态(包括停用中)的实例总数小,弹性伸缩优先释放停用的ECS实例。

      • 因为库存不足或者账号欠费等原因,停用的实例在加入伸缩组时可能会失败,失败后该实例会被释放。

    • 停机回收模式的作用受按量付费实例节省停机模式的影响,更多信息,请参见节省停机模式的“启用条件”、“适用资源”和“触发效果”部分。

  • 强制释放模式:选择该回收模式,在弹性收缩活动中,系统会强制释放处于运行中Running)的实例。

    警告

    强制释放实例相当于断电操作,会导致该实例内存以及存储中的临时数据被擦除,数据无法恢复请您谨慎选择

  • 强制停机回收模式:选择该回收模式,在弹性收缩活动时,强制关机处于运行中Running)的实例。

    警告

    强制关机相当于断电操作,会导致该实例内存以及存储中的临时数据被擦除,数据无法恢复请您谨慎选择

网络配置

重要

组内实例配置信息来源启动模板选择已有实例时,会自动按照启动模板或者选择的实例自动填充网络类型专有网络选择交换机等配置,您也可以根据需求,重新配置伸缩组网络。

配置项

说明

网络类型

您可以根据您的需求选择您伸缩组内实例的网络类型,支持专有网络经典网络

警告

在伸缩组创建后,网络类型不可变更。

重要

推荐您选择专有网络专有网络伸缩组支持更灵活配置伸缩组,如更灵活的伸缩策略、实例回收模式、关联负载均衡器ALB和NLB。更多专有网络的说明,请参见什么是专有网络

专有网络

网络类型专有网络时,支持此配置,在您选择专有网络后,您伸缩组下的所有实例都将在该专有网络下创建。

警告

在伸缩组创建后,专有网络不可变更。

选择交换机

在您选择专有网络后,您可以选择您专有网络下的交换机。您伸缩组下的所有的实例将在该交换机下创建。

重要

推荐您选择多个可用区的交换机,单一可用区如果库存不足会产生库存失败的情况,如果您使用ECS伸缩组,您还可以通过切换扩缩容策略来选择伸缩组中实例在不同可用区的分布。

关联其他云服务

配置项

说明

关联RDS、Redis、MongoDB数据库实例

当您伸缩组的实例需要访问RDS、Redis、MongoDB数据库时,您可能需要自动将伸缩组中的ECS实例或ECI实例的内网IP加入该数据库实例访问的白名单,此时,您可以通过该配置来达到此效果。

说明
  • 一个伸缩组支持关联的数据库实例数量有限。如需查看或手动申请提升配额值,请前往配额中心

  • 目前该配置项仅支持关联RDS实例,如果您需要关联其他云数据库,请参见为伸缩组中的实例关联云数据库

关联传统型负载均衡CLB(原SLB)

伸缩组关联CLB实例后,加入伸缩组的实例会自动添加为CLB实例的后端服务器,处理来自CLB实例转发的访问请求。

您可以指定实例需要加入的服务器组,支持以下两种服务器组:

  • 默认服务器组:用来接收前端请求的实例,如果监听没有设置虚拟服务器组或主备服务器组,默认将请求转发至默认服务器组中的实例。

  • 虚拟服务器组:当您需要将不同的请求转发到不同的后端服务器上时,或需要通过域名和URL进行请求转发时,可以选择使用虚拟服务器组。

如果您同时指定了默认服务器组和多个虚拟服务器组,实例会同时添加至这些服务器组中。

说明

一个伸缩组支持关联的CLB实例和虚拟服务器组数量有限。如需查看或手动申请提升配额值,请前往配额中心

关联负载均衡ALB、NLB服务器组

重要

网络类型专有网络时,支持配置该项。

伸缩组关联ALB、NLB服务器组后,加入伸缩组的实例会自动添加为ALB、NLB服务器组的后端服务器,处理ALB、NLB实例分发的访问请求。您还需指定后端服务器的端口和权重,权重默认为50。权重越高,实例将被分配到越多的访问请求。如果权重为0,则实例不会收到访问请求。

如果您为伸缩组关联了多个ALB、NLB服务器组,加入伸缩组的实例会同时添加至这些服务器组中。

说明

一个伸缩组支持关联的ALB、NLB服务器组数量有限。如需查看或手动申请提升配额值,请前往配额中心

其他配置

配置项

说明

标签

添加标签便于搜索和聚合伸缩组,更多信息,请参见标签

说明

此处的标签适用于伸缩组,如果您需要为伸缩组内实例添加标签,请在伸缩配置或启动模板中设置。

扩容时需要传播给实例的标签

为伸缩组添加一个或多个标签后,您可以继续选择扩容时需要传播给伸缩组内实例的一个或多个标签。

添加已有实例

如果伸缩组类型ECS,且组内实例配置信息来源启动模板选择已有实例时,支持配置该项。

如果同时设置期望实例数并添加已有实例,期望实例数会自动增加。例如,创建伸缩组时设置期望实例数为1,并添加2台已有实例,伸缩组创建完成后,2台已有实例添加至伸缩组,然后期望实例数变为3。

您可以将已有实例的生命周期托管给伸缩组,选择将实例的生命周期托管给伸缩组复选框即可。

  • 如果托管给伸缩组,添加的已有实例因处于不健康状态等原因被自动移出伸缩组,或者被手动移出伸缩组时,会被自动释放。

  • 如果未托管给伸缩组,添加的已有实例移出伸缩组时,不会被自动释放。

说明

支持将包年包月实例添加至伸缩组,但不支持托管包年包月实例。

设置消息接收通知

在伸缩活动成功、失败或者被拒绝时,弹性伸缩支持通过短信、站内信和邮件发送消息通知。更多信息,请参见设置消息接收通知

资源组

通过选择资源组,对伸缩组资源进行分组管理,实现资源的隔离显示和权限控制。更多信息,请参见通过资源组精细化管理伸缩组

同步伸缩组报警规则到云监控

该功能仅支持创建伸缩组时开启或关闭。开启该功能后,系统将为伸缩组新建并关联一个云监控应用分组,伸缩组上的报警规则将在云监控控制台同步显示。