通过弹性伸缩自动扩缩容ECI实例

在非K8s场景下,使用ECI实例来运行容器应用时,可以配合使用阿里云弹性伸缩服务,实现根据业务量自动增加或者减少ECI实例,在保证业务正常运行的同时节约使用成本。

功能概述

阿里云弹性伸缩(Auto Scaling)是根据业务需求和策略自动调整计算能力(即实例数量)的服务。非K8s场景下,配合使用弹性伸缩来管理ECI实例,可以实现自动扩缩容ECI实例,在满足业务需求的同时,提高资源利用率,降低人力和使用成本。更多信息,请参见弹性伸缩简介

对于运行同一业务的ECI实例,您可以将其加入到弹性伸缩组中,设置伸缩组最小实例数来保证日常业务运行,设置伸缩组最大实例数来避免成本超标,同时可以设置伸缩规则,配合定时任务或者报警任务来实现自动扩缩容组内的ECI实例。功能示意图如下:

ESS2

通过弹性伸缩自动扩缩容ECI实例适用于以下场景:

  • 业务量变化有规律,在某一特定时间进行扩缩容。

    例如:某游戏公司在每晚18点~24点的时间段内业务量激增,您可以创建定时任务,在每天的18:00自动增加ECI实例,在每天的24:00自动减少ECI实例。

    ESS3
  • 业务量变化无规律,根据监控指标自动进行扩缩容。

    例如:某视频直播公司的日常业务量难以预测,您可以创建报警任务,监控伸缩组内ECI实例的CPU使用率,自动增加或者减少ECI实例,使得CPU使用率维持在60%。

    ESS4

配置流程

通过弹性伸缩自动扩缩容ECI实例的流程如下:

ESS1
  1. 创建伸缩组

    伸缩组用于管理具有相同应用场景的ECI实例集合。您可以通过伸缩组定义可容纳实例数量的边界值(最大和最小实例数)、弹性扩张时使用的实例模板、弹性收缩时移出实例的策略等属性,让伸缩组按照您的需求维护一组实例。更多信息,请参见创建伸缩组

  2. 创建伸缩配置

    伸缩组自动扩张时,将根据伸缩配置中的实例配置来源来创建ECI实例,并将ECI实例加入到伸缩组中。更多信息,请参见创建伸缩配置(ECI实例)

    说明

    由于容器镜像一般较大,拉取镜像会影响ECI实例的启动耗时,因此配置时建议开启自动匹配镜像缓存,以加速ECI实例的创建。

  3. 启用伸缩组

    伸缩组处于启用状态时才可以进行弹性扩张和收缩。首次创建伸缩配置后,会自动提示启用伸缩组。您也可以在伸缩组列表自行启用伸缩组。更多信息,请参见启用伸缩组

  4. 创建伸缩规则

    伸缩规则用于触发伸缩活动,分为简单规则和目标追踪规则等,您可以根据业务需要创建对应类型的伸缩规则。

    • 简单规则:指定增加、减少的实例数,或者将实例数量调整到指定值。

    • 目标追踪规则:选择某一监控指标并设置目标值,系统将自动增加或者减少实例数,使得监控指标值维持在目标值附近。

    更多信息,请参见创建伸缩规则

  5. 执行伸缩规则

    您可以通过以下方式执行伸缩规则,实现伸缩组内ECI实例的弹性伸缩,在业务高峰增加ECI实例来缓解业务压力,在业务低谷时释放ECI实例来减少使用成本。

    • 手动执行

      如果临时需要伸缩ECI实例,可以手动执行伸缩规则。更多信息,请参见执行伸缩规则

    • 通过定时任务自动执行

      定时任务可以在指定时间执行伸缩规则。如果业务量的变化时间可预测,您可以创建定时任务。更多信息,请参见创建定时任务

    • 通过报警任务自动执行

      报警任务通过监控特定的监控指标(CPU使用率、内存和自定义指标),对数据指标进行实时统计,当统计值满足您指定的报警条件时,触发报警并执行伸缩规则。如果业务量的变化没有明显规律,您可以创建报警任务。更多信息,请参见创建报警任务

配置示例

业务场景

配置示例

实现效果

某公司日常业务需要10台ECI实例,但每晚18点~24点的时间段内业务量会激增,需增加5台ECI实例。

  1. 创建伸缩组,设置类型为ECI,最小实例数为10台,最大实例数为20台。

  2. 创建伸缩配置,设置实例配置来源。

  3. 启用伸缩组,此时系统将创建10台ECI实例。

  4. 创建伸缩规则,设置2条规则简单规则:

    • 规则1:执行操作为调整至15台。

    • 规则2:执行操作为调整至10台。

  5. 创建定时任务,设置2个任务:

    • 任务1:执行时间17:55,按天重复执行一次规则1。

    • 任务2:执行时间24:05,按天重复执行一次规则2。

业务量平峰时段(0点~18点)有10台ECI实例维持日常业务运行;业务量高峰时段(18点~24点)将扩容到15台ECI实例。

某公司日常业务需要10台ECI实例,但业务变化情况难以预测,无法确定何时需要增加或减少多少台ECI实例。

  1. 创建伸缩组,设置类型为ECI,最小实例数为10台,最大实例数为30台。

  2. 创建伸缩配置,设置实例配置来源。

  3. 启用伸缩组,此时系统将创建10台ECI实例。

  4. 创建伸缩规则,设置1条目标追踪规则:监控指标为CPU使用率,目标值为60%。

  5. 创建目标追踪规则后,系统将自动创建报警任务,监控CPU使用率。

业务量平峰时段有10台ECI实例维持日常业务运行;业务量高峰时段,系统将监测组内ECI实例的CPU使用率,自动增加或者减少ECI实例,使得CPU使用率维持在60%左右。

更多信息,请参见快速扩缩容ECI实例

阿里云首页 弹性容器实例 相关技术圈