华为云ELB负载均衡网站流量分发规则配置完全指南

apphuang2026年07月17日 10:00:5845

1. 引言:为什么网站需要负载均衡

在现代互联网应用中,单台服务器承载业务早已成为过去式。当流量激增、业务并发量攀升时,单服务器不仅面临性能瓶颈,更存在单点故障的巨大风险——一旦这台服务器宕机,整个网站便对外不可用。生产级Web集群的核心目标是实现数据与业务分离、弹性伸缩、负载均衡、可监控的标准化部署架构。

华为云弹性负载均衡(Elastic Load Balance,简称ELB)正是解决这一问题的核心服务。它能够根据配置的流量分配策略,将来自客户端的访问请求分发至多台后端云服务器进行处理,同时通过健康检查机制自动屏蔽故障服务器,将流量无缝切换到正常运行的服务器上。一个完整的ELB集群架构包含负载均衡器、监听器、后端服务器组和健康检查等核心组件。

需要先登录华为云控制台,点击:华为云控制台,还没有账号,点击:注册并关联,已有账号点击:登录后关联

2. ELB核心概念与架构

2.1 负载均衡器

负载均衡器是您创建的承载流量转发任务的ELB服务实例。每个ELB实例至少需要配置一个监听器才能监听并分发业务流量。创建ELB实例时,需要规划实例的区域、可用区、网络类型(公网或私网)以及规格(共享型或独享型)。

ELB实例与后端ECS实例必须位于同一个VPC内,且建议位于同一可用区,以确保内网通信的低延迟和高带宽。如果业务对可用性要求极高,可以考虑跨可用区部署,但需要确保ELB支持跨可用区转发。

2.2 监听器

监听器是ELB实例中负责接收客户端请求并按照既定规则分发流量的组件。监听器需要配置前端协议和端口(如HTTP/HTTPS的80/443端口),以及后端协议和端口。根据协议类型的不同,监听器分为四层监听器(TCP/UDP)和七层监听器(HTTP/HTTPS/QUIC)。七层监听器支持更丰富的转发策略配置。

2.3 后端服务器组

后端服务器组是一组处理业务请求的ECS实例集合。您需要将运行中的云服务器添加至后端服务器组中,才能实现ELB对云服务器流量分发的功能。添加后端服务器之前,必须确保后端服务器所在安全组规则已放通ELB健康检查网段。

3. 流量分配策略详解

负载均衡会根据配置的流量分配策略,将来自客户端的请求按照对应的策略转发至相应的后端服务器。创建后端服务器组时,流量分配策略默认为加权轮询算法。华为云ELB支持多种分配策略,用于支持不同的业务场景。

3.1 加权轮询算法

加权轮询算法根据组内后端服务器设置的权重,依次将请求分发给不同的服务器。权重大的后端服务器被分配的概率高,相同权重的服务器处理相同数目的连接数。该算法常用于短连接服务,例如HTTP等服务。其优势在于灵活负载和动态负载调整——当对后端服务器的负载分配有更精细的要求时,可以通过设置不同的权重来实现对服务器的灵活调度,使得性能较好的服务器能够处理更多的请求。不过,加权轮询算法需要配置每个后端服务器的权重,对于有大量后端服务器或频繁变动的场景,运维工作量较大。

3.2 加权最少连接

加权最少连接算法将请求分发给(当前连接/权重)比值最小的后端服务器进行处理。最少连接是通过当前活跃的连接数来评估服务器负载情况的一种动态负载均衡算法。加权最少连接就是在最少连接数的基础上,根据服务器的不同处理能力给每个服务器分配不同的权重。该算法常用于长连接服务,例如数据库连接等服务。当后端服务器的性能差异较大时,同时考虑连接数和权重来进行负载,可以更精确地将请求分配到后端服务器上。但该算法的实现更复杂,需要实时监控负载均衡器与后端服务器之间的连接数变化。

3.3 源IP哈希算法

源IP哈希算法根据请求的源IP地址进行哈希计算,源IP相同的请求会被分配到同一台后端服务器。该算法属于一致性哈希算法的一种——对请求的特定字段进行一致性哈希计算,并根据计算的哈希值将请求均匀地分配到后端服务器中。相同哈希值的请求即使后端服务器组中的服务器个数发生变化,也将会被分配到相同的后端服务器。源IP算法特别适合需要保持会话亲和性的场景,如需要将同一用户的所有请求都路由到同一台后端服务器进行处理。当使用源IP算法时,后端服务器组中服务器的权重设置将失效。

