通过弹性伸缩自动扩缩容ECI实例
在非K8s场景下,使用ECI实例来运行容器应用时,可以配合使用阿里云弹性伸缩服务,实现根据业务量自动增加或者减少ECI实例,在保证业务正常运行的同时节约使用成本。
功能概述
阿里云弹性伸缩(Auto Scaling)是根据业务需求和策略自动调整计算能力(即实例数量)的服务。非K8s场景下,配合使用弹性伸缩来管理ECI实例,可以实现自动扩缩容ECI实例,在满足业务需求的同时,提高资源利用率,降低人力和使用成本。更多信息,请参见弹性伸缩简介。
对于运行同一业务的ECI实例,您可以将其加入到弹性伸缩组中,设置伸缩组最小实例数来保证日常业务运行,设置伸缩组最大实例数来避免成本超标,同时可以设置伸缩规则,配合定时任务或者报警任务来实现自动扩缩容组内的ECI实例。功能示意图如下:

通过弹性伸缩自动扩缩容ECI实例适用于以下场景:
业务量变化有规律,在某一特定时间进行扩缩容。
例如:某游戏公司在每晚18点~24点的时间段内业务量激增,您可以创建定时任务,在每天的18:00自动增加ECI实例,在每天的24:00自动减少ECI实例。
业务量变化无规律,根据监控指标自动进行扩缩容。
例如:某视频直播公司的日常业务量难以预测,您可以创建报警任务,监控伸缩组内ECI实例的CPU使用率,自动增加或者减少ECI实例,使得CPU使用率维持在60%。
配置流程
通过弹性伸缩自动扩缩容ECI实例的流程如下:

创建伸缩组
伸缩组用于管理具有相同应用场景的ECI实例集合。您可以通过伸缩组定义可容纳实例数量的边界值(最大和最小实例数)、弹性扩张时使用的实例模板、弹性收缩时移出实例的策略等属性,让伸缩组按照您的需求维护一组实例。更多信息,请参见创建伸缩组。
创建伸缩配置
伸缩组自动扩张时,将根据伸缩配置中的实例配置来源来创建ECI实例,并将ECI实例加入到伸缩组中。更多信息,请参见创建伸缩配置(ECI实例)。
说明由于容器镜像一般较大,拉取镜像会影响ECI实例的启动耗时,因此配置时建议开启自动匹配镜像缓存,以加速ECI实例的创建。
启用伸缩组
伸缩组处于启用状态时才可以进行弹性扩张和收缩。首次创建伸缩配置后,会自动提示启用伸缩组。您也可以在伸缩组列表自行启用伸缩组。更多信息,请参见启用伸缩组。
创建伸缩规则
伸缩规则用于触发伸缩活动,分为简单规则和目标追踪规则等,您可以根据业务需要创建对应类型的伸缩规则。
简单规则:指定增加、减少的实例数,或者将实例数量调整到指定值。
目标追踪规则:选择某一监控指标并设置目标值,系统将自动增加或者减少实例数,使得监控指标值维持在目标值附近。
更多信息,请参见创建伸缩规则。
执行伸缩规则
您可以通过以下方式执行伸缩规则,实现伸缩组内ECI实例的弹性伸缩,在业务高峰增加ECI实例来缓解业务压力,在业务低谷时释放ECI实例来减少使用成本。
配置示例
业务场景 | 配置示例 | 实现效果 |
某公司日常业务需要10台ECI实例,但每晚18点~23点的时间段内业务量会激增,需增加5台ECI实例。 |
| 业务量平峰时段有10台ECI实例维持日常业务运行;业务量高峰时段(18点~23点)将扩容到15台ECI实例。 |
某公司日常业务需要10台ECI实例,但业务变化情况难以预测,无法确定何时需要增加或减少多少台ECI实例。 |
| 业务量平峰时段有10台ECI实例维持日常业务运行;业务量高峰时段,系统将监测组内ECI实例的CPU使用率,自动增加或者减少ECI实例,使得CPU使用率维持在60%左右。 |
更多信息,请参见快速扩缩容ECI实例。