华为云 ELB 入门:为两台 ECS 配置负载均衡并做健康检查
【摘要】 演示如何用华为云 ELB 为两台 ECS 配置 HTTP 负载均衡、健康检查,并验证故障剔除。
前言
弹性负载均衡(ELB)可以把访问流量分发到多台后端 ECS,避免单点故障。本文演示用一个共享型 HTTP 负载均衡器,把流量分发到两台运行 Nginx 的 ECS 上,并配置健康检查。
前提条件
- 同一 VPC、同一区域内有两台 ECS(本文称为
ecs-web-01和ecs-web-02),安全组放行 TCP80端口。 - 已有一个可用的弹性公网 IP(EIP)用于绑定负载均衡器(按需计费,用完请及时释放)。
一、在两台 ECS 上部署 Nginx 并区分页面
分别登录两台 ECS,执行:
yum install -y nginx
systemctl enable --now nginx
echo "hello from ecs-web-01" > /usr/share/nginx/html/index.html
第二台把 ecs-web-01 改成 ecs-web-02。本机验证:
curl http://127.0.0.1/
二、创建负载均衡器
- 控制台进入 弹性负载均衡 ELB,点击"购买弹性负载均衡"。
- 类型选"共享型",选择与 ECS 相同的 VPC 和子网,网络类型勾选公网并绑定 EIP。
- 创建完成后进入实例详情页。
三、添加监听器
- 前端协议:
HTTP,端口:80。 - 分配策略选择"加权轮询算法"。
- 如需让同一客户端落到同一台后端,可开启会话保持。
四、添加后端服务器组并配置健康检查
- 后端协议
HTTP,端口80,把ecs-web-01与ecs-web-02加入后端服务器组,权重均为1。 - 健康检查协议选
HTTP,检查路径填/,间隔5秒,超时3秒,最大重试3次。
五、验证
等待两台后端的健康检查状态变为"正常"后,在本地执行(把 <ELB的EIP> 换成实际地址):
for i in 1 2 3 4 5 6; do curl -s http://<ELB的EIP>/; done
应交替看到 hello from ecs-web-01 与 hello from ecs-web-02。再执行 systemctl stop nginx 停掉其中一台,等待健康检查失败后,请求只会转发到另一台,说明故障剔除生效。
常见问题
- 健康检查异常:先检查安全组是否放行 ELB 所在子网到后端的
80端口,并确认curl http://127.0.0.1/在后端本机可通。 - 访问超时:确认 EIP 已绑定到 ELB,且监听器端口与访问端口一致。
总结
通过监听器、后端服务器组和健康检查三个对象,就能完成最基本的负载均衡与故障剔除。实验结束后请删除 ELB 并释放 EIP,避免产生费用。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)