负载均衡 ELB 怎么用:给多台 ECS 分发流量的实践笔记

举报
yd_291272928 发表于 2026/11/10 08:18:15 2026/11/10
【摘要】 前段时间把一个小服务从一台 ECS 迁到两台,后端直接挂域名轮询,结果一台机器出问题,请求照样往上发,用户直接看到 502。折腾一圈之后还是上了 ELB。这篇笔记记录一下给多台 ECS 分发流量的做法。 一、为什么需要负载均衡单台 ECS 能扛的并发有限,CPU、内存、带宽任一先到瓶颈,服务就开始变慢;更麻烦的是单点故障,一台机器挂了,整个服务就不可用。负载均衡就是在前面加一层入口,把请求按...

前段时间把一个小服务从一台 ECS 迁到两台,后端直接挂域名轮询,结果一台机器出问题,请求照样往上发,用户直接看到 502。折腾一圈之后还是上了 ELB。这篇笔记记录一下给多台 ECS 分发流量的做法。

一、为什么需要负载均衡

单台 ECS 能扛的并发有限,CPU、内存、带宽任一先到瓶颈,服务就开始变慢;更麻烦的是单点故障,一台机器挂了,整个服务就不可用。负载均衡就是在前面加一层入口,把请求按规则分发到多台后端服务器上。流量大了就加机器,某台出问题就自动摘掉,入口地址本身不变,用户感知不到后端的变化。

二、监听器与后端服务器组

ELB 的配置核心是两样东西。监听器负责“听”:监听某个端口和协议,比如 80 端口的 HTTP 或 443 端口的 HTTPS,收到请求后按规则转发。后端服务器组负责“干活”:把一台或多台 ECS 加进来,指定每台的业务端口和权重。权重可以按机器规格分配,配置高的多分一点。

三、四层与七层怎么选

四层负载均衡工作在传输层,按 IP 和端口转发,不看请求内容,转发效率高,适合 TCP、UDP 场景,比如游戏或数据库代理。七层负载均衡工作在应用层,能识别 HTTP 的域名、路径和请求头,可以按 URL 做路由,还能在 ELB 上卸载 HTTPS 证书。简单判断:只需要把流量均匀分到几台机器,用四层;需要按路径分流、做 HTTPS 或按域名区分业务,用七层。

四、健康检查是兜底的那道防线

后端挂了但请求还往上发,是最难受的故障。健康检查就是 ELB 定期去“敲门”:按配置的协议、路径和端口访问后端,比如每 5 秒 GET 一下 /health,连续几次不通就判定不健康,暂时把这台机器从分发名单里拿掉;恢复之后再自动加回来。检查路径要用真实能反映业务状态的接口,别用会重定向的首页地址。间隔太短会给后端增加负担,太长则摘除不及时,按业务容忍度折中。

五、上线前检查清单

上线之前,我按下面这张清单逐项核对,省了不少返工:

  1. 安全组:后端 ECS 的安全组放行 ELB 的回源地址和业务端口,别只放行自己的办公 IP。
  2. 端口一致:监听器端口、后端服务器组端口、应用实际监听端口三处对上。
  3. 健康检查:路径、端口、超时和阈值配好,确认后端状态显示“正常”。
  4. 会话保持:需要登录态的业务确认是否开启,避免请求跳到另一台机器后掉登录。
  5. 证书:七层 HTTPS 监听器确认证书没过期,域名和证书匹配。
  6. 监控告警:给 ELB 连接数和后端异常配告警,别等用户反馈。
  7. 小流量验证:先切一小部分流量观察确认,再全量。

小结

ELB 本身不复杂,难的是把入口、后端、检查这条链路一次配对。这次两台 ECS 上线后,单台维护重启时另一台照常接流量,发布也不用再半夜停服。对还在单机跑业务的同学,建议早点把这层加上。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。