专栏首页网络产品使用分享【腾讯云的1001种玩法】利用 Auto Scaling 节省30%成本
原创

【腾讯云的1001种玩法】利用 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台高峰时定时创建的应用服务器”。

没加入伸缩组的其他集群机器,大部分时间未充分利用,可以退还掉节约成本。

相关推荐

【腾讯云的1001种玩法】如何利用腾讯云搭建分布式应用 【腾讯云的1001种玩法】云服务器搭建Python环境

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 腾讯云发布Supermind智能网络

    信息网络的应用逐渐渗透社会发展的各个领域,网络业务量的迅速膨胀给数据传输能力和大吞吐量的交叉能力提出了更高要求。11月22日,腾讯云正式发布Supermind智...

    腾讯云网络产品团队
  • 让程序猿安心过大年,解密腾讯云SDN网络流量调度

    转眼又到春节,又到了亲朋好友大团圆的时刻。对程序猿和攻城狮来说,能否安安稳稳的过年就主要取决于网络是否安稳了,谁都不想在合家团圆吃年夜饭的时候因为网络故障加班。...

    腾讯云网络产品团队
  • 腾讯云助力中国IPv6网络全面升级

    为积极响应国家政策、顺应互联网演进趋势,腾讯云宣布即将支持IPv6,为各行业用户进行IPv6赋能。

    腾讯云网络产品团队
  • Hive2.1.0集成Tez

    我是攻城师
  • [打造自己的监控系统之执行Oracle命令]通过会话查看进程号

    我们在日常Oracle维护中,可能有的遇到一个会话处于假死状态或者通过常规命令无法杀死,这时需要直接通过操作系统kill命令来杀死进程,这节就讲述如何通过SID...

    bsbforever
  • [打造自己的监控系统之执行Oracle命令]获取Oracle数据文件创建的时间

    上节讲到如何建立一个Oracle命令的界面,这节讲述如何利用Django获取Oracle数据文件的建立时间并显示出来

    bsbforever
  • 聊聊 JDK 阻塞队列源码(ReentrantLock实现)

    项目中用到了一个叫做 Disruptor 的队列,今天楼主并不是要介绍 Disruptor 而是想巩固一下基础扒一下 JDK 中的阻塞队列,听到队列相信大家对其...

    haifeiWu
  • 如何在Hue中调优Impala和Hive查询

    Hue中使用Hive和Impala进行查询,在使用完Hue后退出登录,会出现Hive和Impala的暂用的资源未释放。本篇文章Fayson主要针对该问题在Hue...

    Fayson
  • 虾米“穷逼VIP”刷爆朋友圈,程序员写代码注释可要注意了!

    一张关于虾米音乐的代码截图引发网友热议。原来,在虾米音乐MAC客户端的代码注释里,把活动赠送的VIP会员注释为“穷逼VIP(活动送的那种)”,这让刚刚领了免费会...

    BestSDK
  • 全网最易懂的正则表达式教程(5)- 断言

    和单词的边界类似,在正则中还有文本每行的开始和结束,如果要求匹配的内容要出现在一行文本开头或结尾,就可以使用 ^ 和 $ 来进行位置界定

    小菠萝测试笔记

扫码关注云+社区

领取腾讯云代金券