负载均衡BLB

    创建BLB普通型实例

    购买普通型实例

    1. 登录百度智能云平台,选择“产品服务>负载均衡BLB>普通型实例”,进入“实例列表页面”。
    2. 点击“创建负载均衡”,进入创建实例界面。

      说明:

      创建BLB实例之前,应先创建BCC示例,否则无法成功创建BLB实例。

      为了方便客户批量对BLB实例进行统一管理如服务地址及后端服务器等,“实例列表”页面支持资源列表下载,下载的资源文件为CSV格式,编码格式为UTF-8,文件命名规范为“产品名地域日期_list.CSV”。所下载的实例与当前实例列表的筛选条件保持一致,内容包含EIP实例的所有字段。

    3. 选择配置信息。

      • 基本信息:可选择区域和设置实例名称。所在网络,指当前创建的 BLB 和相应 BCC 等云资源所属的私有网络(VPC)。

      说明:

      • 负载均衡 BLB和其绑定的后端服务器 BCC 需要建立在同一个私有网络VPC 下。系统提供默认私有网络,如需自定义VPC,请参考创建私有网络VPC
      • 用户在创建BLB实例时需要指定子网。
      • 配置公网访问:可根据实际情况选择“启用”或“不启用”公网访问

        • 如果选择“OFF”,不启用。表示在创建该BLB实例时不绑定公网IP,您可以在购买成功后根据需要再绑定公网IP。
        • 如果选择“ON”,启用。表示在创建该BLB实例时购买并绑定公网IP。
      • 购买信息:选择购买数量,以及配置是否自动释放。

      说明: 用户在创建BLB实例时,可直接进行BLB实例自动释放设置,BLB实例会在设定的时间进行自动释放。

      (可选,如果未启用公网访问,系统将自动跳过此步骤) 配置EIP实例信息,有关EIP实例的配置方法,请参看创建EIP实例

    4. 确认配置信息并根据系统提示,完成订单确认及支付。创建成功后,用户将收到短信提示。

    配置监听器

    配置TCP监听器

    配置TCP监听包括“配置信息”和“健康检查设置”两部分。

    开启健康检查后,BLB将自动屏蔽不健康的后端服务器。

    1. 选择“产品服务>负载均衡BLB>普通型实例”,进入普通型实例列表。
    2. 点击“负载均衡ID/名称”列的ID链接,进入实例详情页。
    3. 点击左侧导航栏的“监听设置”>“添加监听设置”,进行监听器的基本设置和健康检查设置。BLB协议选择“TCP”。
    4. 设置配置信息。

      项目 描述
      BLB协议[端口] 指定BLB监听器监听的协议和端口。端口输入范围为1~65535间的整数。默认“80”。
      后端协议[端口] 指定后端服务器提供服务的协议和端口。BLB服务转发请求至目标服务,目标服务监听的端口,端口输入范围为1~65535间的整数。默认“80”。
      转发规则 加权轮询:依据后端服务器的权重,将请求轮流发送给后端服务器,常用于短连接服务,例如HTTP服务。有关权重的配置方法,请参看“配置后端服务器”章节。
      最小连接数:优先将请求发给拥有最少连接数的后端服务器,常用于长连接服务,例如数据库连接等服务。此算法下,服务器权重不生效。
      源IP:将请求的源IP进行hash运算后派发请求至某匹配的服务器,这可以保证同一个客户端IP的请求始终被派发至某特定的服务器。源IP算法为TCP监听器提供会话保持机制。此算法下,服务器权重不生效。
    5. 设置健康检查。

      项目 描述
      健康检查协议 指定检查后端服务器健康状态时使用的协议类型。
      响应超时时间 如果在指定时间内没有收到后端服务器的响应,则认为后端服务器响应超时。
      健康检查间隔 对后端服务器进行检查的时间间隔。
      不健康阈值 如果后端服务器连续健康检查失败的次数超过阈值,则认为该服务器不健康。
      健康阈值 对于不健康的服务器,如果连续健康检查成功的次数超过阈值,则认为该服务器健康。
    6. 完成上述配置后,点击“确认”按钮完成TCP监听器添加。

    配置HTTP监听器

    配置HTTP监听包括“配置信息”和“健康检查设置”两部分。

    开启健康检查后,BLB将自动屏蔽不健康的后端服务器。

    1. 选择“产品服务>负载均衡BLB”,进入负载均衡BLB列表。
    2. 点击“负载均衡ID/名称”列的ID链接,进入实例详情页。
    3. 点击“监听设置”>“添加监听设置”,进行监听器的基本设置和健康检查设置。BLB协议选择“HTTP”。
    4. 设置配置信息。

      项目 描述
      BLB协议[端口] 指定BLB监听器监听的协议和端口。端口输入范围为1~65535间的整数。默认“80”。
      后端协议[端口] 指定后端服务器提供服务的协议和端口。BLB服务转发请求至目标服务,目标服务监听的端口,端口输入范围为1~65535间的整数。默认“80”。
      转发规则 加权轮询:依据后端服务器的权重,将请求轮流发送给后端服务器,常用于短连接服务,例如HTTP服务。有关权重的配置方法,请参看“配置后端服务器”章节。
      最小连接数:优先将请求发给拥有最少连接数的后端服务器,常用于长连接服务,例如数据库连接等服务。此算法下,服务器权重不生效。
      会话保持 TCP监听器可以通过源IP转发规则实现会话保持;7层监听器(HTTP、HTTPS)通过插入/修改cookie实现会话保持。可选择“开启”或“关闭”。
      附加HTTP头部 在HTTP请求中附加头字段,在后端服务器处理报文时获取客户端真实IP或监听协议信息。
      获取真实IP:开启该功能后,可将用户IP地址记录在X-Forwarded-For头域中;
      获取监听协议:开启该功能后,可将监听协议记录在X-Forwarded-Proto头域中。
      启用HTTPS重定向 将此监听器的HTTP请求重定向至此BLB的HTTPS监听器。请确保相应端口的HTTPS监听器工作正常。可选择“开启”或“关闭”。默认“关闭”。
      HTTP请求允许非ASCII字符 开启此选项后如果HTTP请求中含有非ASCII字符,BLB会放行并转发给后端服务器处理。开启此选项可能带来安全风险,非特殊使用场景建议保持关闭。默认“关闭”。
      超时时间 等待后端服务器响应的超时时间;如果后端服务器需较长时间处理请求,可适当调大该值,默认30秒。
    5. 设置健康检查信息。

      项目 描述
      健康检查协议 指定检查后端服务器健康状态时使用的协议类型。可选择“HTTP”或“TCP”
      检查端口 指定后端服务器提供服务的端口。本字段只对HTTP健康检查有效。
      检查路径 用于健康检查页面文件的URI,建议对静态页面进行检查。
      长度限制为1-80个字符,只能使用字母、数字、‘-’、‘/’、‘.’、‘%’、 ‘?’、‘#’、‘&’这些字符。本字段只对HTTP健康检查有效。
      响应超时时间 如果在指定时间内没有收到后端服务器的响应,则认为后端服务器响应超时。
      健康检查间隔 对后端服务器进行检查的时间间隔。
      不健康阈值 如果后端服务器连续健康检查失败的次数超过阈值,则认为该服务器不健康。
      健康阈值 对于不健康的服务器,如果连续健康检查成功的次数超过阈值,则认为该服务器健康。
      正常码状态 健康检查正常的http状态码,可选“http_2xx”、“http_3xx”、“http_4xx”、“http_5xx”,本字段只对HTTP健康检查有效
    6. 完成上述配置后,点击“确认”按钮完成HTTP监听器添加。

    配置HTTPS监听器

    为了保证信息安全,用户可以配置BLB监听器的协议为HTTPS。BLB对于用户的HTTPS的请求进行解密,然后发送至后端服务;后端服务处理完请求后的返回包首先发送至BLB,由BLB进行加密后,再传回用户侧。整个过程如下图所示:

    前置任务

    在配置HTTPS监听器之前,应先申请证书并将证书上传至证书管理模块,具体操作请参看证书管理

    操作步骤

    配置HTTP监听包括“配置信息”和“健康检查设置”两部分。

    开启健康检查后,BLB将自动屏蔽不健康的后端服务器。

    1. 选择“产品服务>负载均衡BLB”,进入负载均衡BLB列表。
    2. 点击“负载均衡ID/名称”列的ID链接,进入实例详情页。
    3. 点击“监听设置”>“添加监听设置”,进行监听器的基本设置和健康检查设置。BLB协议选择“HTTPS”。
    4. 设置配置信息。

      项目 描述
      BLB协议[端口] 指定BLB监听器监听的协议和端口。端口输入范围为1~65535间的整数。默认“403”。
      后端协议[端口] 指定后端服务器提供服务的协议和端口。BLB服务转发请求至目标服务,目标服务监听的端口,端口输入范围为1~65535间的整数。默认“80”。
      转发规则 加权轮询:依据后端服务器的权重,将请求轮流发送给后端服务器,常用于短连接服务,例如HTTP服务。有关权重的配置方法,请参看“配置后端服务器”章节。
      最小连接数:优先将请求发给拥有最少连接数的后端服务器,常用于长连接服务,例如数据库连接等服务。此算法下,服务器权重不生效。
      证书 在配置HTTPS监听器之前,应先申请证书并将证书上传至证书管理模块,具体操作请参看证书管理
      加密选项 可选择“兼容IE的加密方式”或“禁用不安全的加密方式”两种方式的其中一种。
      您可以通过“加密选项”来配置SSL加密协议和算法,系统默认启用兼容IE的加密方式;如果禁用存在安全隐患的加密方式可能会不兼容低版本的客户端。
      会话保持 TCP监听器可以通过源IP转发规则实现会话保持;7层监听器(HTTP、HTTPS)通过插入/修改cookie实现会话保持。可选择“开启”或“关闭”。默认“关闭”。
      附加HTTP头部 在HTTP请求中附加头字段,在后端服务器处理报文时获取客户端真实IP或监听协议信息。
      获取真实IP:开启该功能后,可将用户IP地址记录在X-Forwarded-For头域中;
      获取监听协议:开启该功能后,可将监听协议记录在X-Forwarded-Proto头域中。
      HTTP请求允许非ASCII字符 开启此选项后如果HTTP请求中含有非ASCII字符,BLB会放行并转发给后端服务器处理。开启此选项可能带来安全风险,非特殊使用场景建议保持关闭。默认“关闭”。
      超时时间 等待后端服务器响应的超时时间;如果后端服务器需较长时间处理请求,可适当调大该值,默认30秒。
    5. 设置健康检查信息。

      项目 描述
      健康检查协议 指定检查后端服务器健康状态时使用的协议类型。可选择“HTTP”或“TCP”
      检查端口 指定后端服务器提供服务的端口。本字段只对HTTP健康检查有效。
      检查路径 用于健康检查页面文件的URI,建议对静态页面进行检查。
      长度限制为1-80个字符,只能使用字母、数字、‘-’、‘/’、‘.’、‘%’、 ‘?’、‘#’、‘&’这些字符。本字段只对HTTP健康检查有效。
      响应超时时间 如果在指定时间内没有收到后端服务器的响应,则认为后端服务器响应超时。
      健康检查间隔 对后端服务器进行检查的时间间隔。
      不健康阈值 如果后端服务器连续健康检查失败的次数超过阈值,则认为该服务器不健康。
      健康阈值 对于不健康的服务器,如果连续健康检查成功的次数超过阈值,则认为该服务器健康。
      正常码状态 健康检查正常的http状态码,可选“http_2xx”、“http_3xx”、“http_4xx”、“http_5xx”,本字段只对HTTP健康检查有效
    6. 完成上述配置后,点击“确认”按钮完成HTTP监听器添加。

    替换证书

    对于已经添加HTTPS监听器用户,可以通过以下方式完成证书替换,具体操作如下:

    1. 创建新证书,关于证书的创建方法,请参看证书管理
    2. 选择“产品服务>负载均衡BLB”,进入负载均衡BLB列表。
    3. 点击“负载均衡ID/名称”列的ID链接,进入实例详情页。
    4. 点击“监听设置”,找到已经配置的HTTPS监听器,点击“编辑”进入配置页面。

    5. 点击“证书”项下拉菜单,从证书列表中找到步骤1中创建的证书,点击“确定”,完成证书替换。

    配置UDP监听器

    场景简介

    UDP流量的常见应用场景有:DNS服务、物联网及一些对数据传输可靠性要求不高的场景。

    UDP健康检查介绍

    UDP健康检查原理

    BLB给后端服务器发送UDP包来实现健康检查。如果后端服务器运行正常,则能够接收BLB的健康检查包并给予返回。如果BLB接收到了后端服务器返回的UDP包,就认为其是健康的。 用户需指定UDP包所携带的内容,即检查字符串。

    例如: 用户可以发一个内容是“解析www.abc.com的DNS请求”的UDP包给后端服务器(假设后端服务器是DNS server),这时候后端服务器会返回含有DNS解析结果的UDP包。

    检查字符串

    检查字符串就是用于健康检查的UDP包的有效载荷内容。由于UDP包的有效载荷是二进制,为了表达方便,可以统一用16进制来表示,如果载荷里有ASCII字符,也可以用ASCII字符来替代相应内容。

    配置检查字符串有两种方法:

    方法一:如果可以调整后端服务器上的应用程序。可以把检查字符串设置为类似于“hello”的简单字符串,然后调整应用程序来响应携带”hello”的UDP包。响应内容可以任意填写,BLB只要接收到响应包就认为是健康的。

    方法二:如果不方便调整后端服务器上的应用程序,例如后端服务器上运行的是通用的DNS解析服务,这时可以配置一个正常服务请求用作健康检查。

    获取一个正常请求所对应的有效载荷: 可以通过tcpdump命令在后端服务器上抓取本机接收到的UDP包,或者在客户端机器上抓取本机发出的UDP包。

    举例: 假设后端服务器需要提供DNS解析服务,我们在后端服务器上进行抓包:

    tcpdump -i any udp and dst host $(hostname) and dst port 53 -X

    这个命令会抓取所有通过53端口发给本机的UDP包。

    请求里前28个字节为IP头+UDP头,需要跳过。从第29个字节(5063)开始,就是UDP包的有效载荷。 所以检查字符串可以设置为:“\50\63\01\00\00\01\00\00\00\00\00\00\03\77\77\77\05\62\61\69\64\75\03\63\6f\6d\00\00\01\00\01”; 为了便于设置检查字符串,在页面上预先填入了对baidu.com的DNS解析请求“\00\01\01\00\00\01\00\00\00\00\00\00\05baidu\03com\00\00\01\00\01”。

    说明: 字符串中“\”代表一个16进制的byte字节。例如“\77”代表如下byte:01110111(16bit二进制表示),也可以用所对应的ASCII码“w”来替代。

    操作步骤

    配置UDP监听包括“配置信息”和“健康检查设置”两部分。

    开启健康检查后,BLB将自动屏蔽不健康的后端服务器。

    1. 选择“产品服务>负载均衡BLB”,进入负载均衡BLB列表。
    2. 点击“负载均衡ID/名称”列的ID链接,进入实例详情页。
    3. 点击“监听设置”>“添加监听设置”,进行监听器的基本设置和健康检查设置。BLB协议选择“UDP”。
    4. 设置配置信息。

      项目 描述
      BLB协议[端口] 指定BLB监听器监听的协议和端口。端口输入范围为1~65535间的整数。默认“53”。
      后端协议[端口] 指定后端服务器提供服务的协议和端口。BLB服务转发请求至目标服务,目标服务监听的端口,端口输入范围为1~65535间的整数。默认“53”。
      转发规则 加权轮询:依据后端服务器的权重,将请求轮流发送给后端服务器。有关权重的配置方法,请参看“配置后端服务器”章节。
      最小连接数:优先将请求发给拥有最少连接数的后端服务器。此算法下,服务器权重不生效。
      源IP:将请求的源IP进行hash运算后派发请求至某匹配的服务器,这可以保证同一个客户端IP的请求始终被派发至某特定的服务器。源IP算法为UDP监听器提供会话保持机制。此算法下,服务器权重不生效。
    5. 设置健康检查。

      项目 描述
      健康检查协议 指定检查后端服务器健康状态时使用的协议类型。
      检查字符串 BLB采用给后端服务器发送带有用户指定字符串的UDP包实现健康检查。
      您需要配置应用程序来完成响应。对于后端服务器是DNS server的情况,
      您可以配置DNS解析请求作为健康检查包,默认值为对baidu.com的DNS解析请求
      (00\01\01\00\01\00\00\00\00\00\00\05baidu\03com\00\00\01\00\01)。
      响应超时时间 如果在指定时间内没有收到后端服务器的响应,则认为后端服务器响应超时。
      输入范围为1~60间的整数,建议设置为3秒。
      健康检查间隔 对后端服务器进行检查的时间间隔。输入范围为1~10间的整数,建议设置为3秒
      不健康阈值 如果后端服务器连续健康检查失败的次数超过阈值,则认为该服务器不健康。
      健康阈值 对于不健康的服务器,如果连续健康检查成功的次数超过阈值,则认为该服务器健康。
    6. 完成上述配置后,点击“确认”按钮完成UDP监听器添加。

    编辑监听设置

    在“监听设置”页签,点击<编辑>,跳入编辑界面,编辑后点击<确定>。

    释放监听设置

    1. 在“监听设置”页签,勾选要释放的监听设置,点击<释放>按钮。

    2. 在弹出的界面,点击<确定>,完成释放。

    配置后端服务器

    添加后端服务器

    1. 选择“产品服务>负载均衡BLB”,进入负载均衡BLB列表。
    2. 点击“负载均衡ID/名称”列的ID链接,进入实例详情页。
    3. 点击“后端服务器”>“添加后端服务器”,进入后端服务器列表。后端服务器列表中显示了与当前BLB所在私有网络VPC下的BCC实例名称、状态等信息。
    4. 配置后端服务器权重。权重是用来针对不同的后端服务器实例设置不同的请求转发比例。例如有两台配置不同的后端服务器实例,那么对于高配置的实例可以选择设置更高的权重来接收更多的外部访问请求。

      • 权重值是一个相对值,如果设置成相同数值,其转发比例是一样的。
      • 支持设置0-100的权重值。权重越高,接收的请求越多;如果权重设置为“0”,则不再接收新的请求。
      • 非0权重对加权轮询外的转发规则不生效。

    5. 勾选要添加的一台或多台后端服务器实例,点击<确定>,将其加入负载均衡服务。

    设置后端服务器安全组

    目前BCC默认安全组的入站规则是允许所有流量。如果您需要更精细化地对安全组规则进行配置,请参考以下指导。

    BLB通过特定的内网网段与BCC交互来完成健康状态检查。所以您在配置BCC安全组时,需要注意为安全组的入站规则放开这些内网IP段。

    由于4层监听器(eg.TCP协议)默认开启真实IP功能(数据包的源IP就是client IP),所以用户BCC安全组的入站规则还需要额外放开client IP地址;7层监听器(eg.HTTP协议)的真实IP功能是通过X-Forwarded-For header实现,所以7层监听器的后端BCC安全组无需放开client IP地址。

    BCC安全组的入站规则需要对源IP进行如下配置:

    北京、广州区域

    监听器类型 公网BLB 内网BLB
    4层监听器(eg.TCP协议) - 允许用户Client所在的公网IP段
    - 允许100.64.0.0/10(健康检查)
    - 允许10.0.0.0/8网段(内网BCC数据包的IP地址会被转换为10.0.0.0/8网段的IP地址,所以在BLB的后端服务器看来Client请求是来自10.0.0.0/8网段的)
    - 允许100.64.0.0/10网段(健康检查)
    7层监听器(eg.HTTP协议) 允许100.79.0.0/16网段 允许100.79.0.0/16网段

    安全组开放的端口应至少包含BLB后端服务端口和健康检查端口。

    示例

    BLB类型为公网BLB,用户Client所在网段为7.0.0.0/8,后端服务端口为80,监听器配置如下图所示:

    根据上述场景,BCC安全组的配置如下图所示,关于安全组的具体配置,请参看管理安全组

    编辑后端服务器

    1. 在“后端服务器”页签点击“编辑”按钮,进入后端服务器实例列表。
    2. 用户可重新选择后端服务器并配置其权重值,具体配置方法可参看添加后端服务器

    移除后端服务器

    1. 在“后端服务器”页签勾选需要移除的后端服务器实例。
    2. 点击<批量移除>,完成移除操作。

    查看监控数据

    通过控制台查看

    点击BLB的详情页的“实例监控”页签,就可以看到监控的各项图表数据:包括实例监控信息和端口监控信息。

    系统默认给出最近1小时内的监控信息,如果需要查看更多内容,可点击下拉菜单,切换时间范围,如下图所示:

    实例监控信息代表与BLB实例绑定的EIP实例的监控信息,包括:

    • 从外网进入的流量:入站流量,即用户访问站点的流量,单位:字节/分钟。
    • 流向外网的流量:出站流量,即站点到用户方向的流量,单位:字节/分钟。
    • 出口带宽:EIP实例出方向瞬时带宽,单位:比特/秒。

    对于4层监听器,端口监控信息包括:

    • 实例数量

      • 实例总数:已添加的后端服务器数量。
      • 正常实例数量:健康检查正常的后端服务器数量。
      • 异常实例数量:健康检查异常的后端服务器数量。
    • 网络流量

      • 网络流入流量:监听器接收到的用户流量,单位:字节/分钟。
      • 网络流出流量:监听器发往用户的流量,单位:字节/分钟。
    • 网络数据包

      • 输入数据包数:监听器接受到的用户数据包(Packet)数量,单位:个/分钟。
      • 输出数据包数:监听器发往用户的数据包(Packet)数量,单位:个/分钟。
    • 活跃连接数:当前活跃的TCP连接数。

    对于7层监听,端口监控信息除了包括以上内容之外,还包括:

    • 请求数:监听器接收到的HTTP请求的数量,单位:个/分钟。

    您可以通过点击图表右上方的图标,查看详细监控信息,如下图所示:

    系统每分钟产生一个监控数据。用户可以通过调整”统计项“和”采样周期“来获取不同维度的统计信息。例如”采样周期“设为1小时,则每个采样周期内会有60个监控数据;然后如果”统计项“设的是平均值,则每个采样周期内,会为用户展示60个监控数据的均值。

    采样周期包括:1分钟、5分钟、20分钟、1小时、6小时、12小时和1天。

    统计项包括:

    • 平均值:采样周期内所有采样点的平均值。
    • 和值:采样周期内所有采样点的取值之和。
    • 最大值:采样周期内所有采样点中的最大值。
    • 最小值:采样周期内所有采样点中的最小值。
    • 样本数:采样周期内的样本数。

    通过API查看

    详细的接口请参考云监控BCM查询数据接口

    其中,获取BLB监控的请求参数”scope”,”metricName”和”dimensions”,请参照下表:

    scope metricName dimensions
    BCE_BLB UnhealthyCount 异常实例数量
    TotalCount 实例总数
    HealthyCount 正常实例数量
    RequestCount 请求数
    NetworkInBytes 网络流入流量
    NetworkOutBytes 网络流出流量
    ActiveConnCount 活跃连接数
    NetworkInPkgCount 输入数据包数
    NetworkOutPkgCount 输出数据包数
    BlbId + BlbPort 通过”.”号拼接起来,例如:BlbId=lb-dd45e123,BlbPort=80
    那么instance为:lb-dd45e123.80

    管理报警

    在“实例监控”页签,点击<报警详情>按钮,进入报警管理页面,可以为端口的报警策略进行管理。详细操作步骤请见BCM管理报警

    上一篇
    实名认证
    下一篇
    管理BLB普通型实例