3.4 连接ID算法

连接ID算法是独享型负载均衡支持的一种较新的分配策略,根据QUIC协议请求的ID进行哈希计算,相同QUIC ID连接上的请求会被分配到同一台后端服务器。该算法主要面向使用QUIC协议的业务场景。

3.5 分配策略选型指南

在实际项目中,选择合适的分配策略需要综合考虑业务特征:

  • 短连接HTTP服务(如Web网站、API网关):优先选择加权轮询算法,配合权重实现异构服务器的流量调配。
  • 长连接服务(如数据库连接、WebSocket):优先选择加权最少连接算法,避免连接堆积在某台服务器上。
  • 需要会话亲和性(如购物车、登录状态):选择源IP哈希算法,确保同一用户始终访问同一台后端服务器。
  • QUIC协议业务:选择连接ID算法。

4. 七层高级转发策略配置

当您使用弹性负载均衡承载七层业务时,基于不同的客户端请求会有不同的流量分发处理需求。弹性负载均衡支持配置高级转发策略,支持您根据客户端请求的特征来更精细地控制流量分发。高级转发策略支持多样化的转发规则和转发动作,便于灵活地分流业务、合理地分配资源。

4.1 高级转发策略的匹配原理

高级转发策略的实现分为四个步骤:客户端发送请求至ELB;每个客户端请求根据转发策略进行匹配,匹配到多条转发策略时基于转发策略的优先级顺序进行转发;ELB根据匹配上的转发策略的转发动作将客户端请求转发至对应的后端服务器进行处理;最后返回响应至客户端。

匹配策略遵循以下规则:每个客户端请求会按照转发策略进行匹配,一旦能够匹配到一条转发策略,立即按照当前转发策略进行转发。如果匹配到多条转发策略,基于转发策略优先级顺序进行转发——转发策略编号的数值越小,优先级越高,越先匹配。一条转发策略的转发规则中添加了多个条件时,请求需同时满足所有条件才能匹配到该条转发策略。如果请求不能匹配到您配置的转发策略,则将请求按照默认转发策略进行转发。每个七层协议的监听器创建后都会有一条默认的转发策略,默认转发策略的优先级最低且不参与转发策略排序。

对于共享型负载均衡,当请求同时满足转发动作分别为域名和路径的两条转发策略时,优先按照域名进行匹配。转发规则为路径时,匹配优先级如下:精确匹配 > 前缀匹配 > 正则匹配,匹配类型相同时路径长度越长,优先级越高。

4.2 转发规则类型

高级转发策略支持的转发规则类型包括:域名、路径、HTTP请求方法、HTTP请求头、查询字符串、网段。

  • 域名:根据请求的域名进行匹配。例如请求链接为 https://www.example.com/login.php,转发规则选择域名时填写 www.example.com。
  • 路径:根据请求的URL路径进行匹配。例如请求链接为 https://www.example.com/login.php?locale=zh-cn,转发规则选择路径时填写 /login.php。
  • HTTP请求方法:根据HTTP方法(GET、POST、PUT、DELETE等)进行匹配。
  • HTTP请求头:根据请求头中的特定字段进行匹配。
  • 查询字符串:当请求中的字符串与设置好的转发策略中的字符串相匹配时触发转发。查询字符串是键值对的形式,需要分别设置键和值。
  • 网段:根据客户端IP所属网段进行匹配。

4.3 转发动作类型

高级转发策略支持的转发动作类型有:转发至后端服务器组、重定向至监听器、重定向至URL、返回固定响应、重写。转发动作设置为转发至后端服务器组时,支持额外添加重写动作。例如,配置了重定向至监听器的转发策略后,当客户端通过HTTP请求访问时,后端服务器会返回HTTPS的响应,即强制以HTTPS请求访问网页。

4.4 配置示例:相同域名不同路径的精准转发

独享型负载均衡支持您基于域名和路径将接收到的客户端请求精确地分配到不同的后端服务器组上。这一功能在以下场景中尤为重要:

  • 微服务架构:后端服务由多个独立的子服务组成,每个子服务部署在不同的后端服务器上,对外使用同一个域名进行服务。
  • 灰度发布/AB测试:开发、测试和生产环境可能部署在同一域名下但使用不同路径。
  • 读写分离:读操作定向转发到读数据库,写操作定向转发到写数据库。

