给应用加个负载均衡:华为云ELB从创建监听器到后端服务器与健康检查全实操

举报
yd_244253482 发表于 2026/11/01 07:21:19 2026/11/01
【摘要】 应用从单机走向多实例,第一个要解决的就是流量如何分摊、某台实例宕机如何自动剔除。本文以华为云弹性负载均衡 ELB 为例,从负载均衡原理、共享型与独享型、公网与私网的区别,到创建 ELB、配置监听器与后端服务器组、设置权重与健康检查、会话保持和转发策略,再到访问验证与高可用,给出一套可直接照做的完整流程和避坑清单。

一、为什么需要负载均衡

应用初期通常部署在一台 ECS 上,所有请求都打给这台机器。但随着流量增长,问题随之而来:单机的 CPU、内存、带宽有上限,扩容只能"纵向"升级配置,成本越来越高;更关键的是,一旦这台实例宕机或需要重启发版,整个网站就不可用,存在单点故障。

解决思路是把应用同时部署到多台 ECS 上,前面放一个负载均衡器:用户只访问负载均衡的统一入口,由它把请求按照某种规则分发到后端多台实例,从而实现流量分摊、横向扩容;同时通过健康检查,自动把故障实例从分发列表里摘除,用户几乎无感知。这就是 ELB(Elastic Load Balance,弹性负载均衡)要做的事。

二、ELB 的工作原理

理解 ELB 主要抓住四个概念:

  • 负载均衡器(实例):统一的流量入口,绑定一个公网或私网 IP;
  • 监听器(Listener):监听某个协议和端口(如 HTTP:80、HTTPS:443、TCP:3306),决定用什么方式接收请求;
  • 后端服务器组(Pool):一组真正处理业务的 ECS,可配置每台的权重;
  • 健康检查(Health Check):周期性探测后端实例是否正常,异常则停止向其分发流量。

一条完整链路是:用户 → ELB 的 VIP/公网 IP → 监听器按规则匹配 → 转发到健康的后端 ECS → 后端处理后把响应经 ELB 返回给用户。

三、先选对类型和网络

  • 共享型 vs 独享型:共享型 ELB 资源多租户共享、按规格/用量计费,成本低,适合中小业务;独享型实例资源独占,性能和功能更强(如更多连接数、高级转发),适合大流量或有合规隔离要求的场景。个人和小团队通常从共享型起步即可。
  • 公网 vs 私网:公网负载均衡绑定弹性公网 IP,对外提供互联网访问;私网负载均衡只在 VPC 内部分发流量(如内网多台应用服务器之间),不暴露公网。面向网站用户选公网,内部微服务之间选私网。

四、准备工作

  1. 规划好 VPC 和子网,ELB 与后端 ECS 要在同一个 VPC;建议后端 ECS 分布在多个可用区,配合 ELB 实现跨可用区高可用;
  2. 准备至少两台后端 ECS,部署相同的应用(可以先用简单的 Web 服务,在页面上打印各自的主机名/IP,方便观察流量被分发到了哪台);
  3. 配置后端 ECS 的安全组,放通业务端口(如 80),并允许 ELB 所在网段进行健康检查;
  4. HTTPS 场景提前准备好服务器证书。

五、创建 ELB 实例

控制台进入「弹性负载均衡 ELB」,点「创建负载均衡器」:选择共享型/独享型、公网/私网,选择所在 VPC 和子网(公网类型会自动或手动绑定 EIP),设置实例名称。创建完成后得到一个状态为"运行中"的负载均衡器,公网类型会显示可访问的弹性公网 IP。

六、添加监听器

在 ELB 实例上点「添加监听器」:

  1. 前端协议/端口:对外提供网页选 HTTP 或 HTTPS,端口 80/443;纯 TCP 业务选 TCP;
  2. HTTPS 监听器需要选择服务器证书,可在这一层统一卸载 SSL(即后端 ECS 只跑 HTTP,加解密由 ELB 完成,简化后端);
  3. 分配策略类型:常用加权轮询(按权重依次分发)、加权最少连接(优先分给当前连接数少的)、源 IP 哈希(同一客户端固定到同一后端)等,按业务选择;
  4. 创建监听器时会关联(或新建)一个后端服务器组。

七、配置后端服务器组与权重

在后端服务器组里「添加服务器」,勾选准备好的多台 ECS,并为每台设置权重:权重越大分到的请求比例越高。配置相同的机器权重一致即可实现均摊;如果某台配置更高,可以给更大权重。后端端口填应用实际监听的端口(如 80)。添加后,ELB 就会按监听器的策略把流量分发到这些实例。

八、配置健康检查(关键)

健康检查是实现"自动故障剔除"的核心,在后端服务器组里配置:

  • 检查协议:HTTP 检查可指定路径(如 /health),后端返回 2xx/3xx 视为正常;TCP 检查只探测端口能否连通;
  • 检查间隔、超时时间、健康阈值、不健康阈值:例如每隔若干秒探测一次,连续成功 N 次标记为健康,连续失败 N 次标记为异常并停止分发;
  • 后端应用最好提供一个轻量的健康检查接口,避免用重业务接口做探测。

配置后可在服务器组看到各后端的健康状态,正常为"健康",关掉某台 ECS 后它会变为"异常"并被自动摘除,恢复后又自动加回。

九、会话保持与转发策略

  • 会话保持:如果应用把登录态存在本地(非共享 session/Redis),需要让同一用户的请求始终落到同一台后端,可在监听器开启会话保持(基于 cookie 或源 IP)。更推荐的做法是把 session 放到 Redis 等共享存储,后端就可以无状态、任意分发。
  • 转发策略/转发规则:七层(HTTP/HTTPS)监听器可按域名、URL 路径把请求转发到不同的后端组,例如 /api/ 转到接口服务组、/static/ 转到静态资源组,实现一个入口分流多个应用。

十、访问验证

用浏览器或 curl 多次访问 ELB 的公网 IP/域名,观察返回页面里的后端标识在多台 ECS 之间轮换,说明负载均衡生效;手动停掉其中一台后端,再次访问应依然正常、且不再被分发到异常实例,说明健康检查和故障剔除生效。也可在 ELB 的监控页查看并发连接数、请求数、各后端的流量分布等指标。

十一、高可用与成本避坑

  • ELB 本身通常跨可用区部署,后端 ECS 也务必分散到多个可用区,避免单机房故障导致整体不可用;
  • 后端安全组要放通 ELB 健康检查和业务端口,否则会一直显示"异常",这是最常见的配置问题;
  • 健康检查间隔不要设得过短、阈值过低,避免因偶发抖动误剔除正常实例;
  • 共享型 ELB 成本较低,后端 ECS 可按需弹性伸缩,配合使用能很好地控制成本;
  • 直接对外暴露的应是 ELB 而非后端 ECS,后端 ECS 可只放内网或限制只接受 ELB 流量,提升安全性。

十二、总结

配置负载均衡的核心步骤是:创建 ELB 实例 → 添加监听器(协议端口与分配策略)→ 配置后端服务器组并设置权重 → 开启健康检查实现自动剔除 → 按需配置会话保持和转发策略 → 访问验证并结合监控确认。建议你用两台 ECS 部署一个会显示主机名的简单页面,亲手走一遍,再停掉一台观察故障切换,就能直观理解负载均衡和高可用。下一篇我会继续写 API 网关 APIG,看如何统一管理对外的接口。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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