本教程为您展示如何在弹性伸缩控制台快速使用弹性伸缩。弹性伸缩的使用流程如下图所示。更多阅读:什么是弹性伸缩,以及在云服务器中的运作原理
本文以A公司的业务场景为例,为您展示如何快速配置弹性伸缩。不同业务场景,所需的操作不同,具体如下表所示。如果您想实现下表中所有的业务需求,请依次执行本文操作步骤即可。
准备工作
如果您初次使用弹性伸缩,您需要完成以下准备工作:
- 已创建服务关联角色AliyunServiceRoleForAutoScaling。
- 如果您使用RAM用户,您还需要为RAM用户添加AliyunESSFullAccess权限。
步骤一:创建伸缩组
伸缩组是弹性伸缩的核心单元,用来管理满足该公司业务需求的一组实例。弹性伸缩将会在该伸缩组内自动增加或减少实例。
步骤二:创建伸缩配置
伸缩配置是扩容时ECS实例使用的模板,包括实例规格、存储、公网IP、安全组等配置信息。弹性伸缩使用该伸缩配置创建具有相同配置的ECS实例。
步骤三:创建伸缩规则
伸缩规则用来指定每次伸缩活动的规则,如增加或者减少ECS实例的数量,或者智能设置伸缩组的最大或最小实例数。
本示例中,您需要针对两种伸缩场景设置两个伸缩规则:
- 弹性扩张:增加1台ECS实例。
- 弹性收缩:减少1台ECS实例。
创建伸缩规则后,您可以结合业务场景,选择方式触发伸缩活动。比如,手动执行伸缩规则,或者通过报警任务或定时任务自动执行伸缩规则。
- 在页面上方,单击伸缩规则与伸缩活动页签,然后单击伸缩规则页签。
- 创建一个弹性扩张的伸缩规则。
- 创建一个弹性收缩的伸缩规则。
步骤四:创建报警任务
报警任务通过监控特定的监控指标,对数据指标进行实时的统计,当统计值满足您指定的报警条件时,触发报警并执行您指定的伸缩规则。本示例中,您可以针对需求二和需求三分别设置报警任务,具体如下:
- 需求二:设置报警任务EventTriggeredScalingOut,在伸缩组内CPU使用率不小于70%时,自动执行伸缩规则Add1,增加1台ECS实例。
- 需求三:设置报警任务EventTriggeredScalingIn,在伸缩组内CPU使用率不大于20%时,自动执行伸缩规则Remove1,减少1台ECS实例。
步骤五:创建定时任务
定时任务是一种预设任务,可以在指定时间执行指定伸缩规则。本示例中,您可以针对需求四和需求五分别设置定时任务,具体如下:
- 需求四:设置定时任务ScheduledScalingOut,在高峰期前,实现自动扩张,增加1台ECS实例。
- 需求五:设置定时任务ScheduledScalingIn,在高峰期结束后,实现自动收缩,减少1台ECS实例。
- 创建一个弹性扩张的定时任务。
- 创建一个弹性收缩的定时任务。
执行结果
弹性伸缩会按照您的配置,在以下场景自动扩缩容ECS实例:
- 伸缩组启用后,弹性伸缩自动增加2台ECS实例,满足需求一。
- 如果伸缩组内CPU使用率不小于70%时,增加1台ECS实例,满足需求二。
- 如果伸缩组内CPU使用率不大于20%时,减少1台ECS实例,满足需求三。
- 每天17:55新增1台ECS实例,满足需求四。
- 每天22:05减少一台ECS实例,满足需求五。
您可以在伸缩组的实例列表页签查看实例,自动创建出的ECS实例配置和伸缩配置保持一致。