负载均衡快速入门
负载均衡支持 TCP/UDP/HTTP/HTTPS 协议,提供基于域名和 URL 路径的灵活转发能力。本文将引导您如何快速使用 IPv4 负载均衡。
前提条件
-
云服务器实例:负载均衡只负责转发流量,不具备处理请求的能力。因此,您需要有处理用户请求的云服务器实例。在本示例中,只要具有两台云服务器实例即可,您也可以自行规划云服务器数量。本例中已经在广州地域下创建了云服务器实例
rs-1
和rs-2
。 -
Web 服务部署:本文以 HTTP 转发为例,云服务器上必须部署相应的 Web 服务器,如 Apache、Nginx、IIS 等。为了验证结果,示例在
rs-1
上部署了 Apache 并返回一个带有 “Hello Tomcat! This is rs-1!” 的 HTML,在rs-2
上部署了 Apache 并返回一个带有 “Hello Tomcat! This is rs-2!” 的 HTML。更多云服务器部署内容,请参考 Linux(CentOS)下部署 Java Web 及 Windows 下安装配置 PHP。 -
验证服务部署:访问云服务器的公网 IP+路径,若显示结果为您部署好的页面,则表示服务部署成功。
注意:
本示例中后端服务器部署的服务返回值不同,仅用于功能验证。实际情况下,为保持所有用户均有一致体验,后端服务器上一般是部署完全相同的服务。
创建负载均衡实例
-
登录负载均衡控制台:登录站狐云 负载均衡。
-
选择地域:选择负载均衡实例的所属地域,单击 新建,进入 负载均衡 LB 窗口。
-
配置实例参数:配置负载均衡实例相关参数,具体请根据实际情况配置。
说明:
公网 IPv4 负载均衡 所属运营商 支持多运营商选择,例如电信、联通、移动、外网 CAP,您可根据实际情况进行设置。
- 确认开通:单击 确认开通。成功创建实例后,在列表中可看到新建的实例。
创建负载均衡监听器
负载均衡监听器通过指定协议及端口来负责实际转发。本文以负载均衡转发客户端的 HTTP 请求配置为例。
配置 HTTP 监听协议和端口
-
登录云控制台:单击 云产品 > 云计算与网络 > 负载均衡,进入负载均衡控制台。
-
进入实例详情页:在“LB 实例列表”中,找到已创建的负载均衡实例
clb-test
,单击实例 ID,进入负载均衡详情页。 -
修改实例名称(可选):在“基本信息”模块,可以单击名称后的修改图标修改实例名称。
-
新建监听器:在“监听器管理”中的 HTTP/HTTPS 监听器 下,单击 新建,新建负载均衡监听器。
- 配置监听器参数:在弹出的对话框中,配置以下参数,完成后单击 确定。
参数 | 说明 |
---|---|
名称 | 监听器名称。本示例中可自定义为“Listener1”。 |
监听器协议 | 监听器的协议和监听端口。 - 监听协议包含 HTTP 和 HTTPS,本例选择 HTTP。 - 监听端口是用来接收请求并向后端服务器转发请求的端口,端口范围为 1 - 65535。其中,843、1020、1433、1434、3306、3389、6006、20000、36000、42222、48369、56000、65010 端口为系统保留端口,暂不对外开放。 - 同一个负载均衡实例内,监听端口不可重复。 |
默认域名 | 可选择开启或关闭。 - 开启:当客户端请求没有匹配本监听器的任何域名时,CLB 会将请求转发给默认域名(Default Server),每个监听器只能配置且必须配置一个默认域名。 - 如果您的七层监听器已配置默认域名,未匹配其他规则的客户端请求会被转发到默认域名。 - 如果您的七层监听器未配置默认域名,未匹配其他规则的客户端请求则会被转发到 CLB 加载的第一个域名,由于加载顺序与控制台配置顺序可能不一致,因此不一定是控制台配置的第一个。 - 关闭:当客户端请求没有匹配本监听器的任何域名时,请求将无法被转发。 |
配置监听器的转发规则
- 添加规则:在“监听器管理”中,选中新建的监听器 Listener1,单击 +,开始添加规则。
-
设置基本配置信息:在弹出的转发规则对话框中,设置域名、URL 路径和均衡方式等基本配置信息,单击 下一步:健康检查。
- 域名:您的后端服务所使用的域名,本例使用
www.qcloudtest.com
。域名支持通配符,详情请参见配置说明。 - URL 路径:您的后端服务的访问路径,本例使用
/image/
。 - 均衡方式:选择 按权重轮询。
- 域名:您的后端服务所使用的域名,本例使用
- 配置健康检查:开启健康检查,检查域名使用默认的转发域名和转发路径,单击 下一步:会话保持。
参数 | 说明 |
---|---|
健康检查 | 可开启或关闭健康检查功能。建议您开启健康检查,帮助您自动检查并移除异常的后端 CVM 端口。 |
检查域名 | 健康检查域名: - 长度限制:1 - 80 个字符。 - 默认为转发域名。 - 不支持正则表达式,当您的转发域名为通配域名时,需要指定某一固定域名(非正则)为健康检查域名。 - 支持的字符集为:a-z 0-9 . -。 |
检查目录 | 健康检查路径可设置为后端服务器根目录或指定的 URL: - 长度限制:1 - 200 个字符。 - 默认为 /,且必须以 / 开头。 - 不支持正则表达,建议指定某个固定 URL 路径(静态页面)进行健康检查。 - 支持的字符集为:a-z A-Z 0-9 . - _ / = ?。 |
检测间隔 | 负载均衡进行健康检查的时间间隔。可配置范围:5 - 300 秒。 |
不健康阈值 | 如果连续 n 次(n 为填写的数值)收到的健康检查结果失败,则识别为不健康,控制台显示为异常。可配置范围:2 - 10 次。 |
健康阈值 | 如果连续 n 次(n 为填写的数值)收到的健康检查结果为成功,则识别为健康,控制台显示为健康。可配置范围:2 - 10 次。 |
HTTP 请求方式 | 健康检查的 HTTP 请求方式,可选:GET 或 HEAD,默认为 GET。 - 若使用 HEAD 方法,服务器仅返回 HTTP 头部信息,可降低后端开销,提升请求效率,对应的后端服务需支持 HEAD。 - 若使用 GET 方法,则后端服务支持 GET 即可。 |
正常状态码 | 当状态码为所选状态码时,认为后端服务器存活,即健康检查正常。可选:http_1xx、http_2xx、http_3xx、http_4xx 和 http_5xx,支持选择多个状态码。 |
- 会话保持:开启会话保持,设置保持时间,单击 提交 完成监听器转发规则的配置。
有关负载均衡监听器的更多内容,请参考 负载均衡监听器概述。
注意:
- 一个监听器(即监听协议:端口)可以配置多个域名,一个域名下可以配置多条 URL 路径,选中监听器或域名,单击【+】号即可创建新的规则。
- 会话保持:如果用户关闭会话保持功能,选择轮询的方式进行调度,则请求依次分配到不同后端服务器上;如果用户开启会话保持功能,或关闭会话保持功能但选择 IP Hash 的调度方式,则请求持续分配到同一台后端服务器上去。
绑定云服务器
-
绑定云服务器:在“监听器管理”页面,选中新创建的监听器旁的三角图标展开监听器 Listener1,依次选中并展开域名、URL 路径,屏幕右侧区域显示 URL 路径绑定的云服务器信息,在此单击 绑定。
-
选择云服务器实例:在弹出框中,选择与 CLB 同地域下的云服务器实例
rs-1
和rs-2
,设置云服务器端口均为“80”,云服务器权重均为默认值“10”。 -
确认绑定:单击 确定,完成绑定。
-
查看健康状态:展开监听器到 URL 路径维度,可以查看绑定的云服务器和其健康检查状态,当状态为“健康”时表示云服务器可以正常处理负载均衡转发的请求。
注意:
一条转发规则(监听协议 + 端口 + 域名 + URL 路径)可以绑定同一台云服务器的多个端口。如用户在
rs-1
的80
和81
端口部署了一样的服务,则 CLB 支持示例中的转发规则同时绑定rs-1
的80
和81
端口,两个端口都会接收到 CLB 转发的请求。
验证负载均衡服务
配置完成负载均衡后,可以验证该架构是否生效,即验证通过一个 CLB 实例下不同的 域名+URL 访问不同的后端云服务器,也即验证 内容路由(content-based routing) 的功能。
方法一:配置 hosts 将域名指向 CLB
-
修改 hosts 文件:在 Windows 系统中,进入
C:\Windows\System32\drivers\etc
目录,修改 hosts 文件,把域名映射到 CLB 实例的 VIP 上。 -
验证 hosts 配置:为了验证 hosts 是否配置成功,可以运行 cmd,用 ping 命令探测一下该域名是否成功绑定了 VIP,如有数据包,则证明绑定成功。
-
测试负载均衡服务:在浏览器中输入访问路径
http://www.qcloudtest.com/image/
,测试负载均衡服务。如下图所示,则表示本次请求被 CLB 转发到了 rs-1 这台 CVM 上,CVM 正常处理请求并返回。 -
刷新请求:此监听器的轮询算法是“按权重轮询”,且两台 CVM 的权重都是“10”,刷新浏览器,再次发送请求,可以看到本次请求被 CLB 转发到了 rs-2 这台 CVM 上。
注意:
image/
后/
必须保留,代表 image 是默认的目录,而不是名为 image 的文件。
方法二:配置云解析将域名指向 CLB
-
登录云控制台:单击 云产品 > 域名服务 > VPCDNS。
-
添加解析记录:单击您所购买的 域名,在 域名解析管理 页面单击 添加记录 按钮,为域名添加 A 记录,输入以下内容:
- 记录类型:
A记录
。 - 主机记录:即域名前缀。本例以解析所有前缀为例,设为
*.qcloudtest.com
。 - 记录值:填写负载均衡 IP 地址。
- 权重:设置为默认值“100”。
- 记录类型:
-
确认添加:添加完毕后,单击 确定。
域名解析将该记录在 Internet 上传播需要一段时间。为测试域名是否解析正常,可以在添加完解析记录一段时间后,直接访问绑定后的 CNAME 域名(如本例中的 www.qcloudtest.com
)来验证负载均衡。