以电商平台为例,路径 /live 的请求转发至直播服务器组,路径 /promotion 的请求转发至促销服务器组。配置步骤简述如下:创建独享型ELB实例并绑定EIP;为ELB实例配置HTTP/HTTPS监听器并开启高级转发策略;在监听器的转发策略页签添加转发策略,分别配置路径匹配规则和对应的后端服务器组。

4.5 约束与限制

配置转发策略时需注意以下限制:仅独享型ELB的HTTP/HTTPS/QUIC监听器支持配置高级转发策略;一个监听器最多支持配置100条转发策略;一条转发策略最多支持10个转发条件;转发规则路径不支持查询字符串;每个路径必须真实存在于后端服务器上;不能配置路径完全相同的转发策略;输入的域名总长度不能超过100个字符。

5. 健康检查配置

健康检查是ELB保障业务高可用的关键机制。ELB节点根据健康检查配置向后端服务器发送探测请求,如果检查状态为OFFLINE则表示后端云服务器的服务异常。

5.1 健康检查参数说明

配置健康检查时需要设置以下核心参数:

  • 健康检查协议:支持TCP、HTTP、HTTPS协议。为了减少后端服务器的CPU占用,建议使用TCP协议做健康检查。
  • 健康检查域名:HTTP/HTTPS协议时的必选参数,默认使用后端服务器的内网IP作为域名。
  • 健康检查端口:默认使用后端云服务器的业务端口,也可指定特定端口。
  • 健康检查路径:HTTP/HTTPS协议时的必填参数,只能以/开头,长度范围1-80字符。
  • 检查间隔:每次健康检查的最大间隔时间,取值范围1-50秒。
  • 超时时间:每次健康检查的最大超时时间,取值范围1-50秒。
  • 健康检查正常阈值:判定后端服务器为正常状态所需的连续成功次数,取值范围1-10。
  • 健康检查异常阈值:判定后端服务器为异常状态所需的连续失败次数,取值范围1-10。

5.2 健康检查配置要点

开启健康检查后不会影响已建立连接的流量转发,ELB会立即对后端服务器执行健康检查。如果健康检查正常,则新建连接的流量会根据分配策略和权重向该服务器转发流量;如果健康异常,则系统会设置该服务器状态为异常,不转发新的流量到该服务器。为保证健康检查功能正常,配置健康检查后必须放通对应的安全组规则。健康检查协议与服务器组的后端协议是两个相互独立的能力,健康检查协议可以与后端协议不同。

6. 会话保持配置

会话保持指负载均衡器可以识别客户与服务器之间交互过程的关联性,在实现负载均衡的同时,保持将其他相关联的访问请求分配到同一台服务器上。例如,如果用户在某台服务器上登录后,后续请求如果被分配到另一台服务器则需要重新登录。配置会话保持功能后,一系列操作过程将由同一台服务器完成。

6.1 四层会话保持与七层会话保持

当使用TCP或UDP协议时,即为四层会话保持,基于源IP地址实现。会话保持时间默认为20分钟,最长时间60分钟。当使用HTTP或HTTPS协议时,即为七层会话保持。七层会话保持支持两种类型:负载均衡器cookie和应用程序cookie。会话保持时间默认为20分钟,最长时间1440分钟。

6.2 会话保持配置约束

当分配策略类型选择加权轮询算法或加权最少连接时,才可配置会话保持。当分配策略类型选择源IP算法时,四层和七层会话已支持基于源IP地址的会话保持。如果您需要从云专线、VPN访问ELB,请使用源IP负载均衡算法代替会话保持功能。如果开启了会话保持功能,有可能会造成后端服务器的访问量不均衡。

7. 实际操作指南

7.1 控制台配置步骤

步骤一:创建VPC和ECS。根据业务需求规划ELB实例的区域,创建VPC和后端服务器ECS实例。确保ECS实例的可用区和ELB实例的可用区相同,且ECS实例与ELB实例属于同一个VPC。创建VPC时建议选择192.168.0.0/16作为IPv4网段,子网选择192.168.0.0/24。

步骤二:部署后端服务。在ECS实例上部署业务应用。以Nginx为例,执行以下命令安装并配置:

# 安装Nginx
yum install -y nginx  # CentOS/RHEL
apt-get install -y nginx  # Ubuntu/Debian

