全部产品
Search
文档中心

负载均衡:创建和管理服务器组

更新时间:Oct 21, 2024

当您需要利用应用型负载均衡ALB服务有效分配客户端负载,实现可靠的请求分发时,您必须创建服务器组并至少添加一台后端服务器来接收ALB转发的客户端请求。默认情况下,ALB使用您为服务器组指定的端口和协议将请求发送到对应的后端服务器。

前提条件

  • 在向服务器组添加云服务器ECS(Elastic Compute Service)实例前,确保您已创建了ECS实例并部署了相关应用,用来接收转发的请求。

  • 如果需要将流量路由到服务器组中的后端服务器,请在创建监听时指定服务器组。更多信息,请参见添加HTTP监听添加HTTPS监听添加QUIC监听

  • (可选)当您需要使用开启IPv6挂载功能时,您需要为专有网络VPC(Virtual Private Cloud)开通IPv6网段。具体操作,请参见VPC开通IPv6

创建服务器组

  1. 登录应用型负载均衡ALB控制台
  2. 在顶部菜单栏处,选择后端服务器组所属的地域。

  3. 在左侧导航栏,选择应用型负载均衡ALB > 服务器组

  4. 服务器组页面,单击创建服务器组

  5. 创建服务器组对话框,完成以下配置,然后单击创建

  6. 配置

    说明

    服务器组类型

    选择一种服务器组类型:

    • 服务器类型:按照ECS实例添加后端服务器。

    • 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类型的后端服务器,且服务器组类型可以选择服务器类型、IP类型、函数计算类型。

    说明
    • 当服务器组选择的VPC未开启IPv6功能时,不支持开启IPv6挂载功能。

    • IP类型和函数计算类型的服务器组无需配置该参数。

    • IPv4类型的ALB实例在创建监听时,无法添加开启了IPv6挂载功能的服务器组。

    开启会话保持

    选择是否开启或关闭会话保持。开启会话保持功能后,ALB会把来自同一客户端的访问请求分发到同一台后端服务器上进行处理。

    • Cookie处理方式选择一种Cookie处理方式:

      • 植入Cookie:客户端第一次访问时,ALB会在返回请求中植入Cookie(即在HTTP或HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,ALB会将请求定向转发给之前记录到的后端服务器上。

      • 重写CookieALB发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,ALB会将请求定向转发给之前记录到的后端服务器。

    • 会话保持超时时间:输入会话保持的超时时间,取值范围为1~86400秒。

    说明

    函数计算类型的服务器组无需配置该参数。

    开启后端长连接

    选择是否开启后端长连接,默认开启。

    开启后端长连接,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,会被截断,但不会影响健康检查结果的判定。

    说明
    • 此参数仅在健康检查协议为HTTPHTTPSGRPC时生效。

    • HTTPHTTPS健康检查协议,支持选择HEADGET健康检查方法。GRPC健康检查协议,支持选择POSTGET健康检查方法。

    健康检查协议版本

    选择一个HTTP协议版本:HTTP 1.0HTTP 1.1

    说明

    此参数仅在健康检查协议为HTTPHTTPS时生效。

    健康检查端口

    选择健康检查服务访问后端时的探测端口。

    • 后端服务器组端口:默认使用后端服务器的端口进行健康检查。

    • 指定特定端口:指定一个特定的端口进行健康检查。取值范围为1~65535。

    健康检查路径

    输入健康检查页面的URL。长度限制为1~80个字符,支持使用字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)以及扩展字符集_;~!()*[]@$^:',+。URL必须以正斜线(/)开头。

    健康检查域名

    输入健康检查的域名。

    • 使用后端服务器的内网IP(默认):使用后端服务器的内网IP地址作为健康检查的域名。

    • 指定特定域名:输入一个域名。长度为1~80个字符,只能使用小写字母、数字、半角句号(.)和短划线(-)。域名中至少包含一个半角句号(.)。半角句号(.)不能出现在开头或结尾。

    健康状态返回码

    选择健康检查正常的状态码。

    • 当健康检查协议为HTTPHTTPS协议时,可以选择http_2xxhttp_3xxhttp_4xxhttp_5xx。默认选择http_2xxhttp_3xx

    • 当健康检查协议为gRPC协议时,状态码范围:0~99。支持范围输入,最多支持20个范围值,多个范围值使用半角逗号(,)隔开。

    说明

    此参数仅在健康检查协议为HTTPHTTPSgRPC时生效。

    响应超时时间

    输入接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。

    间隔时间

    输入进行健康检查的时间间隔。

    健康阈值

    健康检查连续成功多少次后,将后端服务器的健康检查状态由失败判定为成功的次数。

    不健康阈值

    健康检查连续失败多少次后,将后端服务器的健康检查状态由成功判定为失败的次数。

    将新的配置保存为健康检查,方便下次快速复制使用。

    选中将新的配置保存为健康检查模板并输入自定义健康检查名称。

    说明

    此参数仅在选择并加载健康检查自定义健康检查时生效。

