如果某Web应用使用ECS实例处理业务请求,系统架构分为三层(如上图右侧虚线框所示)。其中,最上层的负载均衡负责将客户端的请求转发给伸缩组内的ECS实例,中间层的伸缩组内的ECS实例负责处理客户端请求,最下层的RDS数据库负责存储来自ECS实例的业务数据。
您可以通过弹性伸缩调整中间层的ECS实例数量,从而自动调整处理业务请求的能力。具体流程说明如下所示:
弹性伸缩在符合各伸缩模式的触发条件时自动触发伸缩活动,伸缩模式如下表所示。关于伸缩模式的配置方式,请参见伸缩模式的配置。
下表中的所有伸缩模式都可以组合配置,即多模式并行方式。例如,在每天中午12:00开始,业务需求明显增加时,您可以设置定时任务,在每天12:00创建20台ECS实例以应对业务高峰。但创建的ECS实例台数不一定能满足业务需求, 则您可以选择其他伸缩模式,如动态模式、自定义模式等,与定时模式组合起来使用。
系统自动通过ExecuteScalingRule接口触发伸缩活动,并在该接口中指定需要执行的伸缩规则唯一标识符,例如示例值为ari:acs:ess:cn-hangzhou:140692647406:scalingrule/asr-bp1dvirgwkoowxk7。
如果您通过弹性伸缩控制台操作,您可以创建伸缩规则后,在伸缩规则列表下找到对应的伸缩规则,单击伸缩规则ID/名称列下的伸缩规则ID(例如asr-bp14u7kzh8442w9z**),在弹出的页面即可查询到该标识符的值。关于如何创建伸缩规则的具体操作,请参见配置伸缩规则。
如果您通过API方式进行操作,关于如何获取伸缩组下的伸缩规则唯一标识符(ScalingRuleAri),您可以调用DescribeScalingRules接口,在返回数据中即可查询到该标识符的值。
根据上述步骤传入的伸缩规则唯一标识符(或ScalingRuleAri)获取伸缩规则、伸缩组、伸缩配置的相关信息,并创建伸缩活动。
通过伸缩规则唯一标识符(或ScalingRuleAri)查询伸缩规则以及相应的伸缩组信息,计算出需要增加的ECS实例数量,并获得需要配置的负载均衡和RDS信息。
通过伸缩组查询到相应的伸缩配置信息,即获得了需要创建的ECS实例的配置信息(CPU、内存、带宽等)。
根据需要增加的ECS实例数量、实例配置信息、需要配置的负载均衡实例和RDS实例创建伸缩活动。
在伸缩活动中,自动创建实例并配置负载均衡和RDS。
按照实例配置信息创建指定数量的ECS实例。
将创建好的ECS实例的内网IP添加到指定的RDS实例的访问白名单当中,并将创建好的ECS实例添加到指定的负载均衡实例当中。
伸缩活动完成后,启动伸缩组的冷却功能。
待冷却时间完成后,该伸缩组才能接收新的执行伸缩规则请求。