弹性伸缩(Auto Scaling)是根据业务需求和策略自动调整计算能力(即实例数量)的服务。您可以指定实例的类型,即ECS实例或ECI实例。在业务需求增长时,弹性伸缩自动增加指定类型的实例,来保证计算能力;在业务需求下降时,弹性伸缩自动减少指定类型的实例,来节约成本。弹性伸缩不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序。

本视频以ECS实例为例介绍弹性伸缩产品。

为什么选择弹性伸缩

当您的业务需求量有波动时,弹性伸缩能够帮助您自动调整指定类型的实例数量,满足业务需求。弹性伸缩能为您提供以下优势:

优势 说明
自动化
  • 弹性扩张时,自动创建指定类型的实例,并为该实例关联负载均衡服务。如果指定类型是ECS实例,还支持为该实例自动关联RDS实例。
  • 弹性收缩时,自动移出指定类型的实例,并为该实例取消关联负载均衡服务。如果指定类型是ECS实例,还支持为该实例自动取消关联RDS实例。
降成本 无需投入大量人力来调整计算资源,无需提前预备计算资源,也无需担心不能及时释放冗余资源。弹性伸缩在适当的时间进行伸缩任务,降低资源拥有成本。
高可用 无需担心ECS实例或ECI实例的运行状态。弹性伸缩提供健康检查功能,在ECS实例或ECI实例不健康,即实例未处于运行中状态时,自动增加相应类型的实例替换不健康的实例。
灵活智能
  • 支持指定提供计算能力的实例类型,即ECS实例或ECI实例。
  • 支持多伸缩模式兼容,可灵活调度应对各种复杂场景。伸缩模式包括固定数量、健康、定时、动态、自定义等,其中动态模式支持通过API对接外部的监控系统。
  • 支持灵活的实例模板,提高创建实例的成功率。
  • 支持丰富的扩缩容策略,可灵活适用于各种业务场景。
易审计 弹性伸缩支持记录每个伸缩活动,提供伸缩组监控功能,有助于您快速定位问题根源。

更多信息,请参见产品优势

功能说明

弹性伸缩可以根据业务需求,自动创建或者移出ECS实例或ECI实例。您需要配置以下主要功能组件:

功能名称 说明
伸缩组 用来管理一组具有相同应用场景、相同实例类型的实例。您需要指定伸缩组类型(即ECS实例或ECI实例,用于指定提供计算能力的实例类型)、实例配置来源、边界值(即最大实例数和最小实例数)或负载均衡(CLB实例或ALB服务器组)等。如果您有多个应用场景,您可以创建多个伸缩组。弹性伸缩按照您的配置为每个伸缩组分别调整计算能力。
实例配置来源 用来管理ECS实例或ECI实例使用的模板信息。在弹性扩张时,弹性伸缩使用ECS类型的模板信息创建ECS实例,使用ECI类型的模板信息创建ECI实例。
伸缩规则 主要用来触发伸缩活动,例如增加1台ECS实例或ECI实例。您可以手动执行伸缩规则,或者通过报警任务或定时任务执行伸缩规则。伸缩规则还支持智能设置伸缩组的边界值(即最大实例数和最小实例数)。
报警任务 通过云监控系统,实时监测伸缩组的各项指标,在指标满足配置的阈值条件时,执行相应的伸缩规则。
定时任务 指定时间执行相应的伸缩规则。
上述功能组件中,弹性伸缩必须配置并启用了伸缩组和组内实例配置来源,其他功能组件可以按需配置。弹性伸缩的使用流程如下图所示:使用流程

弹性伸缩还为您提供了其他更多功能,来实现您不同场景的需求:

  • 在伸缩活动成功、失败或者被拒绝时,弹性伸缩支持通过以下方式发送通知信息:
    功能名称 说明
    消息通知 支持通过短信、站内信和邮件发送消息通知。
    事件通知 支持发送消息到云监控系统事件或消息服务。消息服务包括MNS主题和MNS队列两种服务模型。消息服务涉及计费,更多计费详情,请参见定价中心
  • 在管理伸缩组内的实例时,弹性伸缩还支持以下功能:
    功能名称 说明
    生命周期挂钩 管理伸缩组内ECS实例或ECI实例生命周期的工具。弹性伸缩自动触发扩缩容活动,并触发生命周期挂钩使伸缩活动中的ECS实例或ECI实例处于挂起中的状态(即等待的状态),为您保留一段自定义操作的时间,直至生命周期挂钩超时结束。
    手动配置伸缩组实例 自定义方式,手动向伸缩组添加或移出ECS实例或ECI实例等。
    滚动升级 如果伸缩组类型为ECS实例,即您指定由ECS实例提供计算能力时,支持滚动升级功能。通过任务形式批量更新ECS实例配置,您可以为伸缩组内处于服务中状态的ECS实例批量更新镜像、执行脚本或者安装OOS软件包。

更多信息,请参见工作原理

应用场景

弹性伸缩为您提供了丰富的伸缩功能,适用各种业务量有变化的场景:

  • 业务量变化有规律。比如,每周五20:00热门节目来临时,某视频公司的业务量激增,您可以创建定时任务,在每周五20:00自动增加1台ECS实例或ECI实例。
  • 业务量变化无规律。比如,某视频直播公司的日常业务量难以预测,您可以创建报警任务,在CPU使用率大于60%时自动增加1台ECS实例或ECI实例。

更多信息,请参见应用场景

产品计费

弹性伸缩本身不收取任何费用,但使用ECS实例、ECI实例、RDS实例、负载均衡服务(CLB实例或ALB服务器组)、消息服务等其他产品的资源时涉及收费。更多信息,请参见产品计费

使用方式

  • 弹性伸缩控制台:具有交互式操作的Web服务页面。
  • API:支持GET和POST请求的RPC风格API。关于API的更多信息,请参见API概览。以下为调用弹性伸缩API的常用开发者工具:
    • 命令行工具CLI:基于阿里云API建立的灵活且易于扩展的管理工具。您可基于命令行工具封装阿里云的原生API,扩展出您需要的功能。
    • OpenAPI开发者门户:提供快速检索接口、在线调用API和动态生成SDK示例代码等服务。

相关服务