1.弹性伸缩AS的概念
为什么需要AS
当一台服务器不能满足业务需求的时候,我们可以用多台服务器搭配SLB负载均衡来实现共同访问,对外提供服务。当服务器太多的时候,我们可以减少服务器数量来节省成本。可是呢,这样就带来几个问题:
- 增减/减少后端服务器需要手动管理完成
- 还需要实时关注业务状态或者预测业务需求量来决定什么时候增加/减少服务器,这都是增加了很多工作负担,而且这个预测业务需求访问量不一定准确
为了解决这个问题,就有了AS弹性伸缩(Auto Scaling)
弹性伸缩AS(Auto Scaling)的概念
AS可以根据业务需求和策略来设置伸缩规则,自动调整后端服务器ECS的数量,在业务需求增长时自动增加ECS实例以保证计算能力,在业务需求下降时自动减少ECS实例以节约成本。不用用户手动管理后端服务器的数量,不用用户预判业务需求访问量来管理(增减/减少)后端服务器数量。AS调整后端服务器数量的依据规则有多种。
- 云监控服务器的状态:监控主机CPU使用情况等,如果伸缩组内ECS实例vCPU使用率平均值>80%,尝试添加ECS实例;如果伸缩组内ECS实例vCPU使用率平均值<30%,尝试移除ECS实例
- 定时:几点调整。后面会详细介绍
弹性伸缩AS效果示例
使用弹性伸缩需要提前设置触发弹性伸缩的条件。下图中,监控项为伸缩组内ECS实例的vCPU使用率平均值,并假设触发弹性扩展的阈值是80%,触发弹性收缩的阈值为30%。
AS适合的场景
AS对业务量不断波动的应用程序和业务量稳定的应用程序都适用,使用场景主要分为:弹性扩展,弹性收缩和弹性自愈
- 弹性扩张:当业务升级时,弹性伸缩会自动完成底层资源(ECS)升级,避免访问延迟和资源超负荷运行
- 弹性收缩:当业务需求下降时,弹性伸缩会自动完成底层资源(ECS)释放,避免造成资源浪费
- 弹性自愈:对业务量稳定的应用程序,可以用到弹性自愈:弹性伸缩提供健康检查功能,自动监控伸缩组内的ECS实例的健康状态,避免伸缩组内健康ECS实例低于设置的最小值
AS的伸缩模式--AS如何实现伸缩
弹性伸缩模式是指当我们使用弹性伸缩时,应该如何弹性伸缩。弹性伸缩模式包括以下几种:
- 定时模式:自定义自动伸缩发生的时间和频率,如每天13:00 增加ECS实例
- 动态模式:基于云监控性能指标如CPU利用率,自动增加或减少ECS实例
- 固定数量模式:通过设置最小实例数MinSize,即健康运行的ECS实例最小数量,以保证可用性
- <