ECS 弹性伸缩怎么用:业务高峰自动加机器的实践笔记
上周我们的小程序做了一场限时秒杀,晚上八点流量一下子冲上来,单台 ECS 的 CPU 跑到 90% 以上,页面打开明显变慢。那次手动加机器,等加上去高峰已过一半。活动结束后,我花了一个下午把弹性伸缩(Auto Scaling,简称 AS)配了起来,这篇笔记记下配置过程和几个坑。
一、三个概念先分清
伸缩组是“管机器的筐”,决定机器最多几台、最少几台,放在哪个可用区;伸缩配置是“新机器的模板”,包括镜像、规格、系统盘和安全组;伸缩策略是“什么时候加、什么时候减的规矩”。顺序一般是先做伸缩配置,再建伸缩组,最后挂策略。
二、创建伸缩组和伸缩配置
我先把线上最稳的那台 ECS 做成私有镜像,作为伸缩配置的镜像;规格和线上一致,系统盘 40GB,安全组复用线上的,新机器一启动就能进负载均衡后端组。建组时最小实例数填 2 台,日常两台互备;最大实例数填 8 台,给高峰留四倍空间;期望实例数填 2 台。
三、按 CPU 触发扩容
高峰最直观的信号就是 CPU。我建了一条告警策略:CPU 使用率连续 5 分钟平均值大于 70%,就增加 2 台。为什么是 70% 而不是 90%?新机器从创建到接流量要三五分钟,等到 90% 再动手就晚了。缩容配得保守一些:CPU 连续 15 分钟低于 30% 才减少 1 台,避免流量一抖就把机器减掉。
四、冷却时间与实例回收
冷却时间是我踩过的第一个坑。默认 300 秒,我一开始改成 60 秒,结果高峰时 CPU 在阈值上下晃,组里一会儿加两台、一会儿减一台,来回横跳。改回 300 秒,等指标稳定了再判断,动作就稳多了。回收时优先移除最晚创建的实例,并勾选释放时删除云服务器,否则减下来的机器还在计费。
五、与手动升降配的区别
手动升配是把一台机器规格调大,比如 2 核变 4 核,要重启,业务会中断,而且规格有上限;手动加机器要人盯着指标,半夜的高峰根本守不住。弹性伸缩是按“台数”横向扩,单台不动、业务不中断,新机器自动进负载均衡;低峰自动缩回去,费用跟着流量走。升配解决“单台不够强”,伸缩解决“台数不够多”,高峰真正靠得住的是伸缩。
写在最后
配完后我用压测模拟了一次晚高峰:CPU 冲到 75% 左右,组里自动加了两台,页面响应时间基本没变;流量回落后,机器也慢慢缩了回去。阈值、冷却时间和回收策略都要结合业务波动来调,先把最小、最大实例数和一条 CPU 策略跑起来,再慢慢调细节,是最稳的上手方式。
- 点赞
- 收藏
- 关注作者
评论(0)