IPv6 负载均衡快速入门
最近更新时间: 2024-10-17 17:10:00
负载均衡支持 IPv4、IPv6 和 IPv6 NAT64 三个 IP 版本,IPv6 负载均衡支持 TCP/UDP/HTTP/HTTPS 协议,提供基于域名和 URL 路径的灵活转发能力。本文将引导您如何快速使用 IPv6 负载均衡。
前提条件
负载均衡只负责转发流量,不具备处理请求的能力。因此,您需要首先搭建处理用户请求的云服务器实例,并完成云服务器的 IPv6 配置。有关如何创建云服务器实例并启用 IPv6,请参见 快速搭建 IPv6 私有网络。
本文以 HTTP 转发为例,云服务器上必须部署相应的 Web 服务器(如 Apache、Nginx、IIS 等),同时 Web 服务使用的端口需要监听 IPv6。
使用说明
IPv6 负载均衡支持获取客户端 IPv6 源地址。
四层 IPv6 负载均衡支持直接获取客户端 IPv6 源地址。
七层 IPv6 负载均衡支持通过 HTTP 的 X-Forwarded-For 头域获取客户端 IPv6 源地址。
当前 IPv6 负载均衡是纯公网负载均衡,相同 VPC 的客户端无法通过内网访问该 IPv6 负载均衡。
步骤1:搭建云服务器并配置 IPv6
登录腾讯云金融专区官网,选择云产品 > 云计算与网络 > 云服务器,登录云服务器控制台完成 IPv6 的基础配置,详细操作请参见 快速搭建 IPv6 私有网络。
在云服务器中,依次执行如下命令,部署并重启 Nginx 服务。
yum install nginx service nginx restart
查看部署在云服务器上的 Nginx 服务是否已经监听 IPv6。
执行如下命令进行查看。
netstat -tupln
执行如下命令,打开 Nginx 配置文件进行查看。
vim /etc/nginx/nginx.conf
步骤2:创建 IPv6 负载均衡实例
- 登录腾讯云金融专区官网,选择云产品 > 云计算与网络 > 负载均衡,登录负载均衡控制台。
在LB实例列表界面,单击新建进入负载均衡 LB实例购买界面。
在负载均衡 LB 实例购买界面,设置网络类型为公网,可用区类型为单可用区,IP 版本为 IPv6,网络请务必选择已经获取IPv6 CIDR的私有网络和子网,所属运营商为外网CAP。实例名和购买数量您选择默认或按需配置均可。然后单击确认开通。
- 在 LB 实例列表即可看到新建的实例。
步骤3:创建 IPv6 负载均衡监听器
配置 HTTP 监听协议和端口
在 LB 实例列表界面,选择已创建的负载均衡实例,单击实例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 加载的第一个域名,由于加载顺序与控制台配置顺序可能不一致,因此不一定是控制台配置的第一个。 - 关闭:当客户端请求没有匹配本监听器的任何域名时,请求将无法被转发。 |
配置监听器的转发规则
在监听器管理中,选中刚才新建的监听器 IPv6test,单击+,弹出创建HTTP/HTTPS转发规则对话框。
在弹出的转发规则对话框中,设置域名、URL 路径和均衡方式等基本配置信息,单击下一步:健康检查。
域名:您的后端服务所使用的域名,本例使用
www.qcloudtest.com
。域名支通配符,详情请参见 配置说明。URL 路径:您的后端服务的访问路径,本例使用
/image/
。均衡方式选择【按权重轮询】。
- 配置健康检查:开启健康检查,检查域名使用默认的转发域名和转发路径,单击下一步:会话保持。
- 会话保持:开启会话保持并配置保持时间,单击提交。
有关负载均衡监听器的更多内容,请参见 负载均衡监听器概述。
说明:
- 一个监听器(即监听协议:端口)可以配置多个域名,一个域名下可以配置多条 URL 路径,选中监听器或域名,单击【+】即可创建新的规则。
- 会话保持:如果用户关闭会话保持功能,选择轮询的方式进行调度,则请求依次分配到不同后端服务器上;如果用户开启会话保持功能,或关闭会话保持功能但选择 ip_hash 的调度方式,则请求持续分配到同一台后端服务器上去。
绑定云服务器
在监听器管理界面,选中并展开刚才创建的监听器,选中域名、选中 URL 路径,右侧区域框为URL路径已绑定的云服务器 IPv6 信息列表,新增绑定请单击绑定。
在弹出的绑定RS对话框中,勾选需要绑定的弹性网卡,并设置云服务器的 Nginx 服务默认端口为80,设置权重(默认值10),单击确定。
说明:
CLB绑定的ENI时,ENI必须绑定在CVM上;没有绑定CVM的ENI不能被CLB绑定。
成功绑定云服务器后:
- 请确认端口状态是否为健康,如果为健康,请进行 步骤4:测试 IPv6 负载均衡。
- 如果端口状态为异常,请确定监听器是否绑定了正确的云服务器的 Nginx 服务端口,同时登录云服务器检查端口已经正常监听 IPv6,可参见 步骤1中的第3步 进行查看。
步骤4:测试 IPv6 负载均衡
配置完成 IPv6 负载均衡后,可以验证该架构是否生效,即验证通过一个 CLB 实例下不同的域名 + URL 访问不同的后端云服务器,也即验证内容路由(content-based routing) 的功能是否可用。
使用具有 IPv6 公网能力的客户端,访问域名或者负载均衡的 IPv6 地址,如果能够正常访问云服务器的 Web 服务,则表明 IPv6 负载均衡工作正常,示例步骤如下:
- 在 Windows 系统中,进入
C:\Windows\System32\drivers\etc
目录,修改 hosts 文件,将域名映射到 CLB 实例的 VIP 上。
- 为了验证 hosts 是否配置成功,可以运行 cmd,用 ping 命令探测一下该域名是否成功绑定了 VIP,如有数据包,则证明绑定成功。
- 在浏览器中输入访问路径
http://www.example.com/image/
,测试负载均衡服务。如下图所示,则表示本次请求被 CLB 转发到了 rs-1 这台 CVM 上,CVM 正常处理请求并返回。
- 此监听器的轮询算法是“按权重轮询”,且两台 CVM 的权重都是“10”,刷新浏览器,再次发送请求,可以看到本次请求被 CLB 转发到了 rs-2 这台 CVM 上。
!
image/
后/
必须保留,代表 image 是默认的目录,而不是名为 image 的文件。