什么是OOS

Operation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于OOS更详细的介绍请查阅什么是运维编排服务

场景简介

如果您的服务产品在每天都有特定的流量高峰期时间段,在此时间段内需要大量的实例维护服务。当过了每日的流量高峰期时间段后,此时保留大量的多余ECS实例,会提高成本费用。所以需要有一种方法,来实现既能保留ECS实例内的服务功能,又可以大量的减少因多余实例而产生的成本费用。

ECS实例服务有一项按量付费实例停机不收费功能,此功能在保留ECS云服务器的前提下达到降低整体费用的功能。当需要再次应用这部分停机的实例时可以直接使用,不需要对其进行功能初始化操作,便可以达到和日常的实例一样的功能。但是此时也产生了一个问题,那就是需要有人来定时处理机器的开关机问题。

此问题不复杂但是需要运维人员来维护大量的实例,若通过人工操作所有实例,可能会浪费大量的时间和人力,而且容易出现问题。所以需要一个自动化的系统,来处理定时开关机的问题。目前OOS运维编排服务已经为您提供了一个此需求下的定时开关机功能

前提条件

  1. 必须将需要操作的实例设置成停机不收费模式(请参考按量付费实例停机不收费,来设置ECS实例的按量付费实例停机不收费)。

解决方案

机器分组

首先建议对机器进行分组,给每日进行需要开关机的机器设置上相应的标签,例如按照每日是否需要进行开关机来将本的机器进行分组machine:Stop,machine:Daily, 这样比较方便管理,批量执行时候只需要选择相应的标签便可以对标签下的实例进行操作。

设置实例的定时开关机

在ECS实例已经设置为停机不收费的模式后,此时便可以使用OOS运维编排的定时开关机功能,将特定标签下的实例来做定时管理。流程如下图所示。

操作步骤

  1. 首先登录到运维编排控制台
  2. 单击常见运维任务,单击定时开关机
  3. 单机新建任务

  4. 选择操作任务栏中,设置任务名称、时区,定时开机时间、定时关机时间,以及选择一周内定时开关机任务的执行的频率。

  5. 选择实例任务栏内,选择指定实例标签后,单机选择标签。在选择地域后,分别在标签键标签值下输入需要操作的实例标签后,单机添加按钮。

  6. 单击高级选项,选择并发控制,并设置并发速率,以及最大错误数。或者使用默认值。

  7. 单机确认风险并执行,就可以完全自动化的管理实例的定时开关机功能了。
  8. 在选择对应执行的详情后,单机定时执行类列表,在未来执行列表下可以看见下批次任务执行的时间,在历史执行列表下可以看见已经执行开关机的执行详情。
  9. 根据标签选择实例后,我们可以发现第一轮的任务执行完成之后,实例已经进入了停止状态,直至到达下一个任务时间点,实例才会自动执行开机动作。然后根据您设置的定时时间来往复循环开关机操作。

总结

在设置ECS实例为停机不收费后,我们可以发现,仅仅通过在OOS的控制台上,输入实例的标签,便可以完全自动化的控制大量的ECS实例的去做定时开关机。使用此功能可以大量节省时间,并做到了降本的预期。