弹性伸缩Auto Scaling

Posted 小东子李

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了弹性伸缩Auto Scaling相关的知识,希望对你有一定的参考价值。

弹性伸缩Auto Scaling

使用弹性伸缩(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实例的访问白名单中。
在这里插入图片描述

工作流程

在这里插入图片描述
创建好伸缩组、伸缩配置、伸缩规则、伸缩触发任务后,
1.系统会自动化执行以下流程(以增加 ECS 实例为例):
伸缩触发任务会按照各自触发生效的条件来触发伸缩活动。
a.云监控任务会实时监控伸缩组内 ECS 实例的性能,并根据用户配置的报警规则(如伸缩组内所有 ECS 实例的 CPU 平均值大于 60%)触发执行伸缩规则请求。
b.定时任务会根据用户配置的时间来触发执行伸缩规则请求。
c.您可以根据自己的监控系统及相应的报警规则(如在线人数、作业队列)来触发执行伸缩规则请求。
d.健康检查任务会定期检查伸缩组和 ECS 实例的健康情况,如发现有不健康的 ECS 实例(如 ECS 为非 Running 状态)会触发执行 移出该 ECS 实例 的请求。
2.系统自动通过 ExecuteScalingRule 接口触发伸缩活动,并在该接口中指定需要执行的伸缩规则的阿里云资源唯一标识符(Ari)。
如果是用户自定义的任务,则需要用户在自己的程序中调用 ExecuteScalingRule 接口来实现。

3.根据步骤 2 传入的伸缩规则 Ari(Rule Ari)获取伸缩规则、伸缩组、伸缩配置的相关信息,并创建伸缩活动。
a.通过伸缩规则 Ari 查询伸缩规则以及相应的伸缩组信息,计算出需要增加的 ECS 实例数量,并获得需要配置的负载均衡和 RDS 信息。
b.通过伸缩组查询到相应的伸缩配置信息,即获得了需要创建的ECS实例的配置信息(CPU、内存、带宽等)。
c.根据需要增加的 ECS 实例数量、ECS 实例配置信息、需要配置的负载均衡实例和 RDS 实例创建伸缩活动。
4.在伸缩活动中,自动创建 ECS 实例并配置负载均衡和 RDS。
a.按照实例配置信息创建指定数量的 ECS 实例。
b.将创建好的 ECS 实例的内网 IP 添加到指定的 RDS 实例的访问白名单当中,将创建好的 ECS 实例添加到指定的负载均衡实例当中。
5.伸缩活动完成后,启动伸缩组的冷却功能。待冷却时间完成后,该伸缩组才能接收新的执行伸缩规则请求。

阿里云官方文档

以上是关于弹性伸缩Auto Scaling的主要内容,如果未能解决你的问题,请参考以下文章

在 java 中更改 Auto Scaling 组的 Desired Capacity

高可用之弹性伸缩

阿里云云计算 31在线实验--弹性伸缩(AS)初体验

阿里云ACP笔记-弹性伸缩

弹性盒模型(伸缩布局)

弹性盒模型