全部产品
Search
文档中心

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

更新时间:Nov 20, 2024

在使用网络型负载均衡 NLB(Network Load Balancer)服务前,您必须创建服务器组并至少添加一台后端服务器来接收NLB转发的客户端请求。默认情况下,NLB使用您为服务器组指定的端口和协议将请求发送到对应的后端服务器。本文为您介绍如何创建和管理服务器组。

前提条件

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

  • 如果需要将流量路由到服务器组中的后端服务器,请在创建监听或监听转发规则时指定服务器组。更多信息,请参见NLB监听概述

创建服务器组

  1. 登录网络型负载均衡NLB控制台
  2. 在顶部菜单栏,选择NLB实例所属的地域。

  3. 在左侧导航栏,选择网络型负载均衡 NLB > 服务器组

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

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

    配置

    说明

    服务器组类型

    选择一种服务器组类型:

    • 服务器类型:支持将ECS、ENI、ECI实例添加为后端服务器。

    • IP类型:支持将IP地址添加为后端服务器。

    说明 添加IP地址作为后端服务时,只支持添加私网IP地址,不支持公网IP地址。

    服务器组名称

    输入服务器组名称。

    VPC

    从VPC下拉列表中选择一个VPC。

    选择后端协议

    选择一种后端协议:

    • TCP:关联TCP和TCPSSL监听。

    • UDP:关联UDP监听。

    选择调度算法

    选择一种调度算法:

    • 轮询:按照访问顺序依次将外部请求分发到后端服务器。

    • 加权轮询(默认):权重值越高的后端服务器,被轮询到的次数(概率)也越高。

    • 源IP哈希:基于源IP的一致性哈希,相同的源地址会调度到相同的后端服务器。

    • 四元组哈希:基于四元组(源IP、目的IP、源端口和目的端口)的一致性哈希,相同的流会调度到相同的后端服务器。

    • QUIC ID哈希:基于QUIC ID的一致性哈希,支持将同一个QUIC ID的请求哈希到同一台后端服务器上。

    • 加权最小连接数:除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。

      说明

      仅后端协议为UDP时,支持选择QUIC ID哈希。

    选择资源组

    选择归属的资源组。

    标签

    设置标签键标签值

    IPv6挂载

    选择是否开启IPv6挂载。

    • 选择开启IPv6挂载功能后,服务器组支持挂载IPv4、IPv6类型的后端服务器。

    • 不开启IPv6挂载功能时,服务器组仅支持挂载IPv4类型的后端服务器。

    说明

    当服务器组选择的VPC未开启IPv6功能时,默认不开启IPv6挂载功能。

    连接优雅中断

    选择是否开启连接优雅中断,默认关闭。

    开启连接优雅中断后,您需要设置连接优雅中断超时时间。取值范围:0~900秒,0表示立即中断。

    当移除后端服务器或者后端服务器健康检查异常时:

    • 默认关闭连接优雅中断。现有连接不会主动中断,只有在客户端主动断开连接或长连接会话到期时,存量连接才会中断。

    • 开启连接优雅中断,会使现有连接在一定时间内正常传输,到达中断时间后主动断开连接,保障业务平稳下线。

    客户端地址保持

    开启或关闭客户端地址保持。开启客户端地址保持后,后端服务器可以获取客户端源IP地址。

    关闭客户端地址保持功能后,可以支持后端服务器作为客户端访问NLB实例,如果需要获取客户端源IP地址,可以通过在对应监听中开启ProxyProtocol获取客户端源IP地址。

    说明

    开启客户端地址保持后,IP类型的服务器组不支持自动携带客户端源地址,请在监听中搭配ProxyProtocol实现源地址获取。

    开启全端口转发

    开启或关闭全端口转发。开启后添加后端服务器无需指定端口,NLB将按照前端请求端口转发流量至后端服务器。

    说明

    当您的监听开启全端口功能时,后端服务器组需开启该功能。

    开启健康检查

    开启或关闭健康检查。

    健康检查配置

    开启健康检查后您可以单击编辑修改健康检查相关配置。

    健康检查协议

    选择健康检查协议类型:

    • TCP(默认):通过发送SYN握手报文来检测服务器端口是否存活。

    • HTTP:通过发送HEAD或GET请求模拟浏览器的访问行为来检查服务器应用是否健康。

    • UDP:通过发送ICMP Echo Request和UDP探测报文来获取状态信息。

    说明

    仅当服务器组后端协议选择UDP时,健康检查协议支持选择UDP

    健康检查方法

    选择健康检查方法:

    • GET:如果响应报文长度超过8K,会被截断,但不会影响健康检查结果的判定。

    • HEAD:HTTP监听健康检查默认采用HEAD方法。请确保您的后端服务器支持HEAD请求。如果您的后端应用服务器不支持HEAD方法或HEAD方法被禁用,则可能会出现健康检查失败,此时可以使用GET方法来进行健康检查。

    说明

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

    健康检查端口

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

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

    • 指定特定端口:指定一个特定的端口进行健康检查。

    说明

    开启全端口转发后,健康检查端口需指定特定端口。

    健康检查路径

    输入健康检查页面的URL。

    说明

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

    健康检查域名

    输入健康检查的域名。

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

    • 指定特定域名:输入一个域名。

    说明

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

    健康状态返回码

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

    可以选择http_2xx(默认)、http_3xxhttp_4xxhttp_5xx

    说明

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

    自定义请求/响应

    为UDP监听配置健康检查时,您可以打开自定义请求/响应,然后在自定义请求中输入请求的内容(例如youraccountID),在自定义响应中输入预期的返回结果(例如slb123)。

    同时在后端服务器的应用逻辑中加入相应的健康检查应答逻辑,如收到

    youraccountID的请求时,回应slb123

    此时,当NLB实例收到后端服务器返回的信息与预期一致时,则判定健康检查成功,否则判定健康检查失败。此方式能最大程度确保UDP健康检查的可靠性。

    说明

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

    响应超时时间

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

    间隔时间

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

    说明

    健康检查协议UDP时,您需要设置间隔时间>=响应超时时间,以确保UDP探测回包不会因超时而被误判为未响应。

    健康阈值

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

    不健康阈值

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

