You need to enable JavaScript to run this app.
导航
利用弹性伸缩降低成本
最近更新时间:2024.05.16 11:01:16首次发布时间:2022.11.16 20:16:54

弹性伸缩支持在同一伸缩组中同时添加“按量计费”和“抢占式实例”计费类型的实例,帮助您在应对业务波动的同时降低成本。本文为您介绍如何构建一个低成本、高效伸缩、随时可应对业务浪涌的伸缩任务。

前提条件

  • 假设您的业务需要3台实例以保障日常基本运行需求。
  • 您已参考 入门指引完成准备工作,规划的资源如下:
    • 私有网络vpc01和子网subnet01。
    • 已创建3台实例用于日常运行,且未关联公网IP和负载均衡服务、不属于任一伸缩组。

步骤一:创建已搭建业务环境的自定义镜像

您需要基于已搭建业务环境的实例创建自定义镜像,当弹性伸缩自动扩展实例时,即自动创建已搭建了业务环境的实例。

  1. 远程连接云服务器并登录,具体操作请参考登录Linux实例小节。
  2. 清除Cloud-Init配置
    执行以下命令,删除/var/lib/cloud文件,清除Cloud-Init配置。若不删除,使用自定义镜像创建的云服务器实例将无法注入主机名、密码等信息。
    rm -rf /var/lib/cloud
  3. 通过实例创建自定义镜像。
    1. 在实例列表页,单击目标实例列表右侧“操作”列下“图片

云盘和镜像 > 创建自定义镜像”按钮。

  1. 在弹出框中,输入自定义镜像名称。
  2. 单击“确定”,等待自定义镜像创建,期间创建时间约需1-10分钟。

步骤二:创建并启动伸缩组

  1. 登录 伸缩组控制台

  2. 单击“创建伸缩组”按钮,进入创建伸缩组页面。

  3. 伸缩组所需参数与创建伸缩组相同,以下仅列出适用于本场景的参数配置。

    参数

    说明

    地域

    选择伸缩组和实例所属的地域,应选择与已创建实例相同的地域。

    伸缩配置来源

    配置伸缩组的实例配置来源,此处选择“暂不配置”。

    最小实例数

    此处设置为可支撑日常运行的实例数量:3。

    私有网络

    此处需选择与已创建实例相同的私有网络:vpc01。

    策略高级配置

    配置伸缩组中实例的混合计费方式,您可以任意组合,帮助您节约成本。
    此处请按需设置伸缩组中按量计费实例的数量或比例。您也可以开启“使用按量计费补充抢占式实例”能力,即如果抢占式实例已售罄,则创建同规格的按量计费实例以满足扩容需求。

  4. 单击“确定”按钮,完成伸缩组创建。

  5. 在伸缩组列表中,单击已创建伸缩组对应的“启用”按钮。

  6. 单击“确定”按钮,启用伸缩组。

步骤三:添加已有实例到伸缩组并启动实例保护

本操作用于将已创建的实例添加到伸缩组中,并设置为保护状态,使其不受伸缩组扩缩容影响,保证业务的正常基本运行需求。

  1. 单击伸缩组的名称,选择“实例管理”页签。
  2. 单击“添加已有实例”按钮,选择已创建的实例。
  3. 不勾选“将实例的生命周期托管给伸缩组”。
  4. 单击“确定”按钮,完成操作。
  5. 单击已添加实例列表右侧的“开启实例保护”按钮。
  6. 单击“确定”按钮,完成操作。

步骤四:创建伸缩配置

  1. 选择“伸缩配置来源 -> 伸缩配置”页签。

  2. 单击“创建伸缩配置”按钮,进入添加伸缩配置页面。

  3. 伸缩配置所需参数与创建伸缩配置相同,以下仅列出适用于本场景的参数配置。

    参数

    说明

    计费类型

    选择“抢占式实例”类型的实例。

    镜像

    选择步骤一中创建的镜像。

    创建后状态

    伸缩配置创建完成后,是否立即绑定伸缩组。此处选择“是”。

  4. 确认配置信息,单击“立即创建”按钮,完成操作。

步骤五:创建报警伸缩规则

报警伸缩规则是通过对实例指标数据的监控,以每分钟一次的频率检测实例运行情况是否符合预期,从而达到动态伸缩的目的,用于应对突发或不可预料的业务场景,例如突发热点新闻等。

  1. 选择“伸缩规则”页签。

  2. 单击“创建伸缩规则”按钮,进入添加伸缩规则页面。

  3. 伸缩规则所需参数与创建报警伸缩规则相同,以下仅列出适用于本场景的参数配置。

    参数

    说明

    监控指标

    带外CPU利用率平均值 > 50%。表示伸缩组中所有实例CPU使用率的平均值大于80%。

    • 获取Agent监控指标数据前,您需要首先在实例中安装Agent插件并完成授权,否则将无法获取数据。安装指引请参考云服务器监控概述

    伸缩行为

    设置在触发时间,需要执行的伸缩行为。此处设置为:增加实例,20个实例。

    创建后状态

    选择伸缩规则创建完成后,是否立即启用。此处选择“启用“。

  4. 单击“确定”按钮,完成操作。

  5. 重复本步骤,创建监控指标为“带外CPU利用率平均值 < 50%”,伸缩行为为“减少实例,10个实例”的伸缩规则。

执行结果

伸缩组每分钟检测一次各实例运行情况,并根据检测结果执行相关操作:

  • 当所有实例的带外CPU利用率平均值 > 50%时,自动按照实例配置创建20台抢占式实例,如果无法创建抢占式实例,则创建同规格的按量计费实例。
  • 当所有实例的带外CPU利用率平均值 < 50%时,自动缩减10台实例,如果存在备选按量计费实例,则优先移除此类实例。
  • 当实例处于 错误 状态,会判定为异常,自动删除异常实例。

后续操作

建议您为伸缩组配置伸缩通知能力,便于您第一时间了解组中实例的扩所容情况,进而实现伸缩活动的高效管理。