文档中心 > 弹性伸缩 > 最佳实践 > 五分钟节省30%成本(集群版)

五分钟节省30%成本(集群版)

最近更新时间:2020-06-03 11:44:09

操作场景

说明:

本文中提供的方案适用于集群式部署的网站或 App。

如果您的业务满足以下条件,可花5分钟配置这个方案,节省30%成本:

  • 网站使用集群的方式,且集群拥有超过1台以上的云服务器(CVM)。
  • 网站有较长时间的空闲。根据腾讯云的统计,90%的集群在凌晨00:00 - 早上09:00这9个小时的负载低于30%。

可以看出,大部分网站的高峰时间不超过8个小时,剩下的16个小时的时间,完全可以把闲置的服务器作缩容处理,这种方式能帮助您节约大量成本。

本文以某休闲类网站为例,假设该网站20:00 - 24:00是访问高峰时段。

方案简述

  • 按非高峰时段的负载部署固定资源,可采用包年包月 CVM。
  • 高峰时段的不足部分采用按量计费的 CVM,并通过定时任务在20:00扩容1台,24:00缩容回去。

新旧方案的对比:

收益

假设原方案需要两台4核4GB的 CVM,改成一台4核4GB的 CVM + 每天4个小时临时 CVM,能节省30%左右开支。
示例中的小网站每年可以节省1500元:

具体操作

示例网站的结构比较简单,只有应用服务器一个集群。如果复杂的网站,会有应用服务器集群、前端服务器集群、缓存服务器集群等,每个集群都可进行类似操作,每个集群对应一个伸缩组。如下图所示:

步骤1:创建集群机器的自定义镜像

请参考 创建自定义镜像,并基于一台现有的集群机器进行制作。

说明:

您需要提前部署好镜像中的环境,确保镜像里的应用能随操作系统启动,这样扩容出来的机器就能直接工作,无需人工介入。

步骤2:创建启动配置

扩容时 AS 以启动配置为模板创建机器,因此我们需先通过创建启动配置时指定地域、机型、镜像。

  1. 登录弹性伸缩控制台,选择左侧导航栏中的【启动配置】。
  2. 在“启动配置”列表页面上方,选择 Web 应用所在的项目和地域。
  3. 单击【新建】进入“创建启动配置”页面,根据指引完成启动配置的创建。
    请注意在“镜像”中,需指定您刚创建的自定义镜像。

步骤3:为机器创建伸缩组

  1. 登录弹性伸缩控制台,选择左侧导航栏中的【伸缩组】。
  2. 单击【新建】,根据以下信息创建伸缩组,并单击【下一步】。如下图所示:
    • 名称:按需起一个名字,本文以“应用服务器集群”为例。
    • 最小伸缩数:集群服务器数量的下限,示例网站填0即可。
    • 起始实例数:伸缩组刚创建时,自动创建的机器数量。一般不会刚创建伸缩组就自动创建机器,建议填0。
    • 最大伸缩数:集群服务器数量的上限,请按需填写。本文做大伸缩数以5为例,即伸缩组最多有5台机器。
    • 启动配置:选择刚才您创建的启动配置。
    • 支持网络:会话服务器的网络环境,一般选“基础网络”即可。
    • 支持子网:会话服务器所在子网,您可选择多个子网,自动扩容的机器随机地从您勾选的子网创建,达到跨子网容灾的效果。
  3. 在“负载均衡配置”中,选择集群所使用的负载均衡,并单击【完成】即可创建伸缩组。如下图所示:

步骤4:添加现有机器进伸缩组

  1. 在“伸缩组”列表页面中,选择伸缩组 ID,进入伸缩组管理页。
  2. 选择【关联实例】页签,并单击【添加实例】。如下图所示:
  3. 在弹出的“添加实例”窗口中,选择集群已有的云服务器加入伸缩组。如下图所示:
    如果现在是非高峰时期,集群中未充分利用的云服务器可以退还,节约成本。本文中两台名为 use 的云服务器,一台加入伸缩组,另一台可退还。
  4. 成功添加后,对该云服务器设置“免于缩容”。
    选择云服务器所在行右侧的【设置移出保护】,并在弹出框中单击【确定】。如下图所示:

    已设置移出保护的云服务器在缩容活动中,伸缩组不会选择该云服务器缩容。此机器将永久保留在集群中进行服务,AS 不会更改它。

步骤5:设置扩缩容策略(重点)

AS 支持定时扩容及基于告警动态扩容、接收扩缩容通知、查看历史扩缩容详情等功能。您可结合实际情况进行使用,如下图所示:

  1. 在“伸缩组管理”页面,选择【定时任务】页签,并单击【新建】。
  2. 在“新建定时任务”窗口中,根据以下信息设置一个20:00的定时扩容任务,20:00云服务器数量增加至2台。如下图所示:
    • 名称:输入任务名称,本文以“20:00扩容”为例。
    • 伸缩组活动
      • 更改最小实例数:伸缩组最小实例数,保持为0不更改。
      • 更改期望实例数:根据执行开始时间每天执行一次,本文中即为每日20:00都调整到2台云服务器。
      • 更改最大实例数:伸缩组最大实例数,保持为5不变,您可按需设置。
    • 重复周期:伸缩组活动的周期,本文设置每天执行一次。
    • 执行开始时间:伸缩组活动重复开始时间,即 2019-12-14 20:00 开始活动,并按照重复周期执行。
    • 重复结束时间:伸缩组活动重复结束时间,即 2020-12-14 20:00 后不再重复。
      注意:

      腾讯云的 CVM 需要1分钟左右创建,如果自定义镜像较大,可能需要更多时间。您可以将执行开始时间提早5分钟。

  3. 参考以上步骤,再设置一个24:00的缩容任务,24:00云服务器数量减少至1台。如下图所示:

    至此大功告成!
    网站的后台集群变为“1台固定应用服务器+1台高峰时定时创建的应用服务器”。
    没加入伸缩组的其他集群机器,大部分时间未充分利用,可以退还掉节约成本。
目录