通过本文档的案例,您可以了解到如何使用站点监控触发弹性伸缩进行扩容新实例,实现自动化的流程。
背景信息
使用站点监控定时探测,应用型负载均衡ALB监听的应用服务,如果发生探测异常报警,将会触发弹性伸缩ESS,进行扩容一台新实例,并自动加入到应用型负载均衡ALB监听的后端服务器组中,实现服务连续性可靠的提供正常服务,从而避免了单点故障问题。
前提条件
-
请确保创建一台ECS实例。具体操作,请参见创建实例。
-
在ECS实例部署启动一个Web服务并且设置开机启动服务,创建自定义镜像,具体操作,请参见使用快照创建自定义镜像。
-
请确保已创建应用型负载均衡ALB实例。具体操作,请参见创建和管理ALB实例。
步骤一:创建弹性伸缩
-
首先创建启动模板,是用于弹性伸缩通过启动模板扩容新实例,登录ECS管理控制,在左侧导航栏,请选择部署与弹性,在滑出的菜单里,单击实例启动模板。
-
单击创建模板,具体操作,请参见通过控制台创建启动模板。
说明选择镜像时,请选择已创建完成的Web服务实例的自定义镜像。
-
登录弹性伸缩控制台。
-
在左侧导航栏中,单击伸缩组管理,单击创建伸缩组,进行相关参数配置,然后单击创建按钮。
填写伸缩组名称为
ess-group-app,伸缩组类型选择 ECS,组内实例配置信息来源选择启动模板,选择启动模板为ess-start-template-app,选择模板版本为始终使用默认版本。其中,将组内最小实例数设置为1,组内最大实例数设置为3。在添加已有实例中选择目标ECS实例,在关联负载均衡ALB、NLB服务器组中添加一行服务器组信息,设置类型为ALB、端口为8000、权重为100,在设置消息接收通知中勾选伸缩活动失败。说明关于伸缩组管理参数配置说明,请参阅配置伸缩组。
-
在左侧导航菜单,单击伸缩组管理,在列表页面,单击目标实例ID进入伸缩组实例界面。
-
单击页签伸缩规则与报警任务,单击创建伸缩规则按钮,进行相关参数配置,然后单击确认按钮。
设置规则名称为
ess-rule-add,伸缩规则类型选择简单规则,执行的操作设置为增加1台实例,按需设置冷却时间(单位:秒)。说明关于配置伸缩规则参数说明,请参阅配置伸缩规则。
步骤二:创建站点监控任务
-
登录云监控控制台。
-
左侧导航栏,选择网络分析与监控>站点监控。
-
在监控任务页签,单击创建任务。
-
设置站点监控任务的相关信息,关于更多参数配置信息,请参见基于公网PC端探测节点探测。
基本信息:设置监控地址参数为负载均衡公网IP地址,提供用户访问的地址和端口,进行地址探测。
设置任务类型为HTTP(S),任务名称填写
monitor-app-task,监控地址方法选择GET,监控频率选择1分钟。在断言定义区域设置可用条件为响应时间(ms)小于5000ms。选择探测点:单击勾选一个探测点。
设置报警:在操作列单击编辑,单击滑动弹性伸缩,选择已完成创建的弹性伸缩组和弹性伸缩规则,单击确定,再单击创建。在添加规则描述区域,设置 指标名称 为 可用探测点百分比,比较条件为 <,Critical 级别阈值设为
90(单位:%),连续 3 个周期,通知方式选择电话+短信+邮件+WebHook。开启 弹性伸缩 开关,地域 选择 华东1(杭州),弹性伸缩组 选择ess-group-app,弹性伸缩规则 选择ess-rule-add,单击 确定。配置报警联系组:单击勾选报警联系组,单击已选择,单击创建。
步骤三:验证结果
通过关闭Web服务应用,模拟应用服务故障,弹性伸缩成功的扩容了新实例,实现应用服务依然可正常访问。