# 编辑默认页面
vim /usr/share/nginx/html/index.html

# 启动Nginx
systemctl start nginx
systemctl enable nginx

步骤三:创建ELB实例。在华为云控制台选择网络 > 弹性负载均衡,单击购买弹性负载均衡。根据业务需求选择规格(共享型或独享型)、网络类型(公网或私网)。

步骤四:配置监听器。为ELB实例配置监听器,设置前端协议/端口和后端协议/端口。七层业务选择HTTP/HTTPS协议,四层业务选择TCP/UDP协议。

步骤五:配置后端服务器组。创建后端服务器组,选择流量分配策略。将ECS实例添加至后端服务器组。配置健康检查参数。

步骤六:配置转发策略(可选)。对于七层监听器,可以添加转发策略实现基于域名或路径的精细化流量分发。

7.2 API方式配置转发策略

华为云ELB提供完整的RESTful API支持转发策略的创建和管理。创建七层转发策略的API接口为 POST /v3/{project_id}/elb/l7policies。转发策略的匹配动作(action)支持以下取值:REDIRECT_TO_POOL(转发到后端云服务器组)、REDIRECT_TO_LISTENER(重定向到监听器)、REDIRECT_TO_URL(重定向到URL)。通过匹配action为REDIRECT_TO_POOL的转发策略下的转发规则的url和域名,可以将匹配的流量转发到指定的后端云服务器组上。

7.3 Python SDK配置示例

以下示例展示如何使用华为云Python SDK创建ELB监听器和转发策略:

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkelb.v2.region.elb_region import ElbRegion
from huaweicloudsdkelb.v2 import *

# 认证配置
credentials = BasicCredentials(ak, sk, project_id)
client = ElbClient.new_builder() \
    .with_credentials(credentials) \
    .with_region(ElbRegion.CN_SOUTH_1) \
    .build()

# 创建监听器
listener_request = CreateListenerRequest()
listener_body = CreateListenerReq(
    protocol="HTTP",
    protocol_port=80,
    loadbalancer_id="lb_id",
    name="web-listener"
)
listener_request.body = listener_body
listener_response = client.create_listener(listener_request)

# 创建转发策略
policy_request = CreateL7PolicyRequest()
policy_body = CreateL7PolicyReq(
    name="path-policy",
    action="REDIRECT_TO_POOL",
    redirect_pool_id="pool_id",
    listener_id="listener_id"
)
policy_request.body = policy_body
policy_response = client.create_l7_policy(policy_request)

8. 常见问题排查

8.1 流量分发不均

如果ELB流量分发不均,可以从以下几个方面排查:检查是否开启了会话保持功能——如果会话保持开启且客户端数量较少,流量可能不均衡;检查后端服务器的健康检查状态;检查是否使用了源IP哈希算法。

8.2 健康检查失败

健康检查失败时,首先确认后端服务器的安全组规则是否放通了ELB健康检查网段。其次检查健康检查端口是否正确,以及后端服务进程是否正常运行。如果健康检查协议为HTTP/HTTPS,还需确认健康检查路径是否正确以及后端服务是否返回了预期的HTTP状态码。

8.3 转发策略不生效

转发策略不生效时,检查监听器协议是否为HTTP/HTTPS;检查是否超出了单个监听器100条转发策略的配额限制;检查转发规则的配置是否正确,特别是路径是否以/开头且真实存在于后端服务器上;检查是否存在路径完全相同的转发策略冲突。

9. 总结

华为云ELB提供了从四层到七层、从基础分配到高级转发的完整流量分发能力。通过合理选择流量分配策略(加权轮询、加权最少连接、源IP哈希、连接ID),配合健康检查、会话保持和高级转发策略,可以构建出高可用、高弹性、精细化的网站流量分发架构。在实际项目中,建议从业务场景出发:短连接HTTP服务优先加权轮询,长连接服务优先加权最少连接,需要会话亲和性优先源IP哈希,微服务架构优先使用七层高级转发策略实现精细化路由。掌握这些配置方法,将帮助您充分发挥华为云ELB的负载均衡能力,保障业务系统的高可用性和可扩展性。

问答环节

问1:华为云ELB支持哪几种流量分配策略?

答:华为云ELB支持加权轮询算法、加权最少连接、源IP哈希算法和连接ID算法四种流量分配策略。其中共享型负载均衡支持加权轮询、加权最少连接和源IP算法;独享型负载均衡额外支持连接ID算法。

