IPv6 负载均衡快速入门

最近更新时间: 2024-06-12 15:06:00

负载均衡支持 IPv4、IPv6 和 IPv6 NAT64 三个 IP 版本,IPv6 负载均衡支持 TCP/UDP/HTTP/HTTPS 协议,提供基于域名和 URL 路径的灵活转发能力。本文将引导您如何快速使用 IPv6 负载均衡。

前提条件

  1. 负载均衡只负责转发流量,不具备处理请求的能力。因此,您需要首先搭建处理用户请求的云服务器实例,并完成云服务器的 IPv6 配置。有关如何创建云服务器实例并启用 IPv6,请参见 快速搭建 IPv6 私有网络

  2. 本文以 HTTP 转发为例,云服务器上必须部署相应的 Web 服务器(如 Apache、Nginx、IIS 等),同时 Web 服务使用的端口需要监听 IPv6。

使用说明

  • IPv6 负载均衡支持获取客户端 IPv6 源地址。

  • 四层 IPv6 负载均衡支持直接获取客户端 IPv6 源地址。

  • 七层 IPv6 负载均衡支持通过 HTTP 的 X-Forwarded-For 头域获取客户端 IPv6 源地址。

  • 当前 IPv6 负载均衡是纯公网负载均衡,相同 VPC 的客户端无法通过内网访问该 IPv6 负载均衡。

步骤1:搭建云服务器并配置 IPv6

  1. 登录腾讯云金融专区官网,选择【云产品】>【云计算与网络】>【云服务器】,登录云服务器控制台完成 IPv6 的基础配置,详细操作请参见 快速搭建 IPv6 私有网络

  2. 在云服务器中,依次执行如下命令,部署并重启 Nginx 服务。

yum install nginx
service nginx restart
  1. 查看部署在云服务器上的 Nginx 服务是否已经监听 IPv6。
  1. 执行如下命令进行查看。
netstat -tupln

  1. 执行如下命令,打开 Nginx 配置文件进行查看。
vim  /etc/nginx/nginx.conf

步骤2:创建 IPv6 负载均衡实例

  1. 登录腾讯云金融专区官网,选择【云产品】>【云计算与网络】>【负载均衡】,登录负载均衡控制台。

  1. 在【LB实例列表】界面,单击【新建】进入【负载均衡 LB】实例购买界面。

  2. 在【负载均衡 LB】实例购买界面,设置【网络类型】为【公网】,【可用区类型】为【单可用区】,【IP版本】为【IPv6】,【网络】请务必选择已经获取IPv6 CIDR的私有网络和子网,【所属运营商】为【外网CAP】。实例名和购买数量您选择默认或按需配置均可。然后单击【确认开通】。

  1. 在【LB实例列表】即可看到新建的实例。

步骤3:创建 IPv6 负载均衡监听器

配置 HTTP 监听协议和端口

  1. 在【LB实例列表】界面,选择已创建的负载均衡实例,单击实例ID,进入负载均衡详情页。

  2. 在【基本信息】模块,可以单击名称后的修改图标修改实例名称。

  3. 在【监听器管理】中的【HTTP/HTTPS 监听器】下,单击【新建】,新建负载均衡监听器。

  4. 在弹出的对话框中,配置以下参数,完成后单击【确定】。

参数 说明
名称 监听器名称。本示例中可自定义为“Listener1”。
监听器协议 监听器的协议和监听端口。
- 监听协议包含 HTTP 和 HTTPS,本例选择 HTTP。
- 监听端口是用来接收请求并向后端服务器转发请求的端口,端口范围为1 - 65535。其中,843、1020、1433、1434、3306、3389、6006、20000、36000、42222、48369、56000、65010端口为系统保留端口,暂不对外开放。
- 同一个负载均衡实例内,监听端口不可重复。
默认域名 可选择开启或关闭。
- 开启:当客户端请求没有匹配本监听器的任何域名时,CLB会将请求转发给默认域名(Default Server),每个监听器只能配置且必须配置一个默认域名。
- 如果您的七层监听器已配置默认域名,未匹配其他规则的客户端请求会被转发到默认域名。
- 如果您的七层监听器未配置默认域名,未匹配其他规则的客户端请求则会被转发到 CLB 加载的第一个域名,由于加载顺序与控制台配置顺序可能不一致,因此不一定是控制台配置的第一个。
- 关闭:当客户端请求没有匹配本监听器的任何域名时,请求将无法被转发。

