本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
当您需要利用应用型负载均衡ALB服务有效分配客户端负载,实现可靠的请求分发时,您必须创建服务器组并至少添加一台后端服务器来接收ALB转发的客户端请求。默认情况下,ALB使用您为服务器组指定的端口和协议将请求发送到对应的后端服务器。
前提条件
在向服务器组添加后端服务器前,确保您已创建了服务器并部署了相关应用,用来接收转发的请求。
如果需要将流量路由到服务器组中的后端服务器,请在创建监听时指定服务器组。更多信息,请参见添加HTTP监听、添加HTTPS监听或添加QUIC监听。
(可选)当您需要使用开启IPv6挂载功能时,您需要为VPC开通IPv6网段。
ALB通过特定的IP地址与后端服务器交互并进行健康检查,请确保后端服务器未对这些IP地址进行任何形式的屏蔽(包括iptables或其他任何第三方安全策略软件):
ALB升级实例默认使用其所在交换机网段的私网地址(Local IP)与后端服务器通信。您可以登录应用型负载均衡ALB控制台,在实例详情页面查看Local IP。
为确保ALB升级实例各项弹性能力可用,建议您在ALB实例所在的每个交换机内预留至少8个IP地址,并提前放通这些交换机网段。
升级前的ALB实例使用内网地址段100.64.0.0/10与后端服务器通信。
创建服务器组
- 登录应用型负载均衡ALB控制台。
在顶部菜单栏处,选择后端服务器组所属的地域。
在左侧导航栏,选择 。
在服务器组页面,单击创建服务器组。
在创建服务器组对话框,完成以下配置,然后单击创建。
配置
说明
配置
说明
服务器组类型
选择一种服务器组类型:
服务器类型:按照ECS/ENI/ECI实例添加后端服务器。
IP类型:按照IP地址添加后端服务器。
函数计算类型:按照函数形式添加后端服务器。
服务器组名称
输入自定义服务器组名称。
VPC
从VPC下拉列表中选择一个VPC,只有该VPC下的服务器可以加入到该服务器组。
函数计算类型的服务器组无需配置该参数。
选择后端协议
选择一种后端协议:
HTTP(默认):关联HTTPS、HTTP和QUIC监听。
HTTPS:关联HTTPS监听。
gRPC:关联HTTPS监听。
基础版ALB实例的HTTPS监听仅支持选择后端协议是HTTP和gRPC的服务器组。
函数计算类型的服务器组无需配置该参数。
选择调度算法
选择一种调度算法:
加权轮询:权重值越高的后端服务器,被轮询到的次数(概率)也越高。
加权最小连接数:除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。
一致性哈希:相同的源地址会调度到相同的后端服务器。
选择哈希因子:选择一种哈希因子。
源IP:相同的源IP地址会调度到相同的后端服务器。
URL参数:相同的URL参数会调度到相同的后端服务器。请输入指定URL参数。
函数计算类型的服务器组无需配置该参数。
标签及资源组
根据业务需求设置标签和资源组。
设置标签键和标签值。
选择资源组:选择云资源归属的资源组。
IPv6挂载
选择是否开启IPv6挂载功能。默认不开启。
开启IPv6挂载后,服务器组支持挂载IPv4和IPv6类型的后端服务器。
未开启IPv6挂载时,服务器组仅支持挂载IPv4类型的后端服务器。
会话保持
选择是否开启会话保持,默认关闭。
开启会话保持功能,ALB会把来自同一客户端的访问请求分发到同一台后端服务器上进行处理。
Cookie处理方式选择一种Cookie处理方式:
植入Cookie:客户端第一次访问时,ALB会在返回请求中植入Cookie(即在HTTP或HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,ALB会将请求定向转发给之前记录到的后端服务器上。
重写Cookie:ALB发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,ALB会将请求定向转发给之前记录到的后端服务器。
会话保持超时时间:输入会话保持的超时时间,取值范围为1~86400秒。
函数计算类型的服务器组无需配置该参数。
跨AZ负载均衡
选择是否开启跨AZ负载均衡,默认开启。ALB在同地域跨可用区的后端服务之间分配流量。
关闭跨AZ负载均衡时,ALB在同地域同可用区的后端服务之间分配流量。
仅标准版、WAF增强版ALB实例支持关闭跨AZ负载均衡,基础版ALB不支持。
关闭跨AZ负载均衡时,不支持开启会话保持。
开启远端IP的IP类型服务器组,不支持关闭跨AZ负载均衡。
函数计算类型的服务器组无需配置该参数。
后端长连接
选择是否开启后端长连接,默认开启。
开启后端长连接,ALB到后端服务器之间会维持一定数量的TCP长连接,当新请求到达时,如果有空闲的TCP长连接,ALB优先使用TCP长连接转发请求到后端服务器,从而减少TCP握手建连次数,减轻后端服务器压力。
函数计算类型的服务器组无需配置该参数。
慢启动
选择是否开启慢启动,默认关闭。
开启慢启动后,您需要设置慢启动持续时间。取值范围:30~900秒,默认值为30秒。
当开启慢启动时,ALB的请求缓慢增加至服务器组内新增的后端服务器,缓解后端服务器在资源准备、缓存预热等场景下,面临的突增流量压力。当配置的慢启动持续时间结束后,ALB向后端服务器发送完整的请求份额,此后本次添加的后端服务器退出慢启动模式。
仅标准版和WAF增强版的ALB实例支持慢启动,基础版ALB实例不支持。
函数计算类型的服务器组无需配置该参数。
仅当选择调度算法为加权轮询算法时,服务器组支持开启慢启动。
当您为服务器组开启慢启动后,服务器组内健康检查正常的后端服务器不会自动进入慢启动模式。
当您为空的服务器组开启慢启动:
首次添加的后端服务器不会进入慢启动模式。
仅当至少有一个健康检查正常的后端服务器未处于慢启动状态时,新添加的后端服务器才会进入慢启动模式。
如果您在慢启动模式下删除后端服务器,该后端服务器将退出慢启动模式。如果您再次添加同一后端,则当服务器组认为该后端服务器健康检查正常时,进入慢启动模式。
如果处于慢启动模式的后端服务器健康检查异常,则该后端服务器退出慢启动模式。当后端服务器健康检查正常时,该服务器将再次进入慢启动模式。
当开启慢启动后,在健康检查开启时,后端服务器健康检查正常后慢启动生效;在健康检查关闭时,慢启动立即生效。
连接优雅中断
选择是否开启连接优雅中断,默认关闭。
开启连接优雅中断后,您需要设置连接优雅中断超时时间。取值范围:0~900秒,0表示立即中断,默认值:300秒。
当移除后端服务器或者后端服务器健康检查异常时:
默认关闭连接优雅中断。现有连接不会主动中断,只有在客户端主动断开连接或长连接会话到期时,存量连接才会中断。
开启连接优雅中断,会使现有连接在一定时间内正常传输,到达中断时间后主动断开连接,保障业务平稳下线。
仅标准版和WAF增强版的ALB实例支持连接优雅中断,基础版ALB实例不支持。
函数计算类型的服务器组无需配置该参数。
健康检查
开启或关闭健康检查。
健康检查配置
开启健康检查后您可以单击健康检查配置右侧的编辑展开更多配置。
选择并加载健康检查
选择并加载一个健康检查。
您可以创建健康检查,不与服务器组及监听关联,方便下次复用。
一个后端服务器只支持配置一个健康检查。
健康检查协议
选择健康检查协议类型。HTTPS健康检查协议的使用限制,请参见。
HTTP:通过发送HEAD或GET请求模拟浏览器的访问行为来检查服务器应用是否健康。
HTTPS:通过发送HEAD或GET请求模拟浏览器的访问行为来检查服务器应用是否健康。相关限制,请参见HTTPS健康检查使用限制。
TCP:通过发送SYN握手报文来检测服务器端口是否存活。
gRPC:通过发送POST或GET请求来检查服务器应用是否健康。
健康检查方法
选择一种健康检查方法。
HEAD:HTTP监听健康检查默认采用HEAD方法。请确保您的后端服务器支持HEAD请求。如果您的后端应用服务器不支持HEAD方法或HEAD方法被禁用,则可能会出现健康检查失败,此时可以使用GET方法来进行健康检查。
POST:gRPC监听健康检查默认采用POST方法。请确保您的后端服务器支持POST请求。如果您的后端应用服务器不支持POST方法或POST方法被禁用,则可能会出现健康检查失败,此时可以使用GET方法来进行健康检查。
GET:如果响应报文长度超过8K,会被截断,但不会影响健康检查结果的判定。
此参数仅在健康检查协议为HTTP、HTTPS、GRPC时生效。
HTTP和HTTPS健康检查协议,支持选择HEAD或GET健康检查方法。gRPC健康检查协议,支持选择POST或GET健康检查方法。
健康检查协议版本
选择一个HTTP协议版本:HTTP 1.0或HTTP 1.1。
此参数仅在健康检查协议为HTTP、HTTPS时生效。
健康检查端口
选择健康检查服务访问后端时的探测端口。
后端服务器组端口:默认使用后端服务器的端口进行健康检查。
指定特定端口:指定一个特定的端口进行健康检查。取值范围为1~65535。
健康检查路径
输入健康检查页面的URL。长度限制为1~80个字符,支持使用字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)以及扩展字符集
_;~!()*[]@$^:',+
。URL必须以正斜线(/)开头。健康检查域名
输入健康检查的域名。
使用后端服务器的内网IP(默认):使用后端服务器的内网IP地址作为健康检查的域名。
指定特定域名:输入一个域名。长度为1~80个字符,只能使用小写字母、数字、半角句号(.)和短划线(-)。域名中至少包含一个半角句号(.)。半角句号(.)不能出现在开头或结尾。
健康状态返回码
选择健康检查正常的状态码。
当健康检查协议为HTTP、HTTPS协议时,可以选择http_2xx、 http_3xx、http_4xx和http_5xx。默认选择http_2xx和http_3xx。
当健康检查协议为gRPC协议时,状态码范围:0~99。支持范围输入,最多支持20个范围值,多个范围值使用半角逗号(,)隔开。
此参数仅在健康检查协议为HTTP、HTTPS或gRPC时生效。
响应超时时间
输入接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。
间隔时间
输入进行健康检查的时间间隔。
健康阈值
健康检查连续成功多少次后,将后端服务器的健康检查状态由失败判定为成功的次数。
不健康阈值
健康检查连续失败多少次后,将后端服务器的健康检查状态由成功判定为失败的次数。
将新的配置保存为健康检查,方便下次快速复制使用。
选中将新的配置保存为健康检查模板并输入自定义健康检查名称。
此参数仅在选择并加载健康检查为自定义健康检查时生效。
添加后端服务器
在创建后端服务器组之后,您需要添加后端服务器来处理转发请求。
添加服务器类型的后端服务器
当创建的服务器组为服务器类型时,需要添加云服务器作为后端服务器来处理转发请求。
- 登录应用型负载均衡ALB控制台。
在左侧导航栏,选择 。
在服务器组页面,找到目标服务器组,然后在操作列单击编辑后端服务器。
在后端服务器页签,单击添加后端服务器。
在添加后端服务器面板,根据需求选择以下一种云服务器,然后单击下一步。
选择云服务器ECS
选择服务器类型为云服务器ECS/弹性网卡ENI,选中目标服务器。
如果没有可用的云服务器,您可以在服务器列表右上角单击购买云服务器。
选择云服务器ENI
选择服务器类型为云服务器ECS/弹性网卡ENI,打开高级模式开关。
单击目标ECS实例ID左侧的
图标,选择ENI。
如果您需要选择云服务器ENI,确保目标ECS已绑定了弹性网卡,关于如何将辅助网卡绑定到ECS实例的操作,请参见绑定辅助弹性网卡。
如果没有可用的云服务器,您可以在服务器列表右上角单击购买云服务器。
选择弹性容器实例ECI
选择服务器类型为弹性容器实例ECI,选中目标服务器。
如果没有可用的ECI,您可以在服务器列表右上角单击购买弹性容器实例。
在配置端口和权重配置向导页面,设置所添加服务器的端口和权重,然后单击确定。
端口:您后端服务器实际提供服务的端口。
权重:权重确定了ALB将访问请求分配到后端服务器的流量比例。权重可设置范围为0~100,默认为100。权重越高的服务器将被分配到更多的访问请求。
例如:服务器组中有三台服务器,其权重分别设置为100、50和50。请求将按照比例2:1:1进行分发,即这三台服务器分别接收到的请求占比为50%、25%和25%。
如果服务器组开启会话保持,可能会造成后端服务器的请求不均匀。
如果权重设置为0,该服务器不会再接受新请求。
如果服务器组内仅有1台服务器,且服务器权重在1到100之间,则该服务器组的所有流量都会发送至该服务器。
如果服务器组内有多台服务器,流量会按照已设置的权重在所有服务器间分配。
当某服务器健康检查出现异常时,该异常服务器将不参与流量分配,ALB会将新的请求按照健康检查正常的服务器的权重之比进行分配,直到异常服务器恢复正常运行。
如果服务器组仅包含健康检查异常的服务器,ALB仍会尝试根据权重之比在各异常服务器间分配流量,而不考虑这些服务器的运行状况,以最大可能避免您的业务受损。
您可以鼠标悬浮至权重设置框右侧
批量修改服务器的端口和权重:
向下复制:可同步修改该服务器以下所有服务器的端口或权重。
向上复制:可同步修改该服务器以上所有服务器的端口或权重。
全部复制:可同步修改该服务器组中所有服务器的端口或权重。
重置:
在端口列右侧单击重置,可清除服务器组中所有服务器的端口号。
在权重列右侧单击重置,可将服务器组中所有服务器的权重恢复为默认。
添加函数计算类型的后端服务器
当创建的服务器组为函数计算类型时,需要添加函数作为后端服务器来处理转发请求。关于函数计算作为后端服务的教程,请参见ALB添加函数计算FC作为后端服务。
应用型负载均衡ALB与函数计算FC之间通过阿里云内部网络进行安全通信。
- 登录应用型负载均衡ALB控制台。
在左侧导航栏,选择 。
在服务器组页面,找到目标服务器组,然后在操作列单击编辑后端服务器。
在后端服务器页签,单击设置函数计算。
一个服务器组仅支持添加一个函数计算作为后端服务器。
在添加后端服务器面板,选择以下任意一种方式完成参数配置,然后单击确定。
通过选择资源
通过ARN配置
配置
说明
配置
说明
配置方式
选择添加后端服务器的配置方式。
在下拉列表中选择通过ARN配置。
ARN
输入目标函数的ARN。
您可以在函数计算控制台的函数详情页面,复制函数ARN。具体操作, 请参见获取函数ARN。
描述
输入描述信息。
添加IP类型的后端服务器
当创建的服务器组为IP类型时,需要添加IP地址作为后端服务器来处理转发请求。未开启远端IP时,添加的IP地址需在当前专有网络网段内;开启远端IP后,可添加不在当前VPC网段内的IP地址。关于跨域挂载的相关操作,请参见使用ALB挂载跨地域VPC内的服务器和使用ALB挂载同地域IDC服务器。
使用限制:
自北京时间2025年2月25日00:00:00起,对于新建实例默认使用升级后的ALB,已创建的ALB实例不受影响(提交自助申请创建的实例除外)。具体可参考应用型负载均衡ALB实例升级公告。
后端服务器限制
只支持挂载私网服务器,不支持挂载公网服务器。
开启IPv6挂载后,仅支持添加当前服务器组所在VPC网段内的IPv6地址,不支持启用远端IP。
ALB与后端服务器间的转发配置限制
如果使用企业版转发路由器,请注意:企业版转发路由器会在您指定的可用区的交换机实例上创建弹性网卡ENI(Elastic Network Interface),作为VPC实例向企业版转发路由器发送流量的入口。在您创建VPC实例时,请确保在您指定的可用区中创建至少一个交换机实例,以便将VPC实例连接至企业版转发路由器。详情请参见转发路由器工作原理。
ALB与后端服务的流量仅支持通过系统路由表转发,暂不支持通过VPC自定义路由表转发。
后端服务器限制
ALB挂载远端IP支持的地域,请参见ALB挂载远端IP支持的地域。
跨地域挂载的后端服务器仅支持IP类型。
只支持挂载私网服务器,不支持挂载公网服务器。
不支持挂载同一个VPC内的ALB、NLB或CLB实例。
ALB与后端服务器间的转发配置限制
支持通过企业版转发路由器或高速通道实现远端IP转发,不支持基础版转发路由器。
如果使用企业版转发路由器,请注意:企业版转发路由器会在您指定的可用区的交换机实例上创建弹性网卡ENI(Elastic Network Interface),作为VPC实例向企业版转发路由器发送流量的入口。在您创建VPC实例时,请确保在企业版转发路由器支持的可用区中创建至少一个交换机实例,以便将VPC实例连接至企业版转发路由器。更多信息,请参见企业版转发路由器支持的地域和可用区。
不支持转发路径存在环路的场景,ALB会在每个请求中添加ALICLOUD-ALB-TRACE的HTTP Header来探测环路。如果发现环路,ALB会停止向后端转发请求并回复463的状态码,以避免网络风暴导致的资源耗尽。
-
ALB与后端服务器的流量仅支持通过系统路由表转发,暂不支持通过VPC自定义路由表转发。
- 登录应用型负载均衡ALB控制台。
在左侧导航栏,选择 。
在服务器组页面,找到目标服务器组,然后在操作列单击编辑后端服务器。
在后端服务器页签,单击添加IP。
在添加后端服务器面板,根据您的需要输入后端服务器的IP地址,然后单击下一步。
开启远端IP时,支持输入以下网段内的IP地址:
10.0.0.0/8
100.64.0.0/10
172.16.0.0/12
192.168.0.0/16
未开启远端IP时,仅支持输入当前服务器组所在VPC网段内的IP地址。
当您需要添加多个后端服务器时,您可以单击+添加IP地址添加多个后端服务器。
在配置端口和权重配置向导页面,设置添加的后端服务器的端口和权重,然后单击确定。
端口:您后端服务器实际提供服务的端口。
权重:权重确定了ALB将访问请求分配到后端服务器的流量比例。权重可设置范围为0~100,默认为100。权重越高的服务器将被分配到更多的访问请求。
例如:服务器组中有三台服务器,其权重分别设置为100、50和50。请求将按照比例2:1:1进行分发,即这三台服务器分别接收到的请求占比为50%、25%和25%。
如果服务器组开启会话保持,可能会造成后端服务器的请求不均匀。
如果权重设置为0,该服务器不会再接受新请求。
如果服务器组内仅有1台服务器,且服务器权重在1到100之间,则该服务器组的所有流量都会发送至该服务器。
如果服务器组内有多台服务器,流量会按照已设置的权重在所有服务器间分配。
当某服务器健康检查出现异常时,该异常服务器将不参与流量分配,ALB会将新的请求按照健康检查正常的服务器的权重之比进行分配,直到异常服务器恢复正常运行。
如果服务器组仅包含健康检查异常的服务器,ALB仍会尝试根据权重之比在各异常服务器间分配流量,而不考虑这些服务器的运行状况,以最大可能避免您的业务受损。
您可以鼠标悬浮至权重设置框右侧
批量修改服务器的端口和权重:
向下复制:可同步修改该服务器以下所有服务器的端口或权重。
向上复制:可同步修改该服务器以上所有服务器的端口或权重。
全部复制:可同步修改该服务器组中所有服务器的端口或权重。
重置:
在端口列右侧单击重置,可清除服务器组中所有服务器的端口号。
在权重列右侧单击重置,可将服务器组中所有服务器的权重恢复为默认。
移除后端服务器
您可以根据需要移除服务器组中的后端服务器,移除后该后端服务器将不再处理来自客户端发送的请求。
如果直接在服务器组中移除后端服务器,可能会造成业务中断,建议您先将后端服务器的权重设置为0,然后再从服务器组中移除该后端服务器。
- 登录应用型负载均衡ALB控制台。
在左侧导航栏,选择 。
在服务器组页面,找到目标服务器组,然后单击实例ID。
单击后端服务器页签,找到目标后端服务器,然后在操作列单击移除。
在弹出的对话框中,单击确定。
编辑健康检查
您可以根据需要修改服务器组的健康检查配置。
- 登录应用型负载均衡ALB控制台。
在左侧导航栏,选择 。
在服务器组页面,找到目标服务器组,然后在操作列单击编辑健康检查。
在弹出的编辑健康检查对话框中,开启或关闭健康检查,或单击健康检查配置右侧的编辑,修改健康检查参数。
关闭健康检查后,ALB不再检查后端服务器,一旦某台后端服务器发生故障,则无法实现访问流量自动切换至其他正常的后端服务器。
如延长健康检查的间隔时间,后端服务器出现故障时,ALB发现故障后端服务器的时间也会变长。
删除服务器组
如果一个服务器组未被任何监听转发规则关联,则可以删除该服务器组。关于如何删除监听转发规则,请参见删除转发规则。
删除服务器组不会影响服务器。如果您不再需要已注册的ECS实例,则可以停止或释放该实例。具体操作,请参见停止实例或释放实例。
- 登录应用型负载均衡ALB控制台。
在左侧导航栏,选择 。
在服务器组页面,找到目标服务器组,然后在操作列选择 。
在弹出的对话框中,单击确定。
相关文档
CreateServerGroup:为ALB实例创建服务器组。
AddServersToServerGroup:向服务器组添加后端服务器。
UpdateServerGroupAttribute:更新服务器组的配置,例如健康检查、会话保持、名称、调度算法和协议等。
UpdateServerGroupServersAttribute :更新服务器组中后端服务器的权重和描述等配置。
ReplaceServersInServerGroup:替换后端服务器组中的后端服务器。
RemoveServersFromServerGroup:移除服务器组中的后端服务器。
DeleteServerGroup:删除指定服务器组。
- 本页导读 (1)
- 前提条件
- 创建服务器组
- 添加后端服务器
- 添加服务器类型的后端服务器
- 添加函数计算类型的后端服务器
- 添加IP类型的后端服务器
- 移除后端服务器
- 编辑健康检查
- 删除服务器组
- 相关文档