控制台和登录入口整合在这里了。

确定

弹性伸缩

弹性伸缩(Auto Scaling)是根据用户的业务需求和策略,自动调整其弹性计算资源的管理服务。

立即开通 联系销售

弹性伸缩

弹性伸缩(Auto Scaling)是根据用户的业务需求和策略,自动调整其弹性计算资源的管理服务。用户根据自己的业务需求自动调整其弹性计算资源,在业务需求增长时,无缝地增加ECS实例,并在业务需求下降时,自动减少ECS实例以节约成本。

弹性伸缩是一个免费的服务,但是通过弹性伸缩自动创建的ECS实例,需要按照ECS按量付费类型的实例标准进行付费。


客户案例

“自从用了阿里云Auto Scaling,再也不用担心服务器负载高或定时扩容问题了。”


优点

灵活

  • 智能调度应对各种复杂场景。

  • 根据不同的需求自动的调整计算资源。

  • 支持手动对计算资源的伸缩控制。

自动化

  • 监控系统的健康状态但不需要人工介入。

  • 自动创建和释放ECS实例。

  • 自动配置SLB和RDS访问白名单。

产品详情

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

弹性扩展:用户根据自己的业务需求自动调整其弹性计算资源,在满足业务需求高峰增长时无缝地增加ECS实例。

弹性收缩:用户根据自己的业务需求自动调整其弹性计算资源,在业务需求下降时自动减少ECS实例以节约成本。

弹性自愈:用户根据自己的业务需求自动替换不健康的ECS实例使业务始终保持正常的负载,为业务保驾护航。


产品功能

自动伸缩

根据客户业务需求横向扩展ECS实例的容量,即自动增加和减少ECS实例

支持SLB负载均衡配置

在增加或减少ECS实例时,自动向SLB实例中添加或移除相应的ECS实例。

支持RDS访问白名单

在增加或减少ECS实例时,自动向RDS访问白名单中添加或移出该ECS实例的IP。

伸缩模式

动态模式

基于云监控性能指标(如CPU利用率),自动增加或减少ECS实例。

定时模式

配置周期性任务(如每天13:00),定时地增加或减少ECS实例。

固定数量模式

通过“最小实例数”(MinSize)属性,可以让您始终保持健康运行的ECS实例数量,以保证日常场景实时可用。

自定义模式

  • 手工执行伸缩规则

  • 手工添加或移出既有的ECS实例

  • 手工调整MinSize、MaxSize后,Auto Scaling会自动创建或释放ECS实例,尽可能将当前ECS实例维持在MinSize~MaxSize之间

健康模式

如ECS实例为非running状态,Auto Scaling将自动移出或释放该不健康的ECS实例

多模式并行

以上所有模式都可以组合配置,客户预期每天13:00 ~ 14:00 会出现业务高峰,所以设置定时创建20台ECS实例的伸缩模式,当客户不确定业务高峰期的实际需求是否会高于客户预期时,如某天实际需要40台ECS实例,可同时配置动态伸缩模式以应付不可预期的变化。

注意事项

弹性伸缩对用户有以下限制:

  • 弹性伸缩的ECS实例中部署的应用需要是无状态、可横向扩展的。由于弹性伸缩会自动释放ECS实例,所以用于弹性伸缩的ECS实例不可以保存应用的状态信息(如session)和相关数据(如数据库、日志等)。如果应用中需要保存状态信息,可以考虑把状态信息保存到独立的状态服务器、数据库(如RDS)、共享缓存(如OCS)及集中日志存储(如SLS)。

  • 每个用户所能创建的伸缩组、伸缩配置、伸缩规则、伸缩ECS实例、定时任务的数量都有一定的限制。

弹性伸缩尽力保证您的弹性伸缩服务足额正常弹出,但由于云服务器库存不足、启动时间长等问题导致弹性伸缩的实例无法全额弹出的情况,请您理解和认可知晓。


发展历史

  • 2015年8月27日 弹性伸缩产品上线开放

  • 2014年10月15日 弹性伸缩产品内测


定价

计费问题

弹性伸缩免费,但是通过弹性伸缩自动创建或者手工加入的ECS实例,需要按照ECS相关实例类型进行付费。注意,按量付费ECS关机(Stop)后仍会收取实例费用,只有释放(Release)后才不再收取。


客户案例

秒拍

秒拍是“炫一下”公司推出的产品。秒拍(前身一下视频/拍客)是一个手机视频拍摄、分享工具,定位为“10秒拍大片”,众多明星、美女都在玩的最新潮短视频分享应用。秒拍支持多种主题,拍摄风格,可以帮助用户拍出属于自己的大片。同时,秒拍支持将视频同步分享到微博、微信朋友圈、QQ空间,和更多好友分享你的视频。