配置监听器的转发规则

  1. 在【监听器管理】中,选中刚才新建的监听器 IPv6test,单击【+】,弹出【创建HTTP/HTTPS转发规则】对话框。

  2. 在弹出的转发规则对话框中,设置域名、URL 路径和均衡方式等基本配置信息,单击【下一步:健康检查】。

  • 域名:您的后端服务所使用的域名,本例使用 www.qcloudtest.com。域名支通配符,详情请参见 配置说明

  • URL 路径:您的后端服务的访问路径,本例使用 /image/

  • 均衡方式选择【按权重轮询】。

  1. 配置健康检查:开启健康检查,检查域名使用默认的转发域名和转发路径,单击【下一步:会话保持】。

  1. 会话保持:开启会话保持并配置保持时间,单击【提交】。

有关负载均衡监听器的更多内容,请参见 负载均衡监听器概述

说明:

  • 一个监听器(即监听协议:端口)可以配置多个域名,一个域名下可以配置多条 URL 路径,选中监听器或域名,单击【+】即可创建新的规则。
  • 会话保持:如果用户关闭会话保持功能,选择轮询的方式进行调度,则请求依次分配到不同后端服务器上;如果用户开启会话保持功能,或关闭会话保持功能但选择 ip_hash 的调度方式,则请求持续分配到同一台后端服务器上去。

绑定云服务器

  1. 在【监听器管理】界面,选中并展开刚才创建的监听器,选中域名、选中 URL 路径,右侧区域框为URL路径已绑定的云服务器 IPv6 信息列表,新增绑定请单击【绑定】。

  2. 在弹出的绑定RS对话框中,勾选需要绑定的弹性网卡,并设置云服务器的 Nginx 服务默认端口为80,设置权重(默认值10),单击【确定】。

    说明:

    CLB绑定的ENI时,ENI必须绑定在CVM上;没有绑定CVM的ENI不能被CLB绑定。

  1. 成功绑定云服务器后:

  • 如果端口状态为【异常】,请确定监听器是否绑定了正确的云服务器的 Nginx 服务端口,同时登录云服务器检查端口已经正常监听 IPv6,可参见 步骤1中的第3步 进行查看。

步骤4:测试 IPv6 负载均衡

配置完成 IPv6 负载均衡后,可以验证该架构是否生效,即验证通过一个 CLB 实例下不同的域名 + URL 访问不同的后端云服务器,也即验证内容路由(content-based routing) 的功能是否可用。

使用具有 IPv6 公网能力的客户端,访问域名或者负载均衡的 IPv6 地址,如果能够正常访问云服务器的 Web 服务,则表明 IPv6 负载均衡工作正常,示例步骤如下:

  1. 在 Windows 系统中,进入 C:\Windows\System32\drivers\etc 目录,修改 hosts 文件,将域名映射到 CLB 实例的 VIP 上。

  1. 为了验证 hosts 是否配置成功,可以运行 cmd,用 ping 命令探测一下该域名是否成功绑定了 VIP,如有数据包,则证明绑定成功。

  1. 在浏览器中输入访问路径 http://www.example.com/image/,测试负载均衡服务。如下图所示,则表示本次请求被 CLB 转发到了 rs-1 这台 CVM 上,CVM 正常处理请求并返回。

  1. 此监听器的轮询算法是“按权重轮询”,且两台 CVM 的权重都是“10”,刷新浏览器,再次发送请求,可以看到本次请求被 CLB 转发到了 rs-2 这台 CVM 上。

!image// 必须保留,代表 image 是默认的目录,而不是名为 image 的文件。