弹性伸缩 AS(Auto Scaling)

根据业务需求和策略设置伸缩规则,在业务需求增长时自动为您增加 ECS 实例以保证计算能力,在业务需求下降时自动减少 ECS 实例以节约成本,弹性伸缩不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序

阿里云弹性伸缩产品文档

创建弹性伸缩组

①. — 伸缩组名称:自定义命名,此处我命名为 as-003

②. — 组内实例配置信息来源:可以继承自定义模板(可以复用)或者继承已有实例的配置,也可以从零开始创建

③. — 标签:标记不同的伸缩组,方便分类管理不同的伸缩组(如果想给 ECS 实例打标签,需要通过上述自定义模板配置)

④. — 实例移出策略:阿里云社区文档说明

⑤. — 暂停的流程:伸缩组处理到某个流程时(如扩容),会暂停(扩容),等待管理员处理,处理过后继续执行自动化的伸缩流程(此处理解不是很透彻,可能有偏差)

⑥. — 开启伸缩组保护:开启后,该伸缩组不能通过 API 或者控制台直接删除,必须将删除保护关闭后,才能删除

⑦. — 实例的健康检查:是否对伸缩组内的 ECS 实例做健康检查,将不健康的实例移出伸缩组

⑧. — 组内最小实例数:略

⑨. — 组内最大实例数:略

⑩. — 组内期望实例数:略

— 默认冷却时间:执行了一次伸缩活动(添加或移出 ECS 实例)后,到下一次伸缩活动的冷却时间,目前只针对报警任务触发的伸缩活动有效

⑪. — 网络类型:专有网络(自定义创建)

⑫. — 多可用区扩容策略:下面单独介绍

⑬. — 实例回收模式:释放模式 & 停机回收模式(云盘存储资源等还会计费)

⑭. — 专有网络:需要我们单独创建一个私有 IP 网段,作为专有网络

⑮. — 选择交换机:在专有网络下,创建多个虚拟交换机,此处我创建了三个虚拟交换机,每个虚拟交换机对应不同可用区,即可实现多可用区扩容策略(下面详细说明)

⑯. — 其他:略

多可用区扩容策略

原理:同一个地域内,不同的可用区之间内网是互通的

①. — 优先级策略:当优先级较高的虚拟交换机所在可用区无法创建 ECS 实例时,自动使用下一优先级的虚拟交换机创建 ECS 实例

②. — 均衡分布策略:如图,即平均分配伸缩组 ECS 实例到每一个可用区(需要配置虚拟交换机并通过虚拟交换机通信)

③. — 成本优化策略:略

添加伸缩配置

刚创建好的伸缩组,默认为停用状态

选择添加伸缩配置:

基础配置

系统配置

确认配置

检验配置

启用伸缩组后(等待一会),ECS 实例会自动创建,如下图:

查看详细实例列表内容:

创建伸缩规则

对于 as-003 伸缩组,添加伸缩规则:

伸缩规则的类型:

①. — 简单规则

定义了伸缩组扩缩容的行为,当由报警任务触发时,需要等待冷却时间结束

②. — 目标追踪规则

通过自动计算实例扩缩容数量将指定指标维持在目标值附近

③. — 预测规则

用户可以配置要预测的性能监控,监控目标值等一系列参数,对伸缩组进行预测

④. — 步进规则

根据一组步长调整增加或减少组的当前容量,这些步长调整根据警报违规的大小而变化

创建报警任务

创建报警任务后,默认为已启用状态;

可以看到 as-alert001 状态显示 数据不足,是因为没有 ECS 实例,我停用了这个报警任务监控的伸缩组,并删除了伸缩组下的 ECS 实例

检验报警任务 && 伸缩规则

由于设置了报警任务并绑定触发规则:

①. — 在 CPU 使用率平均值低于 30% 时,会报警

②. — 报警会触发 as-rule003 伸缩规则,减少一台 ECS 实例

等一段时间后,可以观察到 as-003 伸缩组的 ECS 实例已经减少到了最低数量(最小实例数:1)

报警任务详情:

原文地址:https://www.cnblogs.com/zzzwqh/p/13782937.html