后端数据库故障导致负载均衡SLB同一个监听中所有站点访问异常

问题描述

后端数据库故障导致负载均衡SLB的健康检查状态为“异常”,进而影响同一个监听下所有站点的访问。比如,某个HTTP监听的后端服务器中运行如下两个网站。当动态网站的后端数据库服务不可用时,静态网站也随之无法访问,提示HTTP 502错误。

  • 静态网站:www.example.com
  • 动态网站:app.example.com

问题原因

两个网站使用同一个监听,并且监听配置中的健康检查域名为动态网站的域名。当动态网站的后端数据库服务故障时,所有后端服务器中的该动态网站均受到影响,于是健康检查一直处于“异常”状态。由于没有健康检查状态为“正常”的后端服务器,所以SLB实例不会转发流量到后端服务器,最终影响该监听中的静态网站也无法访问。

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

针对该问题,有如下两种解决方式,您可以根据实际情况进行选择:

  • 方式一:修改健康检查域名为静态网站的域名。
  • 方式二:动态网站和静态网站分别使用不同的SLB实例进行负载均衡。

适用于

  • 负载均衡SLB