添加后端服务器

在创建后端服务器组之后,您需要添加后端服务器来处理转发请求。

添加服务器类型的后端服务器

当创建的服务器组为服务器类型时,需要添加云服务器作为后端服务器来处理转发请求。

  1. 登录应用型负载均衡ALB控制台
  2. 在左侧导航栏,选择应用型负载均衡ALB > 服务器组

  3. 服务器组页面,找到目标服务器组,然后在操作列单击编辑后端服务器

  4. 后端服务器页签,单击添加后端服务器

  5. 添加后端服务器面板,根据需求选择以下一种云服务器,然后单击下一步

    • 选择云服务器ECS

      选择服务器类型为云服务器ECS/弹性网卡ENI,选中目标服务器。

      如果没有可用的云服务器,您可以在服务器列表右上角单击购买云服务器

    • 选择云服务器ENI

      1. 选择服务器类型为云服务器ECS/弹性网卡ENI,打开高级模式开关。

      2. 单击目标ECS实例ID右侧的展开符合图标,选择ENI。

        • 如果您需要选择云服务器ENI,确保目标ECS已绑定了弹性网卡,关于如何将辅助网卡绑定到ECS实例的操作,请参见绑定辅助弹性网卡

        • 如果没有可用的云服务器,您可以在服务器列表右上角单击购买云服务器

    • 选择弹性容器实例ECI

      选择服务器类型为弹性容器实例ECI,选中目标服务器。

      如果没有可用的ECI,您可以在服务器列表右上角单击购买弹性容器实例。注意ALB不支持选择Job优化型ECI实例作为后端服务器。

  6. 配置端口和权重配置向导页面,设置添加的服务器的端口和权重,然后单击确定

    权重默认为100,权重越高的服务器将被分配到更多的访问请求。如开启会话保持,可能会造成后端服务器的请求不均匀。

    您可以鼠标浮动至批量操作批量修改服务器的权重:

    • 单击向下复制:如果修改当前服务器的权重,该服务器页面位置以下所有服务器的权重同步改变。

    • 单击向上复制:如果修改当前服务器的权重,该服务器页面位置以上所有服务器的权重同步改变。

    • 单击全部复制:如果修改当前服务器的权重,该服务器组中所有服务器的权重同步改变。

    • 单击权重右侧的重置:将服务器组中所有服务器的权重恢复为默认。

    警告

    如果权重设置为0,该服务器不会再接受新请求。

添加函数计算类型的后端服务器

当创建的服务器组为函数计算类型时,需要添加函数作为后端服务器来处理转发请求。关于函数计算作为后端服务的教程,请参见ALB添加函数计算FC作为后端服务

说明

应用型负载均衡ALB与函数计算FC之间通过阿里云内部网络进行安全通信。

  1. 登录应用型负载均衡ALB控制台
  2. 在左侧导航栏,选择应用型负载均衡ALB > 服务器组

  3. 服务器组页面,找到目标服务器组,然后在操作列单击编辑后端服务器

  4. 后端服务器页签,单击设置函数计算

    说明

    一个服务器组仅支持添加一个函数计算作为后端服务器。

  5. 添加后端服务器面板,选择以下任意一种方式完成参数配置,然后单击确定

    • 通过选择资源

      配置

      说明

      配置方式

      选择添加后端服务器的配置方式。

      在下拉列表中选择通过选择资源

      服务

      选择已创建的函数计算服务。若您还未创建过函数计算服务,您可以单击创建新的服务创建函数计算服务。具体操作,请参见快速创建函数

      版本

      选择LATEST

      新创建的服务,默认只有一个LATEST版本。

      函数

      在下拉列表中选择已创建的函数。如果没有可用的函数,您可以单击创建新函数,然后按照页面提示新建函数。具体操作,请参见管理函数

      描述

      输入描述信息。

    • 通过ARN配置

      配置

      说明

      配置方式

      选择添加后端服务器的配置方式。

      在下拉列表中选择通过ARN配置

      ARN

      输入目标函数的ARN。

      您可以在函数计算控制台的函数详情页面,复制函数ARN。具体操作, 请参见获取函数ARN

      描述

      输入描述信息。