面临的挑战

秒拍凭借其简洁的操作方式,酷炫的视频效果以及可与好友分享等优点吸引了越来越多的用户。但是,随着用户数量不断增大,秒拍的业务流量也越来越大,如何保证产品在使用高峰期的服务质量,是秒拍需要关心的问题。

为什么选择Auto Scaling

阿里云作为国内云计算的领先者,其服务品质值的信赖。Auto Scaling借助监控服务资源的方式可以指定相应的伸缩规则,可以动态的调整ECS的实例数量,这极大程度地解决了秒拍在高峰时段动态扩容问题。

使用入门

一分钟创建伸缩方案

本快速入门介绍如何通过弹性伸缩创建一台ECS实例并自动添加到SLB,以及自动向RDS访问白名单添加该ECS实例IP的简易伸缩方案。

创建弹性伸缩方案,您需要通过以下2步来完成:

步骤 1:创建伸缩组

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

操作步骤:

1. 选择伸缩组所在的“地域”和填写“伸缩组名称”。

2. 将“伸缩最大实例数”和“伸缩最小实例数”设置为1,则在整体伸缩方案创建完成后,将自动创建1台ECS实例。

3. 选择 “负载均衡”实例。指定的SLB实例所有配置的监听端口必须开启健康检查。

4. 选择“数据库”实例,弹出“选择RDS数据库”对话框(如图:选择RDS数据库)

5. 选择完成后,点击“下一步”。

步骤 2:创建伸缩配置

伸缩配置定义了用于弹性伸缩的ECS实例的配置信息。弹性伸缩为伸缩组自动增加ECS实例时,会根据伸缩配置创建ECS实例。

操作步骤:

1. 选择模板ecs实例。

2. 填写伸缩配置名称。

3. 选择安全组。

4. 选择带宽。

5. 单击下一步去确认配置。

步骤 3:查看伸缩配置详情

查看详情页面将展示诊所配置详情和状态

三分钟创建完整伸缩方案

本快速入门介绍如何创建和配置包含定时、动态、自定义、固定模式的整体伸缩方案。创建完整的弹性伸缩方案,您需要通过以下5步来完成:

步骤 1:创建伸缩组

填写伸缩组基本信息,选择伸缩组所在的“地域”、“伸缩组名称”、“伸缩最大实例台数”、“伸缩最小实例台数”等信息,如果您需要使用SLB和RDS,需要选择“负载均衡”实例和选择“数据库”实例。

步骤 2:伸缩组配置

伸缩配置定义了用于弹性伸缩的ECS实例的配置信息。弹性伸缩为伸缩组自动增加ECS实例时,会根据伸缩配置创建ECS实例。

步骤 3:伸缩自动触发设置

伸缩自动触发有2种方式:

  • 定时触发自动伸缩任务

  • 报警触发自动伸缩任务

步骤 4:定时触发自动伸缩任务

如果未设置重复周期,则按指定的日期和时间执行一次。如果设置了重复周期,则此属性指定的时间点,默认为周期性任务的执行时间点。

步骤 5:报警触发自动伸缩任务

基于云监控性能指标(如CPU、内存利用率),自动增加或减少伸缩组内的ECS实例。在使用报警任务之前,需要在ECS的镜像里安装新版本的云监控Agent。

资源

开发者资源

常见问题

环境配置问题

进行弹性伸缩的ECS实例如何保证配置环境的一致,或者如何把之前的系统环境直接添加到Auto Scaling的新创建的弹性伸缩实例里面?

创建弹性申请配置ECS实例时,您可以通过ECS自定义镜像模板来进行创建实例,在ECS实例运行过程中,如果需要做系统内部数据同步,建议您自定安装rsync进行同步。

为什么我弹出实例的/etc/hosts的新增的127.0.0.1被重置清除了?

目前用户在镜像中写了/etc/hosts后增加了自己的内容后,通过该镜像创建的自定义镜像创建机器时,会还原到系统默认设置,所以会被清除,如果您需要保留设置,您可以尝试在rc.local中添加相关脚本代码,检测一下/etc/hosts中是否存在相关信息,若不存在则进行添加。

我的弹性伸缩是自动创建机器的,并且量是不固定,如何使用镜像市场的镜像如何保证我的的需求实例能正常弹出?

如果您需要弹出n台同类型的镜像,您需要提前购买n台镜像市场的镜像。

镜像市场的镜像是否支持批量购买?

暂不支持批量购买。

如果之前使用的镜像市场的镜像,已不存在该商品(如:jxsc000010),怎能保证已经设置的弹性伸缩组的机器的正常弹出?

