腾讯云IPv6私有网络及负载均衡最佳实践指南

  • 2019 年 12 月 17 日
  • 筆記

腾讯云目前已经推出IPv6负载均衡和IPv6 NAT64负载均衡。其中IPv6 NAT64绑定的是云服务器的IPv4地址,可以帮助用户在不升级Web应用即平滑接入IPv6用户;而IPv6负载均衡绑定的是云服务器的IPv6地址,可以助力云上应用实现端到端的IPv6通信。本文指导你如何在腾讯云快速搭建一个IPv6云服务器和IPv6负载均衡器,并结合云解析的AAAA能力对公网IPv6用户提供Web服务。

操作须知:

1、目前腾讯云IPv6私有网络和IPv6负载均衡已上线地域为:北京、上海、广州、上海金融云、深圳金融云

2、请在上述地域创建一个私有网络,并在该VPC下购买了2台云服务器。

3、在腾讯云云解析注册一个域名:www.qcloudipv6test.com.cn

4、对于同一个云服务器,可以同时运行IPv4/IPv6,并分别绑定到IPv4 LB和IPv6 LB, 两者创建流程类似,IPv4 LB流程不再此文赘述。

操作步骤:

步骤一:配置IPv6私有网络

1、 登录 私有网络控制台,在左侧目录下选择【私有网络】,在目标服务器所在的私有网络单击【编辑 CIDR】,在弹框中的 IPv6 CIDR 单击【获取】并确认操作。

2、登录 私有网络控制台,左侧目录下选择【子网】,进入管理页面。在目标云服务器所属子网所在行的操作栏下,单击【获取 IPv6 CIDR】并确认操作

3、登录 私有网络控制台,在左侧目录下选择【IP 与网卡】>【弹性网卡】,在列表页中单击目标云服务器所绑定的弹性网卡 ID,进入详情页。选择【IPv6地址管理】,单击【分配IP】并确认操作。

说明:

(1) IPv6默认不开通公网,如果需要IPv6主动外访功能,可以通过“弹性公网IPv6”开通公网带宽。

(2) 安全组默认仅放通IPv6 CLB的流量,其他IPv6流量默认不放通。如果需要放通其他IPv6流量,请通过“安全组”设置。

(3) 云服务器已经支持购买页勾选分配IPv6、实例查看和管理IPv6. 云服务器实例展示的IPv6地址应该和网卡展示的IPv6地址一致。

步骤二:配置云服务器的IPv6并部署Nginx

1. 进入 云服务器控制台,登录云服务器完成 IPv6 的基础配置。

centos7.5为例,登陆云主机执行“dhclient -6”获取ipv6地址,并使用“ifconfig”查看IPv6地址。

dhclient -6  ifconfig

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

yum install nginx  service nginx restart

3. 查看部署在云服务器上的 Nginx 服务是否已经监听 IPv6。

netstat -tupln

也可以打开 Nginx 配置文件进行查看和修改端口。

vim /etc/nginx/nginx.conf

说明:

腾讯云云服务器也支持通过脚本工具一键配置IPv6,详情操作方法可以参考云服务器配置IPv6

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

1. 登录腾讯云官网,进入 负载均衡购买页

2. 请正确选择如下参数:

l 计费模式:仅支持按量计费。

l 地域:北京、上海、广州、上海金融、深圳金融。

l IP 版本:IPv6。

l 运营商类型:BGP。

l 网络:请务必选择已获取 IPv6 CIDR 的私有网络和子网。

3. 在购买页选择各项配置后,单击【立即购买】。

4. 在“CLB 实例列表”页,选择对应的地域即可看到新建的实例。

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

创建监听器

1. 登录 负载均衡控制台

2. 在“CLB 实例列表”中,找到已创建的负载均衡实例 ,单击实例 ID,进入负载均衡详情页。

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

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

5. 在弹出框中,配置监听器名称和监听协议端口,并点击提交,创建监听器。

配置监听器的转发规则

在“监听器管理”中,创建转发规则,配置域名、URL 路径、均衡方式、健康检查、会话保持等参数。

l 域名:您的后端服务所使用的域名,本例使用 www.qcloudipv6test.com。域名支持通配符,详情请参见 七层转发域名和 URL 规则说明

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

l 均衡方式:加权轮询

l 会话保持:开启会话保持

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

绑定云服务器

1. 在“监听器管理”页面,选中并展开刚才创建的监听器,选中域名、选中 URL 路径,在右侧即可看到该 URL 路径绑定的云服务器 IPv6 信息,单击【绑定】。

2. 在弹框中,选择云服务器,并设置云服务器的 Nginx 服务默认端口为80,设置权重(默认值10),单击【确定】。

3. 成功绑定云服务器后,查看端口状态是否为“健康”。

步骤五:在云解析增加AAAA和A记录

1. 打开 腾讯云域名注册页面 进行域名查询和注册。本例以qcloudipv6test.com 为例,详情请参考 域名注册

2. 登录 云解析控制台,单击您所购买的【域名】,在“记录管理”页面单击【添加记录】按钮,为域名添加 AAAA 记录,输入如下内容并保存:

l 主机记录:即域名前缀,本例设为www。

l 记录类型:AAAA记录。

l 线路类型:默认。

l 记录值:填写负载均衡的 IPv6 地址。

l TTL:设置为默认值“600s”

步骤六:测试 IPv6 负载均衡

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

常见问题FAQ:

(1) IPv6负载均衡和IPv4负载均衡能否绑定相同的云服务器?

IPv6负载均衡和IPv4负载均衡可以绑定相同的云服务器,前提是云服务器的私有网络已经获取到IPv4 CIDR和IPv6 CIDR,云服务器已经配置好IPv4和IPv6.

(2) 为什么不直接做成双栈负载均衡?

IPv6负载均衡和IPv4负载均衡相互独立可以减小相互之间的影响,提升运维效率。比如说:当出现健康状态异常时,我们可以快速判断是IPv6异常还是IPv4异常;在绑定云服务器时,我们也可以快速判断云服务器时否已经获取到IPv6地址。

(3) 云解析服务是否支持同一域名下同时增加AAAA和A记录

云解析支持同一域名下同时增加AAAA和A记录,可以将IPv6 LB的vip添加到域名的AAAA记录,把IPv4 LB的vip地址添加域名的A记录。

(4) IPv6/IPv4双栈客户端是IPv6优先还是IPv4优先?

影响IPv6的因素比较多,包括终端硬件型号、终端操作系统,应用APP,比如linux系统镜像默认是不开启IPv6,windows老版本支持IPv6也需要特殊的操作. 重点谈一下移动端应用APP支持IPv6的改造情况,应用APP在IPv6/IPv4双栈时,应该优先选择IPv6通信,当IPv6连接失败的时候,可以迅速切换到IPv4.实际,启动IPv6优先策略之前一个重要工作是要判断当前网络是双栈、IPv6-only还是IPv4-only。

(5) IPv6的公网质量如何?

目前IPv6的公网质量还在不断改善中。从多个省份的抽样探测数据来看,IPv6的平均时延比IPv4会大一些,但是整体质量一直在持续的变好。