添加IP类型的后端服务器

当创建的服务器组为IP类型时,需要添加IP地址作为后端服务器来处理转发请求。未开启远端IP时,添加的IP地址需在当前专有网络网段内;开启远端IP后,可添加不在当前VPC网段内的IP地址。关于跨域挂载的相关操作,请参见使用ALB挂载跨地域VPC内的服务器使用ALB挂载同地域IDC服务器

使用限制

  • 只支持挂载私网服务器,不支持挂载公网服务器。

  • 不支持挂载同一个VPC内的ALB、NLB或CLB实例。

  • 不支持转发路径存在环路的场景,ALB会在每个请求中添加ALICLOUD-ALB-TRACE的HTTP Header来探测环路。如果发现环路时,ALB会停止向后端转发请求并回复463的状态码,以避免网络风暴导致的资源耗尽。

  • 支持企业版转发路由器和高速通道实现跨域转发,不支持基础版转发路由器。

  • 一张云企业网中,一个地域只能有一个VPC内的一个或多个ALB实现跨地域挂载服务器。

    image
    • 无法实现同一个地域多个VPC内的ALB使用同一个转发路由器访问后端服务。

      image
    • 无法实现同一个地域多个VPC内的ALB使用多个转发路由器访问同一个后端服务。

      image
  • ALB与后端服务器的流量仅支持通过系统路由表转发,暂不支持通过VPC自定义路由表转发。

  1. 登录应用型负载均衡ALB控制台
  2. 在左侧导航栏,选择应用型负载均衡ALB > 服务器组

  3. 服务器组页面,找到目标服务器组,然后在操作列单击编辑后端服务器

  4. 后端服务器页签,单击添加IP

  5. 添加后端服务器面板,根据您的需要输入后端服务器的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地址添加多个后端服务器。

  6. 配置端口和权重配置向导页面,设置添加的后端服务器的端口和权重,然后单击确定

    权重默认为100,权重越高的服务器将被分配到更多的访问请求。如开启会话保持,可能会造成后端服务器的请求不均匀。

    您可以鼠标浮动至批量操作批量修改服务器的权重:

    • 单击向下复制:如果修改当前服务器的权重,该服务器页面位置以下所有服务器的权重同步改变。

    • 单击向上复制:如果修改当前服务器的权重,该服务器页面位置以上所有服务器的权重同步改变。

    • 单击全部复制:如果修改当前服务器的权重,该服务器组中所有服务器的权重同步改变。

    • 单击权重右侧的重置:将服务器组中所有服务器的权重恢复为默认。

    警告

    如果权重设置为0,该服务器不会再接受新请求。

移除后端服务器

您可以根据需要移除服务器组中的后端服务器,移除后该后端服务器将不再处理来自客户端发送的请求。

警告

如果直接在服务器组中移除后端服务器,可能会造成业务中断,建议您先将后端服务器的权重设置为0,然后再从服务器组中移除该后端服务器。

  1. 登录应用型负载均衡ALB控制台
  2. 在左侧导航栏,选择应用型负载均衡ALB > 服务器组

  3. 服务器组页面,找到目标服务器组,然后单击实例ID。

  4. 单击后端服务器页签,找到目标后端服务器,然后在操作列单击移除

  5. 在弹出的对话框中,单击确定

编辑健康检查

您可以根据需要修改服务器组的健康检查配置。

  1. 登录应用型负载均衡ALB控制台
  2. 在左侧导航栏,选择应用型负载均衡ALB > 服务器组

  3. 服务器组页面,找到目标服务器组,然后在操作列单击编辑健康检查

  4. 在弹出的编辑健康检查对话框中,开启或关闭健康检查,或单击健康检查配置右侧的编辑,修改健康检查参数。

    警告
    • 关闭健康检查后,ALB不再检查后端服务器,一旦某台后端服务器发生故障,则无法实现访问流量自动切换至其他正常的后端服务器。

    • 如延长健康检查的间隔时间,后端服务器出现故障时,ALB发现故障后端服务器的时间也会变长。

删除服务器组

如果一个服务器组未被任何监听转发规则关联,则可以删除该服务器组。关于如何删除监听转发规则,请参见删除转发规则

删除服务器组不会影响服务器。如果您不再需要已注册的ECS实例,则可以停止或释放该实例。具体操作,请参见停止实例释放实例

  1. 登录应用型负载均衡ALB控制台
  2. 在左侧导航栏,选择应用型负载均衡ALB > 服务器组

  3. 服务器组页面,找到目标服务器组,然后在操作列选择更多 > 删除

  4. 在弹出的对话框中,单击确定