网络型负载均衡NLB(Network Load Balancer)支持跨地域挂载功能。本文指导您通过NLB和云企业网CEN(Cloud Enterprise Network)转发路由器的配置,使NLB将请求分发至其他地域的服务器。
场景示例
某企业在阿里云西南1(成都)地域创建了专有网络VPC1,在VPC1中创建了一个NLB实例,并在VPC1内创建了云服务器ECS1作为客户端测试验证跨地域负载均衡访问。同时在华东2(上海)创建了专有网络VPC2并在VPC2中创建了云服务器ECS2实例,在华北1(青岛)创建了专有网络VPC3并在VPC3中创建了云服务器ECS3实例,ECS2与ECS3中部署了相同的服务。
该企业希望VPC1中的NLB实例能够挂载VPC2和VPC3内的ECS实例,实现跨地域高可用,此时可以参考如下方案实现NLB跨地域挂载后端服务器的目的。
使用限制
后端服务器限制
跨地域挂载的后端服务器仅支持IP类型。
只支持挂载私网IP地址,不支持挂载公网IP地址。
转发路由器与专有网络限制
企业版转发路由器会在您指定的可用区的交换机实例上创建弹性网卡ENI(Elastic Network Interface),作为VPC实例向企业版转发路由器发送流量的入口。在您创建VPC实例时,请确保在企业版转发路由器支持的可用区中创建至少一个交换机实例,以便将VPC实例连接至企业版转发路由器。更多信息,请参见企业版转发路由器支持的地域和可用区。
前提条件
开始配置前,请确保您已参照如下资源规划参考表进行了相关资源的创建。
您可参考如下文档手动进行相关资源创建。
自定义购买ECS实例。注意ECS2与ECS3所属安全组需要开放应用服务端口(例如本文示例端口统一为80)。
您已注册域名并完成备案,且通过自有域名为NLB配置CNAME解析。
步骤一:TR连接VPC实例
登录云企业网CEN控制台,单击所创建的CEN实例ID,并进入基本信息>转发路由器页面。
在TR1实例操作列单击创建网络实例连接,将VPC1连接至TR1。在连接网络实例页面,关键配置信息可参考下表,其余配置项保持默认值即可。完成后单击确定创建。
参数
说明
配置值示例
实例类型
加载到云企业网中的网络实例类型
专有网络(VPC)
地域
实例类型所属地域。本文为VPC1所属地域
西南1(成都)
资源归属UID
网络实例所属的主账号ID
同账号
网络实例/交换机
可以加入云企业网的专有网络
VPC1及对应交换机
参照上述步骤,完成TR2与VPC2、TR3与VPC3的连接。
步骤二:配置跨地域连接
登录云企业网CEN控制台,单击实例ID,并进入基本信息>转发路由器页面。
单击TR1实例右侧创建网络实例连接,创建TR1与TR2的跨地域连接。关键配置信息可参考下表,其余配置项保持默认值即可。完成后单击确定创建。
参数
说明
配置值示例
实例类型
加载到云企业网中的网络实例类型
跨地域连接
地域
实例类型所属地域。本文为TR1所属地域
西南1(成都)
对端地域
需要连接的另一个转发路由器所属地域。只能选择已有转发路由器的地域
华东2(上海)
带宽分配方式
针对CEN跨域流量,您可使用云数据传输CDT降低流量成本,如您未开通建议您快速入门,仅开通CDT不收取任何费用。您也可以根据实际业务情况选择带宽包
按流量付费
参照上述步骤,创建TR1与TR3的跨地域连接。
步骤三:配置NLB服务器组
登录西南1(成都)地域网络型负载均衡NLB服务器组控制台,单击创建服务器组。
配置服务器组信息。关键配置信息可参考下表,其余配置项保持默认值即可。完成后单击创建。
参数
说明
配置值示例
服务器组类型
服务器组挂载的后端服务器类型
IP类型
服务器组名称
-
test
VPC
服务器组所属VPC
VPC1
选择资源组
服务器组所属资源组
默认资源组default resource group
单击服务器组实例右侧操作列的编辑后端服务器,然后单击添加IP。
添加IP资源。此处IP地址填写ECS2与ECS3的IP地址。完成后单击下一步。
配置端口为ECS2与ECS3中部署的应用服务端口(例如本文示例端口为80),其余配置项保持默认值即可。完成后单击确定。
步骤四:配置NLB实例监听
登录西南1(成都)地域网络型负载均衡NLB实例控制台,在目标实例操作列单击创建监听。
选择负载均衡协议为TCP,并配置监听端口(例如本文示例端口为80)。单击下一步。
选择服务器组为之前所配置的IP类型服务器组。单击下一步。
确认配置信息无误后,单击提交。
步骤五:验证结果
在ECS2与ECS3中部署测试应用:
登录华东2(上海)地域云服务器ECS实例控制台,单击实例右侧远程连接,通过Workbench远程登录ECS实例。
执行如下命令,在ECS2上部署测试应用。
登录华北1(青岛)地域云服务器ECS实例控制台,单击实例右侧远程连接,通过Workbench远程登录ECS实例。
执行如下命令,在ECS3上部署测试应用。
在ECS1中测试可用性:
登录西南1(成都)地域云服务器ECS实例控制台,单击实例右侧远程连接,通过Workbench远程登录ECS实例。
执行
sudo yum install -y telnet
安装telnet。执行
telnet 域名 端口
命令,收到下图回复报文Connected to nlb-...,则表示NLB可以将请求转发至后端服务器。
模拟故障:
在ECS2中执行
systemctl stop nginx.service
停用应用。等待几分钟后,在ECS1中再次执行
telnet 域名 端口
命令,仍然收到下图回复报文Connected to nlb-...在ECS2中执行
systemctl start nginx.service
重新启动应用,在ECS3中执行systemctl stop nginx.service
停用应用。等待几分钟后,在ECS1中再次执行
telnet 域名 端口
命令,仍然收到下图回复报文Connected to nlb-...如上表明后端单台服务器故障不影响NLB可用性。
释放资源
清理云企业网CEN、转发路由器TR等资源:
登录云企业网CEN控制台,单击云企业网cen-test实例ID,进入CEN实例详情页面。
删除TR1实例:
在基本信息>转发路由器页签,单击TR1实例ID,进入TR实例详情页面。
在地域内连接管理页签,依次单击实例右侧卸载并确认,将地域内所有连接的网络实例卸载。
在跨地域连接管理页签,单击实例右侧删除并确认,将跨地域连接的网络实例删除。
返回CEN实例详情页面。单击实例右侧删除并确认,删除TR1实例。
参照上述步骤,删除TR2与TR3实例。
返回CEN实例页面,单击实例右侧删除,删除CEN实例。
清理ECS、安全组等资源:
删除ECS1实例及其安全组:
登录西南1(成都)地域云服务器ECS实例控制台,单击ECS1实例右侧的,弹出的窗口中选择释放,立即释放实例并确认。
登录西南1(成都)地域云服务器ECS安全组控制台,勾选ECS1自定义安全组并单击删除,删除安全组。
参照上述步骤,删除ECS2与ECS3实例及对应安全组资源。
删除域名解析记录;
删除域名解析记录,请参见删除域名解析记录。
清理NLB资源:
登录西南1(成都)地域网络型负载均衡NLB实例控制台,单击实例右侧的,弹出的窗口中选择释放并确认。
登录西南1(成都)地域网络型负载均衡NLB服务器组控制台,单击实例右侧的,弹出的窗口中选择删除并确认。
清理VPC资源:
登录西南1(成都)地域专有网络VPC控制台,单击实例右侧删除,删除时并且勾选强制删除,完成VPC与交换机资源的删除。
登录华东2(上海)地域专有网络VPC控制台,单击实例右侧删除,删除时并且勾选强制删除,完成VPC与交换机资源的删除。
登录华北1(青岛)地域专有网络VPC控制台,单击实例右侧删除,删除时并且勾选强制删除,完成VPC与交换机资源的删除。