弹性伸缩

使用弹性伸缩(Auto Scaling),您可以根据业务需求和策略设置伸缩规则,在业务需求增长时自动为您增加ECS实例以保证计算能力,在业务需求下降时自动减少ECS实例以节约成本。

弹性伸缩不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序。

弹性伸缩效果示例

您需要提前设置触发弹性伸缩的条件。

下图中,监控项为伸缩组内ECS实例的vCPU使用率平均值,并假设触发弹性扩张的阈值为80%,触发弹性收缩的阈值为30%。

弹性伸缩效果示例

弹性扩张

当您的业务升级时,弹性伸缩为您自动完成底层资源升级,避免访问延时和资源超负荷运行。

您可以配置云监控实时关注您的ECS实例使用情况。

例如,当云监控检测到伸缩组内的ECS实例vCPU使用率突破80%时,弹性伸缩根据您配置的伸缩规则弹性扩张ECS资源,自动创建合适数量的ECS实例,并自动添加ECS实例到负载均衡实例的后端服务器和RDS实例的访问白名单中。

弹性扩张时,弹性伸缩使用伸缩组的组内实例配置信息自动创建ECS实例,实例配置信息支持实例的规格、操作系统、用户自定义数据等,更多说明请参见组内实例配置信息来源概述。

您可以登录ECS管理控制台启动、停止已创建的ECS实例,也可以远程登录ECS实例修改系统配置。

弹性扩张

弹性收缩

当您的业务需求下降时,弹性伸缩为您自动完成底层资源释放,避免资源浪费。

您可以配置云监控实时关注您的ECS实例使用情况。

例如,当云监控检测到伸缩组内的ECS实例vCPU使用率低于30%时,弹性伸缩根据您配置的伸缩规则弹性收缩ECS资源,自动释放合适数量的ECS实例,并自动从负载均衡实例的后端服务器和RDS实例的访问白名单中移除ECS实例。

弹性收缩

弹性自愈

弹性伸缩提供健康检查功能,自动监控伸缩组内的ECS实例的健康状态,避免伸缩组内健康ECS实例低于您设置的最小值。

当检测到某台ECS实例处于不健康状态时。

弹性伸缩自动释放不健康ECS实例并创建新的ECS实例,自动添加新ECS实例到负载均衡实例的后端服务器和RDS实例的访问白名单中。

弹性自愈

产品优势

功能概述

根据客户业务需求自动调整ECS实例数量。

自动向负载均衡的后端服务器组中添加或移除相应的ECS实例。

自动向RDS访问白名单中添加或移除ECS实例的IP。

产品特点

随需应变:根据需求“恰到好处”地分配资源,无需您提前预测需求变化,实时应对需求突增。

自动化:无需人工干预,自动创建和释放ECS实例,自动配置负载均衡和RDS访问白名单。

伸缩模式丰富:多模式兼容,可同时配置定时、动态、自定义、固定、健康模式,可通过API对接外在监控系统。

智能:智能调度云计算资源,应对各种复杂场景。

应用场景

某视频公司:春晚或每周五热门节目来临时,负载激增,需及时、自动扩展云计算资源。

某视频直播公司:业务负载变化难以预测,需要阿里云自动根据CPU利用率、应用负载、带宽利用率作为衡量指标进行弹性伸缩。

某游戏公司:每天中午12点及晚上6点到9点间需求增长,需要定时扩容。

某电商:在大促中,临时激增大量云服务器需求,需要在数分钟内实现从创建到可用。

功能限制

使用弹性伸缩时具有以下功能限制:

弹性伸缩只支持自动增加或减少伸缩组内ECS实例的数量,不支持自动提升或降低单台ECS实例的vCPU、内存、带宽等配置。

部署在伸缩组内ECS实例上的应用必须是无状态并且可横向扩展的。

伸缩组内ECS实例可能会被自动释放,因此不适合保存会话记录、应用数据、日志等信息。如有需要,您可以将会话记录等状态信息保存到独立的状态服务器,将应用数据保存到云数据库RDS,将日志存储到日志服务,更多说明请参见什么是云数据库RDS和什么是日志服务。

弹性伸缩不支持自动将ECS实例添加到Memcache实例的访问白名单,您需要自行添加,具体操作请参见设置IP白名单。

基本概念

弹性伸缩

弹性伸缩是根据用户的业务需求和策略,自动调整其弹性计算资源的管理服务。其能够在业务增长时自动增加 ECS 实例,并在业务下降时自动减少 ECS 实例。

伸缩组

伸缩组是具有相同应用场景的 ECS 实例的集合。伸缩组定义了组内 ECS 实例数的最大值、最小值及其相关联的负载均衡实例和 RDS 实例等属性。

伸缩配置

伸缩配置定义了用于弹性伸缩的 ECS 实例的配置信息。

伸缩规则

伸缩规则定义了具体的扩展或收缩操作,例如加入或移出 N 个 ECS 实例。

伸缩活动

伸缩规则成功触发后,就会产生一条伸缩活动。伸缩活动主要用来描述伸缩组内 ECS 实例的变化情况。

伸缩触发任务

用于触发伸缩规则的任务,如定时任务、云监控的报警任务。

冷却时间

冷却时间是指,在同一伸缩组内,一个伸缩活动执行完成后的一段锁定时间。在这段锁定时间内,该伸缩组不执行其他的伸缩活动。

备注

伸缩组包含伸缩配置、伸缩规则、伸缩活动。

伸缩配置、伸缩规则、伸缩活动依赖伸缩组的生命周期管理,删除伸缩组的同时会删除与伸缩组相关联的伸缩配置、伸缩规则和伸缩活动。

伸缩触发任务有定时任务、云监控报警任务等类型。

定时任务独立于伸缩组存在,不依赖伸缩组的生命周期管理,删除伸缩组不会删除定时任务。

云监控报警任务独立于伸缩组存在,不依赖伸缩组的生命周期管理,删除伸缩组不会删除报警任务。

参考资料

自动伸缩