阿里云负载均衡配置UDP监听器

阿里云负载均衡配置UDP监听器

配置UDP监听器

UDP流量的常见应用场景有:DNS服务、物联网及一些对数据传输可靠性要求不高的场景。
阿里云负载均衡开通地址 https://www.aliyun.com/product/slb
阿里云负载均衡配置UDP监听官方教程 https://help.aliyun.com/document_detail/86130.html

UDP健康检查原理

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

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

检查字符串

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

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

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

方法二:如果不方便调整后端服务器上的应用程序,例如后端服务器上运行的是通用的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包的有效载荷。所以检查字符串可以设置为:“(3???2194=3fd”;为了便于设置检查字符串,在页面上预先填入了对baidu.com的DNS解析请求“baiducom”。

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

操作步骤

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

开启健康检查后,阿里云负载均衡将自动屏蔽不健康的后端服务器。

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

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

  5. 设置健康检查。

    健康检查协议:指定检查后端服务器健康状态时使用的协议类型。
    检查字符串:阿里云负载均衡采用给后端服务器发送带有用户指定字符串的UDP包实现健康检查。
    您需要配置应用程序来完成响应。对于后端服务器是DNS server的情况,
    您可以配置DNS解析请求作为健康检查包。
    响应超时时间:如果在指定时间内没有收到后端服务器的响应,则认为后端服务器响应超时。
    输入范围为1~60间的整数,建议设置为3秒。
    健康检查间隔:对后端服务器进行检查的时间间隔。输入范围为1~10间的整数,建议设置为3秒
    不健康阈值:如果后端服务器连续健康检查失败的次数超过阈值,则认为该服务器不健康。
    健康阈值:对于不健康的服务器,如果连续健康检查成功的次数超过阈值,则认为该服务器健康。

  6. 完成上述配置后,点击“确认”按钮完成UDP监听器添加。

编辑监听设置

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

释放监听设置

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

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

发表评论