阿里云弹性伸缩服务入门介绍

1 简介

弹性伸缩服务(Elastic Scaling Service)是根据用户的业务需求和策略,自动调整其

弹性计算资源的管理服务。用户根据自己的业务需求自动调整其弹性计算资源,在满足

业务需求高峰增长时无缝地增加 ECS 实例,并在业务需求下降时自动减少 ECS 实例以节

约成本。

 

 

请确保在使用这些接口前,已充分了解ESS产品说明和使用协议。

1.1 产品功能

阿里云的弹性伸缩服务主要可以提供的功能包括:

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

l 支持 SLB 负载均衡配置:在增加或减少 ECS 实例时,自动向 SLB 实例中添加或移除

相应的 ECS 实例。

l 支持 RDS 访问白名单:在增加或减少 ECS 实例时,自动向 RDS 访问白名单中添加

或移出该 ECS 实例的 IP

1.1.1 伸缩模式

弹性伸缩模式主要分为以下几类:

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

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

l 固定数量模式:通过最小实例数MinSize)属性,可以让您始终保持健康运

行的 ECS 实例数量,以保证日常场景实时可用。

l 自定义模式:根据用户自有的监控系统,通过 API 手工伸缩 ECS 实例。

n 手工执行伸缩规则

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

n 手工调整 MinSizeMaxSize 后,ESS 会自动创建或释放 ECS 实例,尽可能将当

ECS 实例维持在 MinSizeMaxSize 之间

l 健康模式:如 ECS 实例为非 running 状态,ESS 将自动移出或释放该不健康的 ECS

实例

l 多模式并行:以上所有模式都可以组合配置

n 客户预期每天 1300 ~ 1400 会出现业务高峰,所以设置定时创建 20 ECS

实例的伸缩模式,当客户不确定业务高峰期的实际需求是否会高于客户预期时,

如某天实际需要 40 ECS 实例,可同时配置动态伸缩模式以应付不可预期的

变化。

1.2 产品限制

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

l 弹性伸缩的 ECS 实例中部署的应用需要是无状态、可横向扩展的。由于 ESS 会自动

释放ECS实例,所以用于弹性伸缩的ECS实例不可以保存应用的状态信息(如session

和相关数据(如数据库、日志等)。如果应用中需要保存状态信息,可以考虑把状

态信息保存到独立的状态服务器、数据库(如 RDS)、共享缓存(如 OCS)及集中

日志存储(如 SLS)。

l 每个用户所能创建的伸缩组、伸缩配置、伸缩规则、伸缩 ECS 实例、定时任务的数

量都有一定的限制。

1.3 基本概念与术语表

弹性伸缩服务是根据用户的业务需求和策略,自动调整

Elastic Scaling Service(ESS) 弹性伸缩服务

其弹性计算资源的管理服务。其能够在业务增长时自动

增加 ECS 实例,并在业务下降时自动减少 ECS 实例。

伸缩组是具有相同应用场景的 ECS 实例的集合。

Scaling Group 伸缩组 伸缩组定义了组内 ECS 实例数的最大值、最小值及其相

关联的 SLB 实例和 RDS 实例等属性。

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

Scaling Rule 伸缩规则

 

伸缩规则定义了具体的扩展或收缩操作,例如加入或移

N ECS 实例。

Scaling Activity 伸缩活动

 

伸缩规则成功触发后,就会产生一条伸缩活动。

伸缩活动主要用来描述伸缩组内 ECS 实例的变化情况。

Scaling Trigger Task 伸缩触发任务

 

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

任务

冷却时间是指,在同一伸缩组内,一个伸缩活动执行完

Cooldown Period 冷却时间

成后的一段锁定时间。在这段锁定时间内,该伸缩组不

执行其他的伸缩活动。

产品概念与结构:

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

n 伸缩配置、伸缩规则、伸缩活动依赖伸缩组的生命周期管理,删除伸缩组的同

时会删除与伸缩组相关联的伸缩配置、伸缩规则和伸缩活动

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

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

删除定时任务

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

组不会删除报警任务

1.4 工作原理和流程

在用户创建好伸缩组、伸缩配置、伸缩规则、伸缩触发任务以后,系统会自动化执

行以下流程(以增加 ECS 实例为例):

l 步骤 1:伸缩触发任务会按照各自触发生效的条件来触发伸缩活动

n 云监控任务会实时监控伸缩组内 ECS 实例的性能,并根据用户配置的报警规则

(如伸缩组内所有 ECS 实例的 CPU 平均值大于 60%)触发执行伸缩规则请求。

n 定时任务会根据用户配置的时间来触发执行伸缩规则请求

n 用户可以根据自己的监控系统及相应的报警规则(如在线人数、作业队列)来

触发执行伸缩规则请求

n 健康检查任务会定期检查伸缩组和 ECS 实例的健康情况,如发现有不健康的

ECS 实例(如 ECS 为非 running 状态)会触发执行移出该 ECS 实例的请求

l 步骤 2:系统自动通过 ExcuteScalingRule 接口触发伸缩活动,并在该接口中指定需

要执行的伸缩规则的阿里云资源唯一标识符(Ari

n 如是用户自定义的任务,则需要用户在自己的程序中调用 ExcuteScalingRule

口来实现

l 步骤 3:根据步骤 2 传入的伸缩规则 AriRule Ari)获取伸缩规则、伸缩组、伸缩

配置的相关信息,并创建伸缩活动

n 步骤 3.1:通过伸缩规则 Ari 查询伸缩规则以及相应的伸缩组信息,计算出需

要增加的 ECS 实例数量,并获得需要配置的 SLB RDS 信息

n 步骤 3.2:通过伸缩组查询到相应的伸缩配置信息,即获得了需要创建的 ECS

实例的配置信息(CPU、内存、带宽等)

n 步骤 3.3:根据需要增加的 ECS 实例数量、ECS 实例配置信息、需要配置的 SLB

实例和 RDS 实例创建伸缩活动

l 步骤 4:在伸缩活动中,自动创建 ECS 实例并配置 SLB RDS

n 步骤 4.1:按照实例配置信息创建指定数量的 ECS 实例

n 步骤 4.2

u 将创建好的 ECS 实例的内网 IP 添加到指定的 RDS 实例的访问白名单当中

u 将创建好的 ECS 实例添加到指定的 SLB 实例当中

l 步骤 5:伸缩活动完成后,启动伸缩组的冷却功能。待冷却时间完成后,该伸缩组

才能接收新的执行伸缩规则请求。

1.5 使用须知

在使用 ESS 之前,需要在阿里云官网先开通 ESS,并 ESS 控制台将用户的 Open API

权限授权予 ESS。(ESS 借助阿里云的 RAMResource Access Management)服务,通过

ECS Open API 代替用户弹性伸缩 ECS 实例资源)

 

 

 

 

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值