基于ECS实例创建伸缩组
更新时间:2020-04-17 15:21:46
如果您的业务负载经常有临时波动或者有固定的扩缩容需求,建议您通过弹性伸缩的伸缩组来实现自动扩缩容。基于已有ECS实例创建伸缩组后,系统会根据业务情况自动添加或减少一组具有相同配置的ECS实例。
前提条件
- 如果需要为伸缩组关联负载均衡实例,请确保满足以下条件:
- 如果需要为伸缩组关联RDS实例,请确保满足以下条件:
- 您持有一个或多个处于运行中状态的RDS实例,具体操作请参见什么是云数据库RDS。
- RDS实例和伸缩组必须位于同一地域。
背景信息
在基于ECS实例创建伸缩组时,不限制ECS实例的计费方式,包年包月实例、按量付费实例、抢占式实例均可以作为伸缩配置来源。
伸缩组创建完成后,支持自动创建ECS实例和手动添加已有ECS实例。自动创建ECS实例时,只支持按量付费、抢占式实例两种计费方式,但手动添加已有ECS实例时不限制计费方式。
更多伸缩组使用限制信息,请参见使用限制。
操作步骤
- 登录ECS管理控制台。
- 在左侧导航栏,单击实例与镜像 > 实例。
- 在顶部状态栏左上角处,选择地域。
- 找到用作伸缩配置来源ECS实例,在操作区域,单击更多 > 部署与弹性 > 新建弹性伸缩。
- 在创建伸缩组页面,查看伸缩配置来源。
基于一台ECS实例创建伸缩组时,系统自动设置来源类型并选择该ECS实例,无需修改。
- 设置伸缩组基本信息。
- 填写伸缩组名称。
- 填写组内实例数。
数量类型 说明 组内最大实例数 当前ECS实例数量超过上限时,弹性伸缩会自动移出ECS实例,使得伸缩组内的ECS实例数量等于上限。 组内最小实例数 当前ECS实例数量低于下限时,弹性伸缩会自动添加ECS实例,使得伸缩组内的ECS实例数量等于下限。 组内期望实例数 伸缩组会自动将ECS实例数量维持在期望实例数,更多说明请参见期望实例数。 - 填写默认冷却时间。
单位为秒,伸缩组发生伸缩活动后的默认冷却时间。在冷却时间内,伸缩组会拒绝由云监控报警任务触发的伸缩活动请求,但其他类型任务触发的伸缩活动可以绕过冷却时间立即执行,例如手动执行任务、定时任务。
- 可选: 选择实例移出策略。
当需要从伸缩组移出ECS实例并且有多种选择时,按该策略选择需要移出的ECS实例,支持两段设置。如果按策略筛选后仍有多台ECS实例满足要求,则随机移出一台。
设置类型 设置选项 说明 第一段设置 最早伸缩配置对应的实例 此处伸缩配置泛指组内实例配置信息来源,包括伸缩配置和启动模板。 筛选添加时间最早的伸缩配置和启动模板对应的实例。手动添加的实例没有关联伸缩配置或启动模板,因此不会首先选出手动添加的实例。如果已移出全部关联的实例,仍需要继续移出实例,则随机移出手动添加的实例。
启动模板的版本号低不代表添加时间早,例如在创建伸缩组时选择实例启动模板lt-foress的版本2,然后修改伸缩组,选择实例启动模板lt-foress的版本1,则对伸缩组来说,启动模板lt-foress的版本2是最早的。
最早创建的实例 筛选创建时间最早的实例。 最新创建的实例 筛选创建时间最新的实例。 第二段设置 无策略 不进行第二段筛选。 最早创建的实例 在第一段筛选出的实例中,再筛选创建时间最早的实例。 最新创建的实例 在第一段筛选出的实例中,再筛选创建时间最新的实例。 默认先筛选最早伸缩配置对应的实例,在结果中再筛选并移出最早创建的实例。
- 可选: 设置伸缩组删除保护。
开启伸缩组保护后,您不能在控制台或者通过API删除该伸缩组,有效避免误删除伸缩组。
- 添加标签。
添加标签便于搜索和聚合伸缩组,更多标签介绍请参见标签概述。
- 完成组内实例扩缩容配置。
- 查看网络类型。
注意 请保持自动选择的网络类型,手动选择不同的网络类型会导致伸缩组创建失败。
网络类型 说明 专有网络 - 创建伸缩配置时,只能选择支持专有网络的实例规格。
- 手动添加已有ECS实例时,只能选择同一专有网络中的实例。
经典网络 - 创建伸缩配置时,只能选择支持经典网络的实例规格。
- 手动添加已有ECS实例时,只能选择经典网络实例。
- 可选: 如果网络类型为专有网络,配置专有网络相关选项。
- 专有网络
说明 请保持自动选择的专有网络,手动选择不同的专有网络会导致伸缩组创建失败。
- 交换机
一个交换机只能属于一个可用区,您可以指定多个属于不同可用区的交换机,从而达到多可用区的效果。多可用区可以规避单可用区库存不足的风险,提高扩容成功率。
- 多可用区扩缩容策略
注意 伸缩组创建完成后,不支持修改多可用区扩缩容策略。
策略名称 说明 优先级策略 先选择的交换机优先级高。当伸缩组无法在优先级较高的交换机所在可用区创建ECS实例时,会自动使用下一优先级的交换机创建ECS实例。 均衡分布策略 在伸缩组关联多个交换机且交换机分布在两个以上可用区时生效,支持在交换机所在的可用区之间均衡分布ECS实例。如果由于库存不足等原因导致可用区之间ECS实例的数量不均衡,您可以执行再均衡分布操作来平衡ECS实例的分布情况,具体操作请参见ECS实例再均衡分布。 成本优化策略 在伸缩配置中指定了多个可选实例规格时生效,按vCPU单价从低到高尝试创建ECS实例。 如果伸缩配置中计费方式选择抢占式实例,优先创建抢占式实例。由于库存等原因无法创建各实例规格的抢占式实例时,再自动尝试创建按量付费实例。
如果您选择成本优化策略,还可以设置以下参数启用混合实例功能:
混合实例选项 说明 组内最小按量实例数 伸缩组所需按量付费ECS实例的最小台数,默认为0台。如果伸缩组内的按量付费ECS实例的台数小于该值,将优先创建按量付费实例。 按量实例所占比例 自动创建ECS实例时按量付费实例所占的比例,默认为70%。计算该值时,不包括组内最小按量实例数对应的台数。 最低价的多个实例规格 价格最低的实例规格的个数,默认为1个。在伸缩配置中指定了多个可选实例规格时生效。创建抢占式实例时,弹性伸缩会在价格最低的几个实例规格之间均衡创建ECS实例。 是否开启抢占式实例补偿 开启抢占式实例补偿后,在抢占式实例被回收前5分钟,弹性伸缩会主动创建新的抢占式实例,并替换掉将被回收的抢占式实例。 - 实例回收模式
注意 伸缩组创建完成后,不支持修改实例回收模式。
模式名称 说明 释放模式 在弹性收缩时自动释放合适数量的ECS实例,在弹性扩张时创建新的ECS实例加入伸缩组。 停机回收模式 使用停机回收模式可以提高扩缩容的效率。 在弹性收缩时,自动创建的ECS实例将进入停机不收费状态。ECS处于停机不收费状态时,vCPU、内存和固定公网IP被回收,因此vCPU、内存和固定公网带宽不再收费,但是云盘、弹性公网IP等资源仍然保留并收费,更多信息请参见按量付费实例停机不收费。这些处于停机不收费状态ECS实例形成了停机实例池。
说明 如果ECS实例进入停机不收费状态前有固定公网IP,重新启动时会重新分配一个固定公网IP,但可能发生变化。
在弹性扩张时,停机实例池内的ECS实例会优先进入运行中状态,在停机实例池内ECS实例数量不足以满足需求时,会继续自动创建新的ECS实例。
弹性扩张时,停机实例池内ECS实例不能保证成功进入运行中状态。如果由于库存等原因,处于停机不收费状态的ECS实例不能进入运行中状态,弹性伸缩会释放这些ECS实例并创建新的ECS实例,保证弹性扩张的结果达到预期。
- 专有网络
- 可选: 添加已有实例。
如果同时设置期望实例数并添加已有实例,期望实例数会自动增加。例如,创建伸缩组时设置期望实例数为1,并添加2台已有实例,伸缩组创建完成后,2台已有实例添加至伸缩组,然后期望实例数变为3。
您可以将已有实例的生命周期托管给伸缩组。
- 如果选中将实例的生命周期托管给伸缩组复选框,添加的已有实例因处于不健康状态等原因被自动移出伸缩组,或者被手动移出伸缩组时,会被自动释放。
- 如果清除将实例的生命周期托管给伸缩组复选框,添加的已有实例移出伸缩组时,不会被自动释放。
- 查看网络类型。
- 可选: 完成高级配置。
一个伸缩组支持关联的负载均衡实例和RDS实例数量有限,更多信息请参见使用限制。
- 关联负载均衡实例。
关联负载均衡实例后,加入伸缩组的ECS实例会自动添加为负载均衡实例的后端服务器。您可以指定ECS实例需要加入的服务器组,支持以下两种服务器组:
服务器组类型 端口 权重 说明 默认服务器组 为负载均衡实例配置监听时填写。 默认为50,您也可以在伸缩配置中填写其它权重值。 用来接收前端请求的ECS实例,如果监听没有设置虚拟服务器组或主备服务器组,默认将请求转发至默认服务器组中的ECS实例。 虚拟服务器组 选择虚拟服务器组时填写。 默认为50,您也可以在选择虚拟服务器组时填写其它权重值。 当您需要将不同的请求转发到不同的后端服务器上时,或需要通过域名和URL进行请求转发时,可以选择使用虚拟服务器组。 一个伸缩组支持指定多个虚拟服务器组,但是数量有限,更多信息请参见使用限制。
说明 如果您同时指定了默认服务器组和多个虚拟服务器组,ECS实例会同时添加至这些服务器组中。
- 关联RDS数据库实例。
关联RDS实例后,加入伸缩组的ECS实例的内网IP会自动加入RDS实例的访问白名单,允许ECS实例和RDS实例内网通信。
- 关联负载均衡实例。
- 单击创建伸缩组。
- 在创建伸缩组状态向导对话框,单击查看伸缩组列表。
新创建的伸缩组出现在伸缩组列表中。由于使用已有ECS实例作为组内实例配置信息来源,伸缩组自动创建伸缩配置并进入启用状态。
- 如果组内最小实例数大于0,弹性伸缩会自动创建ECS实例,使得组内实例数量不小于组内最小实例数。
- 如果期望实例数大于0,弹性伸缩会自动创建或移出ECS实例,使得组内实例数量始终等于期望实例数。
后续步骤
您可以手动将ECS实例添加至或移出伸缩组,或者通过定时任务、报警任务等方式实现自动扩缩容。具体操作请参见: