云服务利用Auto Scaling节省30%成本
公有云提供了很多免费的高级功能,很多中小用户以为自己用不上。实际上稍微研究一下,就能享受很多便利和节省不少成本。
本方案就是利用弹性伸缩(auto-scaling)减少服务器成本,几乎适合所有集群式部署的网站/APP。设置也非常简单。
业务场景:
如果您的业务满足以下条件,花5分钟配置这个方案,可节省20%-30%成本:
-
网站使用集群的方式,且集群超过1台以上的服务器;
-
网站有较长时间的空闲。大部分网站的高峰时间不超过 8 个小时,剩下的 16 个小时的时间,完全可以把闲置的服务器作缩容处理。
本文以某休闲类网站为例,该网站 20:00-24:00 是访问高峰时段。
方案简述
-
按非高峰时段的负载部署固定资源,可采用包年包月 CVM;
-
高峰时段的不足部分采用按量计费的CVM。通过定时任务在 20:00 扩容1台,24:00 缩容回去。
新旧方案的对比:
收益
假设原方案需要两台 4核4G 的 CVM,改成一台 4核4G 的 CVM + 每天4个小时临时CVM,能节省30%左右开支。
示例中的小网站每年可以节省1800元:
具体操作:以腾讯云为例(其他云服务商操作相仿)
实例的网站结构比较简单,只有应用服务器一个集群。如果复杂的网站,会有应用服务器集群、前端服务器集群、缓存服务器集群等,每个集群都可进行类似操作,每个集群对应一个伸缩组。
step 1. 创建集群机器的自定义镜像
这步非常简单,基于一台现成的集群机器中制作即可。如有疑问可查看 制作自定义镜像 >>
注:您需要提前部署好镜像中的环境,保证镜像里的应用能随操作系统启动,这样扩容出来的机器就能直接工作,无需人工介入。
step 2. 创建启动配置
扩容时 AS 以启动配置为模板创建机器,因此我们事先通过启动配置指定地域、机型、镜像。
-
登录 弹性伸缩控制台,点击导航条中的【启动配置】。
-
选择项目和地域,这里要注意选择 Web 应用 所在的项目和地域。
-
接下来的操作与购买机器类似,您可跟着指引完成启动配置创建。注意自定义镜像中,指定刚才您创建的镜像。
step 3. 为机器创建伸缩组
在弹性伸缩控制台,点击【新建】,按如下填写集群的管理信息:
-
名称:按需起一个名字。比如这里填“应用服务器集群”
-
最小伸缩数:集群服务器数量的下限。示例这里填 0 即可。
-
起始实例数:伸缩组刚创建时,自动创建的机器数量。一般不会刚创建伸缩组就自动创建机器,建议这里填 0。
-
最大伸缩数:集群服务器数量的上限,这里按需填写。这里以 5 为例,即伸缩组最多有 5 台机器。
-
启动配置:选择刚才您创建的启动配置。
-
支持网络:会话服务器的网络环境,一般选“基础网络”即可。
-
支持可用区:即选择机扩容器落在哪个可用区里,此处按会话服务器所在的可用区勾选即可。
-
移出策略:选择默认。
-
负载均衡:选择集群的负载均衡。
最后点击【确定】,完成创建。
step 4. 添加现有机器进伸缩组
-
在 控制台点击伸缩组名字,进入管理页,在页面下方点击【添加云主机】。
-
在弹出的对话框中,选择集群已有的服务器加入伸缩组。如果现在是非高峰时期,集群中未充分利用的服务器可以退还,节约成本。
-
加入后对服务器设置“免于缩容”,这样在缩容活动中,伸缩组不会选择这台服务器缩容。这样集群中这台机器永远在服务,AS 不会更改它。
step 5. 设置扩缩容策略(重点!)
AS 支持定时扩容或者基于告警动态扩容,也支持您接收扩缩容通知,以及翻看历史扩缩容详情。一切尽在您的掌控中。
-
先设置一个20:00的定时扩容任务
注:
腾讯云的CVM需要1分钟左右创建,如果自定义镜像较大,可能需要更多时间。您可以将执行开始时间提早5分钟。 -
然后再设置一个24:00的定时缩容任务
至此大功告成!
网站的后台集群变为“1台固定应用服务器+1台高峰时定时创建的应用服务器”。
没加入伸缩组的其他集群机器,大部分时间未充分利用,可以退还掉节约成本。