在分布式应用管理中,弹性伸缩是很重要的一个运维能力。弹性伸缩能够感知应用内各个实例的状态,并根据状态动态实现应用扩容、缩容。在保证服务质量的同时,提升应用的可用率。

弹性伸缩简介

互联网、游戏类等应用在促销活动期间容易出现突发性流量洪流,SLA 和资源成本不易平衡,极易造成系统响应延迟、系统瘫痪等问题。EDAS 继承阿里巴巴应对双 11 的流量洪流技术,提供秒级自动弹性功能,保证 SLA 的同时也节省机器保有成本。多适用于互联网、游戏以及社交平台等行业。

弹性伸缩适用于在ECS集群中创建的应用。在单实例环境中,弹性伸缩可确保始终有一个正在运行的实例。在流量变化很快的环境中,通过弹性伸缩配置要运行的实例数范围,EDAS 将根据设置的负载规则按需添加或删除实例。

弹性伸缩功能根据应用实例的以下指标来判断并实现自动扩容或者缩容:
  • CPU:CPU 使用率,以百分比表示。
  • RT:对请求作出的响应时间,单位为 ms 。
  • Load:应用实例的负载大小,以正整数表示。

自动弹性伸缩

弹性伸缩包括自动扩容和自动缩容,可以分别配置扩容规则或者缩容规则。下面以配置扩容规则为例来展示操作步骤。

说明
  • 同时配置扩容和缩容规则的时候,缩容规则的指标不能大于扩容规则的指标,否则,在单击保存的时候会弹出错误提示。
  • 若使用了弹性资源,缩容时会优先释放弹性资源提供的实例。
  1. 登录 EDAS 控制台,在页面左上角选择所需地域。
  2. 在左侧导航栏中选择应用管理 > 应用列表 ,在应用列表页面单击具体的应用名称。
  3. 在应用详情页面左侧的导航栏中,单击弹性伸缩
  4. 扩容规则区域右上角打开开关启用扩容规则。
  5. 配置扩容规则参数,然后在弹性伸缩页面右下角单击保存
    1. 配置触发指标:设置 CPU、RT 和 Load 指标的阈值。当超过阈值时,触发扩容。
    2. 选择触发条件
      • 任一指标:表示设定的指标中任意一个指标被触发都会引起扩容。
      • 所有指标:表示设定所有指标必须全部被触发才能引发自动扩容操作。
    3. 持续时间超过:指标持续被触发的时间,单位为分钟。表示在持续时间内,指标每分钟的平均值持续达到设置的阈值,就会引起扩容操作,您可根据集群服务能能力的灵敏度酌情配置。
    4. 配置应用来源
      • 已有资源:自动扩容时会从当前应用所在集群选择指定数量的闲置 ECS 实例扩容到该应用。
        说明 当所在集群中现有的 ECS 实例数量不够,无法满足扩容需求时,EDAS 会根据已有实例数量来进行扩容。
      • 弹性资源:基于现有实例规格或实例启动模版来代购实例,然后自动将代购的实例导入所在集群并用于应用扩容。
        参数 描述
        创建方式
        • 基于现有实例规格购买:从所在集群内已有的实例规格中选择一个作为模板来代购实例。
        • 基于实例启动模版购买:会基于您在 ECS 控制台创建的实例启动模版来代购实例。
        模板主机/启动模板 选择一个现有实例规格或者选择一个启动模板作为模板来代购实例。
        登录密钥 当选择基于现有实例规格购买时,需要选择登录密钥。
        服务协议 勾选《云服务器 ECS 服务条款》 | 《镜像商品使用条款》
        高级选项(可选)
        • 基于现有实例规格购买:输入登录密码后,新创建的 ECS 实例将以此密钥对作为 SSH 登录认证方式。
        • 基于实例启动模版购买网络类型为您需要扩容的当前应用所在的网络,不可更改。如果当前网络为 VPC 网络,需要指定新创建实例连接的虚拟交换机;若指定多个虚拟交换机,EDAS 将通过多可用区扩缩容策略来进行自动分配。
      • 已有资源优先:自动扩容时优先使用集群内空闲实例,如果集群内的空闲实例不足,则使用弹性伸缩功能为您代购实例。
    5. 设置每次扩容的实例数:每次触发扩容操作后,自动增加的实例个数。
    6. 设置分组最大实例数:当集群内服务器数量达到配置的最大实例数后,不再继续扩容,请根据您的资源限额配置。

查看弹性伸缩结果

设置了弹性伸缩规则后,如果发生了自动扩容或者自动缩容操作后,您可以通过以下方式来查看伸缩结果:
  • 在应用的基本信息页面中查看实例数量是否增加或者减少。
  • 在应用详情页面的左侧导航栏单击变更记录。对于变更类型为应用扩容应用缩容,且来源是auto_scale的变更记录,在操作列单击查看进入变更详情页面查看变更明细。