此情况建议您选择镜像市场可以替代的镜像进行替代。

1个product code能否支持不同region的镜像?

支持,前提是该地域region已经支持该商品镜像。

我买了100 product code同样值的镜像,是否可以支持在所有的地域可用?

目前镜像市场镜像已经具备region属性,请您购买需要使用的地域镜像。

密码登录问题

弹性伸缩自动创建的实例如何查看到密码并进行登录?

  • 由于弹性伸缩自动创建的实例不会有统一的登录密码,在Linux环境下,推荐您通过设置"公私钥"认证的方式来进行SSH免密码登录。

  • 如果您不需要通过设置"公私钥"认证的方式来进行SSH免密码登录,则需要在控制台重置下密码(重启生效)才能登录。

弹性伸缩的产生的服务器的密码怎么和我自定义镜像中的密码不一致?

  • 创建的云主机的时候,主机密码都不是自定义镜像中的密码,为了保证密码的安全性,推荐您通过设置"公私钥"认证的方式来进行SSH免密码登录。

  • 如果您不需要通过设置"公私钥"认证的方式来进行SSH免密码登录,则需要在控制台重置下密码(重启生效)才能登录。

使用自定义镜像弹出的Linux系统实例,如果进行使用免密码登录管理?

您可以通过设置"公私钥"认证的方式来进行SSH登录。

  • 需要建立自定义镜像的ECS Server端实例上建立公钥和私钥

  • 将ECS实例上idc idc.pub 拷贝到客户端

  • 删除Server端的公钥

  • 修改Server端ssh配置文件

  • 配合客户端Client软件进行设置

以SecureCRT配置为例:选择对应的远程连接信息-->右键单击属性选项(将出现如下面图一画面)-->SSH2-->首先把password的对勾取消,然后选中PublicKey-->单击右边的属性按钮.(将出现下面图二画面)-->选择使用会话公钥设置-->使用身份或证书文件-->idc.pub(选中刚从服务器上拷贝下来的公钥和私钥文件)。

(会话选项)

(公钥属性)

SLB与RDS相关问题

弹性伸缩创建服务器后,新创建的服务器会自动加入到SLB中的?

如果在伸缩组中指定了SLB实例,伸缩组会自动将加入伸缩组的ECS实例加入到指定的SLB实例中。

弹性伸缩在添加伸缩组时,能绑定多个SLB吗?

一个伸缩组默认只能绑定一个SLB实例,如果您需要使用多个SLB实例的话,您可以提交工单申请更高配额,我们的工作人员会在工作日时间内协助您添加,周末节假日顺延。

弹性伸缩新增的ECS实例是否可以添加进入多个SLB中?

可以,目前暂时仅支持一个SLB,多个SLB需要提交工单申请。

是否可以修改加入到弹性伸缩组SLB实例中的权重?

目前弹性伸缩内SLB下ECS的默认权重为50,由于正常情况下,Auto Scaling弹性伸缩组后端ECS所承载的业务和ECS的规格应该都是一样的, 所以默认权重也应该是一样的。 而SLB的权重分配是按比例而非按数字计算的:也就是说,假设后端有两台ECS,权重设置成50和50(比例是1:1)的效果,和权重设置成100和100(比例也是1:1)是一样的。

我现在有公网的负载均衡SLB,那我在创建伸缩配置时ECS实例是否不要公网带宽?

创建伸缩配置时,ECS实例可以不选择公网带宽,不过方便您管理ECS实例,建议您购买至少1Mbps左右的ECS带宽。

弹性伸缩一定要搭配SLB、云监控、RDS才能使用吗?

弹性伸缩是一个开放的弹性伸缩平台。弹性伸缩可以单独扩展和收缩ECS实例,既可以搭配SLB,RDS一起部署,也可以不搭配SLB,RDS一起部署。Auto Scaling支持通过云监控触发任务扩展和收缩ECS实例,也可以通过弹性伸缩的Open API对接客户自己的监控系统,客户可以通过自己的监控系统,触发弹性伸缩的伸缩活动。

伸缩配置与规则问题

遇到弹性伸缩问题,应该提交什么信息?

您可以将您的弹性伸缩组的活动ID(activity id)或者相关日志提供下,方便我们进行排查。

弹性伸缩创建伸缩配置的时候为什么不能选我已经购买过的云服务器?

