弹性伸缩可以根据您设定的策略自动调整计算资源数量(即业务所需的实例数量),帮助您高效应对业务流量波动,提高资源利用率,并节约成本。对于无规律的业务波动,您可以通过报警任务来监控业务负载,在监控指标(如CPU使用率)达到报警阈值时触发伸缩规则,自动增加或减少一定数量的ECS实例。
适用场景
场景描述
业务需求动态波动,无法预估所需的服务器数量和时间点,期望根据业务负载实时调整服务器数量。
例如:某新闻网站的流量难以预测,出现热点新闻时,访问量突增,新闻时效性降低后,访问量回落。
解决方案
通过报警任务联动云监控,在指定的监控指标满足条件时自动触发伸缩规则,从而实现根据业务负载自动扩缩容服务器。
方案优势
零备机成本
弹性伸缩可自动创建和释放ECS实例,实现按需取用,无需备机。您只需针对日常业务流量保有计算资源。
自动扩缩容
通过云监控实时监控负载变化,实现自动扩缩容,在满足业务需求的同时节约资源和运维成本。
前提条件
首次使用弹性伸缩时,已完成RAM相关授权操作。
步骤一:创建伸缩组
伸缩组是弹性伸缩的核心单元,用于管理具有相同应用场景的实例集合。弹性伸缩将会在该伸缩组内增加或减少实例。
进入伸缩组管理页面。
登录弹性伸缩控制台。
在左侧导航栏中,单击伸缩组管理。
在顶部菜单栏处,选择地域。
在页面左上角,单击创建伸缩组。
在通过表单创建页签下,完成伸缩组配置,然后单击创建。
本文示例采用以下配置,未提及的配置项保持默认。更多关于伸缩组的配置说明,请参见创建伸缩组。
配置项
示例
描述
伸缩组名称
test
输入伸缩组名称。格式要求请参考界面提示。
伸缩组类型
ECS
选择ECS,表示伸缩组内的实例类型为ECS实例。
组内实例配置信息来源
从零开始创建
先不指定自动创建实例的模板。伸缩组创建完成后,您需要继续创建伸缩配置。
组内最小实例数
1
设置伸缩组内实例数量的下限。当前实例数量低于下限时,伸缩组会自动添加实例,使得伸缩组内的实例数量等于下限。
组内最大实例数
5
设置伸缩组内实例数量的上限。当前实例数量超过上限时,伸缩组会自动移出实例,使得伸缩组内的实例数量等于上限。
专有网络
vpc-bp1jmxxau0lur929p****
选择伸缩组内ECS实例所属的专有网络。
选择交换机
vsw-2zeknnyw2ewufbs4z****
vsw-2zesy03h8eaf9fe0l****
选择伸缩组内ECS实例所属的交换机。建议选择多个交换机来提升扩容成功率。
步骤二:创建伸缩配置并启用伸缩配置和伸缩组
伸缩配置是扩容时所增加的ECS实例的配置模板,包括实例付费模式、规格、存储、网络等配置信息。创建伸缩组配置后,您可以启用伸缩配置,然后启用伸缩组。
找到待操作的伸缩组,选择任一种方式打开伸缩组详情页面。
在伸缩组名称/ID列,单击伸缩组ID。
在操作列,单击查看详情。
在页面上方,单击实例配置来源页签。
在伸缩配置页签下,单击创建伸缩配置。
在创建伸缩配置页面,完成相关参数配置,单击创建。
本示例中采用以下配置,未提及的配置项保持默认。更多关于伸缩配置的配置说明,请参见创建伸缩配置(ECS实例)。
区域
配置项
示例
描述
基础信息
伸缩配置名称
test
输入伸缩配置的名称。格式要求请参考界面提示。
付费模式
按量付费
弹性伸缩服务免费,但您需要为扩容时所增加的ECS实例付费。本文采用按量付费方式作为示例。更多信息,请参见计费概述。
实例和镜像
实例配置方式
指定实例属性
选择指定实例属性方式来配置ECS实例的规格需求。
指定实例属性组合
2 vCPU,4 GiB内存,企业级
设置ECS实例的vCPU和内存需求。
选择镜像
公共镜像Alibaba Cloud Linux 3.2104 LTS 64位
选择用于部署ECS实例的镜像。本文以公共镜像作为示例,实际业务场景请选用您已部署应用的自定义镜像。
存储
系统盘
ESSD云盘,40 Gib,PL0
为ECS实例选择系统盘。
网络和安全组
公网IP
选中分配公网IPv4地址,默认按固定带宽计费,带宽值默认为1 Mbit/s。
按需选择是否为ECS实例分配公网IP地址。按公网出方向实际发生的带宽计费,带宽费用合并在ECS实例中收取。
安全组
sg-bp18kz60mefsicfg****
选择您提前创建好的安全组。如需创建安全组,请参见创建安全组。
管理设置
登录凭证
创建后设置
ECS实例创建完成后,再手动为ECS实例设置密码。
在弹出的伸缩配置预览对话框中,确认配置信息,然后单击确认创建。
在弹出的伸缩配置创建成功对话框中,单击启用配置。
在弹出的选用伸缩配置对话框中,单击确定。
说明在一个伸缩组内,您必须启用一个伸缩配置。启用伸缩配置后,该伸缩配置处于生效状态。
在弹出的启用伸缩组对话框中,单击确定。
启用伸缩组后,弹性伸缩才会按照您的配置实现扩容和缩容。
本示例伸缩组内的最小实例数为1,因此启用伸缩组后,系统会基于伸缩配置自动创建一台ECS实例。您可以在伸缩组详情页面的实例列表页签下,选择自动创建页签,查看实例信息。
步骤三:创建伸缩规则
伸缩规则用来指定每次伸缩活动的规则,如增加或者减少ECS实例的数量。
在伸缩组详情页面,单击伸缩规则与报警任务页签,然后单击伸缩规则页签。
单击创建伸缩规则,完成伸缩规则配置,然后单击确认。
本示例采用简单规则。更多关于伸缩规则的配置说明,请参见配置伸缩规则。
配置项
描述
规则名称
输入规则名称。格式要求请参考界面提示。
伸缩规则类型
本示例采用简单规则。更多关于伸缩规则的介绍,请参见伸缩规则概述。
执行的操作
设置触发规则时,需要增加或减少多少实例。单次伸缩支持的最大实例数为1000台。
冷却时间
可选项,单位为秒。不填写则默认使用伸缩组的冷却时间,更多信息,请参见冷却时间。
请重复该步骤,分别创建扩容规则和缩容规则。配置示例如下:
伸缩规则
配置示例
扩容规则
规则名称:add
伸缩规则类型:简单规则
执行的操作:增加1台
缩容规则
规则名称:remove
伸缩规则类型:简单规则
执行的操作:减少1台
步骤四:创建报警任务
报警任务通过监控特定的监控指标,对数据指标进行实时的统计,当统计值满足您指定的报警条件时,触发报警并执行您指定的伸缩规则。
在伸缩组详情页面,单击伸缩规则和报警任务页签,然后单击报警任务页签。
在报警任务(系统)页签,单击创建报警任务,完成任务配置,然后单击确认。
说明本示例使用系统提供的指标创建报警任务,您也可以上报自有业务指标并创建报警任务。更多信息,请参见报警任务概述。
需要关注的任务配置如下,未提及的配置项保持默认。更多关于报警任务的配置说明,请参见配置报警任务。
配置项
描述
名称
输入任务名称。格式要求请参考界面提示。
报警指标描述
设置监控指标达到什么条件时触发报警。您需要选择一个或多个系统定义的监控项,选择多个系统定义的监控项时,单击添加指标继续选择即可。
该部分包含的配置项说明如下:
监控项:系统监控支持的监控指标名称。例如,(ECS)CPU使用率表示监控伸缩组内ECS实例的CPU使用率。
统计办法:即判定云监控指标值超出阈值范围的规则,您可以围绕平均值、最大值或最小值设置规则。例如,Average(平均值)>=70%表示伸缩组内ECS实例的CPU使用率平均值不小于70%触发报警。
报警触发规则
选择报警触发的伸缩规则。
请重复该步骤,分别创建触发扩容规则和缩容规则的报警任务。配置示例如下:
报警任务
配置示例
报警触发扩容
名称:alarm-add
报警指标描述:(ECS)CPU使用率>Average(平均值)>70%
报警触发规则:add
报警触发缩容
名称:alarm-remove
报警指标描述:(ECS)CPU使用率>Average(平均值)<20%
报警触发规则:remove
验证自动扩缩容效果
报警任务创建后,系统会实时监控伸缩组内的指标数据,在指标数据满足条件时执行伸缩规则。
本示例实现效果为:
伸缩组内ECS实例的CPU使用率大于70%时,自动增加1台ECS实例。
伸缩组内ECS实例的CPU使用率小于20%时,自动减少1台ECS实例。
您可以通过压测工具来模拟测试,通过以下方式确认效果:
报警任务触发时,在伸缩组详情页面的实例列表页签下,选择自动创建页签,然后在实例列表中观察实例数量变化。
报警任务触发后,在伸缩组详情页面的伸缩活动页签下,查看是否已按时触发伸缩活动,单击伸缩活动ID可查看详细信息。