问2:七层监听器的高级转发策略支持哪些转发规则?

答:高级转发策略支持的转发规则包括域名、路径、HTTP请求方法、HTTP请求头、查询字符串和网段六种类型。您可以根据业务需求组合使用多种规则,实现精细化的流量分发控制。

问3:会话保持和源IP算法有什么区别?

答:会话保持是通过配置实现的会话亲和性功能,将同一用户的请求分配到同一台后端服务器。源IP哈希算法本身就是一种分配策略,通过哈希计算将同一源IP的请求路由到同一台后端服务器。当使用源IP算法时,四层和七层会话已支持基于源IP地址的会话保持。

问4:健康检查失败会导致什么后果?

答:健康检查失败时,ELB会将该后端服务器状态标记为异常,不转发新的流量到该服务器。如果所有后端服务器都健康检查失败,业务将完全不可用。因此,正确配置健康检查参数和放通安全组规则至关重要。

问5:共享型ELB和独享型ELB在转发策略方面有什么区别?

答:共享型ELB支持基于域名和路径的基本转发策略,匹配优先级为域名优先。独享型ELB支持高级转发策略,除域名和路径外还支持HTTP请求方法、请求头、查询字符串和网段等更丰富的转发规则,并支持重定向至URL、返回固定响应等更多转发动作。

问6:配置转发策略时有哪些常见的约束限制?

答:主要限制包括:仅HTTP/HTTPS监听器支持转发策略;单个监听器最多100条转发策略;路径不支持查询字符串;路径必须真实存在于后端服务器;不能配置路径完全相同的转发策略;域名总长度不超过100个字符。

相关文章

华为云服务器购买怎么便宜?小公司省钱攻略来了!这样买立省好几千​

华为云服务器购买怎么便宜?小公司省钱攻略来了!这样买立省好几千​

很多朋友都在吐槽:“华为云服务器太贵了,预算有限实在买不起!” 其实,买华为云服务器贵不贵,关键看你会不会选、会不会买。今天就来给大家分享一套超实用的省钱攻略,小公司、创业团队也能轻松用得起稳定又安全…

华为云服务器采购总嫌贵?30%华为云返点返佣 + 旗舰级代理保障,这波省钱操作别错过!

华为云服务器采购总嫌贵?30%华为云返点返佣 + 旗舰级代理保障,这波省钱操作别错过!

最近不少做 IT 运维或企业采购的朋友跟我吐槽,公司要上华为云服务器,去官网一看报价直接犯了难 —— 按年付费算下来,比预期预算高出不少。要是赶上业务扩张需要多台服务器,这笔开支更是让财务部门直皱眉。…

2026华为云返点返佣政策深度解析:头部代理返佣优势与企业合作指南

2026华为云返点返佣政策深度解析:头部代理返佣优势与企业合作指南

上海汪远信息科技有限所在公司年销华为云产品3亿+,属于头部代理梯队,可为合作客户提供最高30%的返佣优惠,直接帮助企业降低30%的云资源成本。…

华为云代理商有哪些?华为云代理返点是真的么?

华为云代理商有哪些?华为云代理返点是真的么?

一,华为云代理商简介华为云代理商,顾名思义就是替华为云做华为云服务器数据库等公有云产品推广的代理商,每推广出一单华为云服务器,华为云会跟这个代理商结算佣金,佣金比例分为月度佣金,季度佣金和年度佣金,华…

2026华为云返点返佣政策深度解析:头部代理返佣优势与企业合作指南

2026华为云返点返佣政策深度解析:头部代理返佣优势与企业合作指南

一、华为云代理商的核心价值定位1. 代理商的角色与职责华为云代理商作为华为云生态的核心合作伙伴,承担着三重核心职能:•产品推广销售:负责推广销售华为云全系列云产品,包括云服务器ECS、云数据…

上海汪远信息:年销1.5亿+的头部华为云代理商,10年深耕为企业上云保驾护航

上海汪远信息:年销1.5亿+的头部华为云代理商,10年深耕为企业上云保驾护航

核心摘要本文深度解析华为云代理商行业现状,揭示小代理商生存困境的核心原因(业绩压力大、垫资周期长、资金链脆弱),重点推荐上海汪远信息科技有限公司——一家拥有10年华为云代理经验、年销量超1.5亿的全国…