网络型负载均衡NLB(Network Load Balancer)支持转发IPv6网络请求,本文指导您如何为双栈NLB实例开启IPv6挂载,即NLB实例同时支持挂载IPv4和IPv6的云服务器ECS(Elastic Compute Service),使IPv6网络的客户端请求通过NLB可以访问部署在后端的IPv4和IPv6服务。
场景示例
本文以下图场景为例。某公司希望NLB可以转发来自IPv6客户端的请求,以实现IPv6客户端正常访问VPC中的IPv4和IPv6服务。该公司需要创建具有IPv4和IPv6地址的ECS,同时需要在VPC中创建双栈NLB实例并创建具有IPv6挂载功能的服务器组。完成上述配置后,IPv6客户端的请求即可通过NLB访问部署在后端ECS上的IPv4和IPv6服务。
使用限制
NLB双栈支持的地域,请参见NLB双栈支持的地域。
使用双栈功能,需要开通VPC可用区中交换机的IPv6功能。
双栈NLB实例支持将IPv6的客户端流量转发至IPv4、IPv6的后端服务。
不支持已有的IPv4实例升级为双栈实例,仅支持新建双栈实例。
IPv4类型的NLB实例在创建监听时,无法添加开启了IPv6挂载功能的服务器组。
前提条件
开始配置前,请确保您已参照如下资源规划参考表进行了相关资源的创建。
您可参考以下文档手动进行相关资源创建。
- 说明
ECS02作为IPv6服务端,创建时需要配置免费分配 IPv6 地址。
ECS01与ECS02中需要部署应用服务,可参考如下部署命令。
步骤一:创建实例
- 登录网络型负载均衡NLB控制台。
在顶部菜单栏,选择NLB实例所属的地域。
在实例页面,单击创建网络型负载均衡。
在网络型负载均衡(按量付费)购买页面,完成以下配置。
单击立即购买,然后根据控制台提示完成实例购买。
返回实例页面,选择对应的地域即可看到新创建的实例。
步骤二:创建后端服务器组
- 登录网络型负载均衡NLB控制台。
在顶部菜单栏,选择NLB实例所属的地域。
在服务器组页面,单击创建服务器组。
配置服务器组信息。关键配置信息可参考下表,其余配置项保持默认值即可。完成后单击创建。
参数
说明
服务器组类型
服务器组挂载的后端服务器类型。本文选择服务器类型。
服务器组名称
自定义填写服务器组名称。
VPC
服务器组所属VPC。
选择资源组
服务器组所属资源组。
开启IPv6挂载
开启后后端服务器才可以挂载IPv6服务。本文选择开启。
单击服务器组实例右侧操作列的编辑后端服务器,然后单击添加后端服务器。
选择服务器。选中ECS01与ECS02,注意将ECS02的IPv4地址替换为IPv6地址。完成后单击下一步。
配置端口为ECS01与ECS02中部署的应用服务端口(例如本文示例端口为80),其余配置项保持默认值即可。完成后单击确定。
步骤三:配置监听
- 登录网络型负载均衡NLB控制台。
在顶部菜单栏,选择NLB实例所属的地域。
在实例页面,单击实例右侧的创建监听。
选择负载均衡协议为TCP,并配置监听端口(例如本文示例端口为80)。单击下一步。
选择目标服务器组。单击下一步。
确认配置信息无误后,单击提交。
(可选)步骤四:设置域名解析
实际业务场景中,建议您使用您的自有域名,通过CNAME解析的方式将自有域名指向NLB实例域名。
在左侧导航栏,选择 。
在实例页面,复制已创建的NLB实例的DNS名称。
执行以下步骤添加CNAME解析记录。
登录域名解析控制台。
在域名解析页面单击添加域名。
在添加域名对话框中输入您的主机域名,然后单击确认。
重要您的主机域名需已完成TXT记录验证。
在目标域名的操作列单击解析设置。
在解析设置页面,单击添加记录。
在添加记录面板,配置以下信息完成CNAME解析配置,然后单击确认。
配置
说明
记录类型
在下拉列表中选择CNAME。
主机记录
您的域名的前缀。本文输入@。
解析请求来源
选择默认。
记录值
输入域名对应的CNAME地址,即您复制的NLB实例的DNS名称。
TTL
全称Time To Live,表示DNS记录在DNS服务器上的缓存时间,本文使用默认值。
步骤五:验证结果
获取测试访问域名:
如果您设置了域名解析,使用了自有域名进行CNAME解析到NLB域名,则测试访问域名为您的自有域名。
如果您未使用自有域名,可登录网络型负载均衡NLB控制台,顶部选择实例所属地域,在目标NLB实例DNS名称列复制NLB实例的域名,作为测试访问域名。
测试NLB可用性:
以任意一台可以访问IPv6服务的Linux客户端为例。如果未安装telnet,以CentOS系统为例可以参考执行
yum install -y telnet
安装telnet。多次执行
telnet 域名 端口
命令,收到下图回复报文Connected to nlb-...,则表示NLB可以将请求转发至后端服务器。Trying *.*.*.*... Connected to nlb-*********.******.nlb.aliyuncs.com. Escape character is '^]'
模拟故障:
在ECS01中执行
systemctl stop nginx.service
停用应用。等待几分钟后,客户端再次执行
telnet 域名 端口
命令,仍然收到下图回复报文Connected to nlb-...Trying *.*.*.*... Connected to nlb-*********.******.nlb.aliyuncs.com. Escape character is '^]'
在ECS01中执行
systemctl start nginx.service
重新启动应用,在ECS02中执行systemctl stop nginx.service
停用应用。等待几分钟后,在客户端中再次执行
telnet 域名 端口
命令,仍然收到下图回复报文Connected to nlb-...Trying *.*.*.*... Connected to nlb-*********.******.nlb.aliyuncs.com. Escape character is '^]'
如上表明后端单台服务器故障不影响NLB可用性。
释放资源
清理ECS、安全组等资源:
删除ECS01实例及其安全组:
登录云服务器ECS实例控制台,顶部选择实例所属地域,单击ECS01实例右侧的,弹出的窗口中选择释放,立即释放实例并确认。
登录云服务器ECS安全组控制台,顶部选择实例所属地域,勾选ECS01自定义安全组并单击删除,删除安全组。
参照上述步骤,删除ECS02实例及对应安全组资源。
清理NLB资源:
登录网络型负载均衡NLB控制台,顶部选择实例所属地域,单击实例右侧的,弹出的窗口中选择释放并确认。
登录网络型负载均衡NLB控制台,顶部选择实例所属地域,在服务器组菜单单击服务器组右侧的,弹出的窗口中选择删除并确认。
清理VPC资源:
登录专有网络VPC控制台,顶部选择实例所属地域。
单击实例右侧删除,删除时并且勾选强制删除,完成VPC与交换机资源的删除。
相关文档
- 本页导读 (1)