通过站点监控触发自动扩缩容

更新时间:
复制为 MD 格式

通过本文档的案例,您可以了解到如何使用站点监控触发弹性伸缩进行扩容新实例,实现自动化的流程。

背景信息

使用站点监控定时探测,应用型负载均衡ALB监听的应用服务,如果发生探测异常报警,将会触发弹性伸缩ESS,进行扩容一台新实例,并自动加入到应用型负载均衡ALB监听的后端服务器组中,实现服务连续性可靠的提供正常服务,从而避免了单点故障问题。

前提条件

步骤一:创建弹性伸缩

  1. 首先创建启动模板,是用于弹性伸缩通过启动模板扩容新实例,登录ECS管理控制在左侧导航栏,请选择部署与弹性,在滑出的菜单里,单击实例启动模板

  2. 单击创建模板,具体操作,请参见通过控制台创建启动模板

    说明

    选择镜像时,请选择已创建完成的Web服务实例的自定义镜像。

  3. 登录弹性伸缩控制台

  4. 在左侧导航栏中,单击伸缩组管理,单击创建伸缩组,进行相关参数配置,然后单击创建按钮。

    填写伸缩组名称ess-group-app伸缩组类型选择 ECS组内实例配置信息来源选择启动模板选择启动模板ess-start-template-app选择模板版本始终使用默认版本。其中,将组内最小实例数设置为1组内最大实例数设置为3。在添加已有实例中选择目标ECS实例,在关联负载均衡ALB、NLB服务器组中添加一行服务器组信息,设置类型为ALB、端口为8000、权重为100,在设置消息接收通知中勾选伸缩活动失败

    说明

    关于伸缩组管理参数配置说明,请参阅配置伸缩组

  5. 在左侧导航菜单,单击伸缩组管理,在列表页面,单击目标实例ID进入伸缩组实例界面。

  6. 单击页签伸缩规则与报警任务,单击创建伸缩规则按钮,进行相关参数配置,然后单击确认按钮。

    设置规则名称ess-rule-add伸缩规则类型选择简单规则执行的操作设置为增加 1 实例,按需设置冷却时间(单位:秒)。

    说明

    关于配置伸缩规则参数说明,请参阅配置伸缩规则

步骤二:创建站点监控任务

  1. 登录云监控控制台

  2. 左侧导航栏,选择网络分析与监控>站点监控

  3. 监控任务页签,单击创建任务

  4. 设置站点监控任务的相关信息,关于更多参数配置信息,请参见基于公网PC端探测节点探测

    基本信息:设置监控地址参数为负载均衡公网IP地址,提供用户访问的地址和端口,进行地址探测。

    设置任务类型HTTP(S)任务名称填写monitor-app-task监控地址方法选择GET监控频率选择1分钟。在断言定义区域设置可用条件为响应时间(ms)小于5000ms。

    选择探测点:单击勾选一个探测点。

    设置报警:在操作列单击编辑,单击滑动弹性伸缩,选择已完成创建的弹性伸缩组和弹性伸缩规则,单击确定,再单击创建。在添加规则描述区域,设置 指标名称可用探测点百分比,比较条件为 <,Critical 级别阈值设为 90(单位:%),连续 3 个周期,通知方式选择电话+短信+邮件+WebHook。开启 弹性伸缩 开关,地域 选择 华东1(杭州)弹性伸缩组 选择 ess-group-app弹性伸缩规则 选择 ess-rule-add,单击 确定配置报警联系组:单击勾选报警联系组,单击已选择,单击创建

步骤三:验证结果

通过关闭Web服务应用,模拟应用服务故障,弹性伸缩成功的扩容了新实例,实现应用服务依然可正常访问。