添加云服务器作为后端服务

当创建的服务器组为服务器类型时,需要添加后端服务器来处理转发请求。开启全端口转发的服务器组不能挂载相同的ECS、ENI和ECI实例。

  1. 服务器组页面,选择以下一种方法,进入后端服务器页面。

    • 找到目标实例,然后在操作列单击编辑后端服务器

    • 找到目标实例,单击实例ID,在服务器组详情页面,单击后端服务器页签。

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

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

    • 选择云服务器ECS

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

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

    • 选择云服务器ENI

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

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

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

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

    • 选择弹性容器实例ECI

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

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

  4. 配置添加的服务器的端口和权重,然后单击确定

    说明

    当服务器组开启全端口转发后,添加后端服务器时无需指定端口。NLB将按照前端请求端口转发流量至后端服务器。

    权重默认为100,权重越高的服务器将被分配到更多的访问请求。

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

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

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

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

    • 单击重置

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

      • 端口右侧单击重置:将服务器组中所有服务器的端口号清除。

    警告

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

添加IP地址作为后端服务

当创建的服务器组为IP类型时,需要添加IP地址作为后端服务来处理转发请求。开启全端口转发的服务器组不能添加相同的IP地址至该服务器组中。

说明 添加IP地址作为后端服务时,只支持添加私网IP地址,不支持公网IP地址。
  1. 服务器组页面,选择以下一种方法,添加IP地址。

    • 找到目标实例,然后在操作列单击编辑后端服务器

    • 找到目标实例,单击实例ID。

  2. 在后端服务器组详情页面,单击后端服务器页签,单击添加IP

  3. 添加后端服务器面板的选择服务器页签下,输入IP地址,然后单击下一步

    您可以为添加的IP地址配置多个端口和权重。

  4. 配置端口和权重页签下,设置添加的IP地址的端口和权重,然后单击确定

    说明

    当服务器组开启全端口转发后,添加后端服务器时无需指定端口。NLB将按照前端请求端口转发流量至后端服务器。

    权重默认为100,权重越高的服务器将被分配到更多的访问请求。

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

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

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

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

    • 单击重置

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

      • 端口右侧单击重置:将服务器组中所有服务器的端口号清除。

    警告

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

更多操作

操作

操作步骤

编辑服务器组基本信息

  1. 服务器组页面,找到目标服务器组,在操作列单击编辑基本信息

  2. 在弹出的编辑基本信息对话框中,修改服务器组名称、调度算法、连接优雅中断和客户端地址保持参数。

编辑健康检查

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

  2. 在弹出的编辑健康检查对话框中,修改健康检查配置参数。

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

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

移除后端服务器

您可以根据业务需要移除服务器组中的后端服务器。

警告

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

  1. 服务器组页面,找到目标服务器组,单击服务器组ID。

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

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

删除服务器组

如果一个服务器组未被任何监听转发规则关联,则可以删除该服务器组。删除服务器组不会影响服务器。如果您不再需要已注册的ECS、ENI、ECI实例,则可以停止或释放该实例。

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

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

相关文档