弹性伸缩支持添加已有ECS实例,需要满足如下条件:

  • 加入的ECS实例必须与伸缩组在同一个region;

  • 加入的ECS实例规格必须与生效伸缩配置的实例规格一致;

  • 加入的ECS实例的状态必须是“运行中”状态 加入的ECS实例不能已加入到其它伸缩组中 加入的ECS实例不可以是VPC类型;

  • 加入的ECS实例支持包年包月和按量付费两种类型 加入的ECS实例在移出伸缩组时不会被释放。

弹性伸缩是否支持已有的包年包月实例添加?

目前弹性伸缩自动伸缩默认自动创建按量付费实例,但是同时也支持用户已有的包月和按量实例添加。

同一台ECS实例可以添加进入不同的伸缩组吗?

目前无法支持。

弹性伸缩组是否可以添加不同规则的ECS实例?

每个伸缩组中只能设置一种伸缩配置的规格(CPU和Memory)。不过您可以通过设置多个伸缩组,在每个伸缩组设置不同的配置。

弹性伸缩服务内,一个伸缩组的最大实例数只能为100个,是否可以调高最大实例数?

您可以提交工单申请更高配额,我们的工作人员会在工作日时间内协助您添加,周末节假日顺延。

弹性伸缩服务内,伸缩组的ECS实例是否可以可以为8核,16核配置?

可以,大配置的ECS您可以在ECS按量付费页面,提交“申请更高配置,我们的工作人员会在工作日时间内协助您添加,周末节假日顺延。

将ECS实例移出伸缩组并释放,ECS上的数据能否保存?

  • ECS实例移除之后会释放,数据也无法保留的。

  • 由于Auto Scaling会自动释放ECS实例,所以用于弹性伸缩的ECS实例不可以保存应用的状态信息(如session)和相关数据(如数据库、日志等)。如果应用中需要保存状态信息,可以考虑把状态信息保存到独立的状态服务器、数据库(如RDS)、共享缓存(如OCS)及集中日志存储(如SLS)。

通过API接口调用DisableScalingGroup方法,会不会导致已经自动加入的ECS服务器被释放?

执行DisableScalingGroup时,自动伸缩而创建的案例付费实例不会自动释放。

配置的伸缩组,自动加的服务器,有自动添加 RDS,、OCS的 IP白名单吗?

弹性伸缩支持 RDS 访问白名单,在增加或减少 ECS 实例时,自动向 RDS 访问白名单中添加 或移出该 ECS 实例的 IP。 但OCS目前不支持。

添加如伸缩组的ECS实例是否支持“纵向扩展”,支持cpu,内存升级?

弹性伸缩目前还不能支持“纵向扩展”,即Auto Scaling暂时无法自动升降ECS的CPU、内存和带宽。

弹性伸缩是否支持设置周期性的重复任务,在指定的时间内重复性的执行?

您可以在Auto Scaling控制台—“自动触发任务管理”—“定时任务”中设置定时任务,如果未设置重复周期,则按指定的日期和时间执行一次。如果设置了重复周期,则此属性指定的时间点,默认为周期性任务的执行时间点。这个您不设置重复周期,这个定时任务就不会终止。

如何保证手工添加的ECS实例不被移出伸缩组?

假设您需要添加N台包年包月ECS实例加入伸缩组,并且希望这些ECS实例不会自动被移出,那么您需要做以下两个配置(同时满足):

  • 将最小实例数(MinSize)设置为N或者大于N

  • 将移出策略(RemovalPolicy)的第一条挑选规则设置为“最早伸缩配置对应的实例”(OldestScalingConfiguration)。

根据弹性伸缩的规则,手工添加的ECS实例不会对应任何伸缩配置(因为它们不是通过伸缩配置创建的),所以Auto Scaling会先挑选自动创建的ECS实例移出伸缩组,只有当自动创建的ECS实例移出伸缩组完毕,才会挑选手工添加的ECS实例移出伸缩组。

请注意自动创建的ECS,被移出伸缩组会自动释放;用户自己创建手工添加的ECS,移出伸缩组不会被释放。

注:以上是正常的健康逻辑,如果您停止了这些手工添加的ECS实例,弹性伸缩会视为他们“不健康”,并将它们移出伸缩组,因为弹性伸缩需要保证在伸缩组里的ECS实例是“健康”的。

监控与自动化相关问题

弹性伸缩是怎么判断里面服务器的可用性的?

如果弹性伸缩在Auto Scaling伸缩组里配置SLB,SLB检查您后端的ECS端口正常之后,才会将请求转发给新的服务器的。

弹性伸缩告警触发条件有几种?

可以针对CPU负载/内存利用率/系统平均负载/外网和内网出入流量等的进行监测告警,自动增加或减少ECS实例。

弹性伸缩是否可以根据云监控中自定义报警项进行动态伸缩?

目前不支持根据自定义监控进行动态伸缩。