全部产品
Search
文档中心

负载均衡:使用NLB挂载跨地域VPC内的服务器

更新时间:Dec 24, 2024

网络型负载均衡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跨地域挂载后端服务器的目的。

image

使用限制

后端服务器限制

  • 跨地域挂载的后端服务器仅支持IP类型。

  • 只支持挂载私网IP地址,不支持挂载公网IP地址。

转发路由器与专有网络限制

企业版转发路由器会在您指定的可用区的交换机实例上创建弹性网卡ENI(Elastic Network Interface),作为VPC实例向企业版转发路由器发送流量的入口。在您创建VPC实例时,请确保在企业版转发路由器支持的可用区中创建至少一个交换机实例,以便将VPC实例连接至企业版转发路由器。更多信息,请参见企业版转发路由器支持的地域和可用区

前提条件

  • 开始配置前,请确保您已参照如下资源规划参考表进行了相关资源的创建。

    资源规划参考表

    规划项

    说明

    方案默认示例

    网络型负载均衡NLB

    地域

    实例所属地域

    西南1(成都)

    实例网络类型

    NLB支持私网与公网类型。私网类型实例面向VPC内部提供负载均衡服务,公网不可访问。公网类型实例使用弹性公网IP,将收取弹性公网IP实例费与带宽、流量费用

    私网

    VPC

    实例所属网络

    VPC1-test

    可用区

    网络型负载均衡支持多可用区部署,若当前地域支持2个及以上可用区,为保障业务高可用,请至少选择2个或以上可用区

    • 成都 可用区A

    • 成都 可用区B

    实例名称

    实例名称

    nlb-test

    云企业网CEN

    实例名称

    CEN实例名称

    cen_test

    转发路由器TR1

    地域

    1个CEN下,1个地域只能创建1个TR

    西南1(成都)

    转发路由器TR2

    地域

    1个CEN下,1个地域只能创建1个TR

    华东2(上海)

    转发路由器TR3

    地域

    1个CEN下,1个地域只能创建1个TR

    华北1(青岛)

    专有网络VPC1

    地域

    实例所属地域

    西南1(成都)

    名称

    实例名称

    VPC1-test

    IPv4网段

    CIDR格式的私网网段

    172.16.0.0/16

    交换机1

    为实现多可用区容灾,配置时需要至少选择两个可用区的交换机。交换机1在ECS创建时需要使用

    • 名称:VPC1交换机1

    • 可用区:成都 可用区A

    • IPv4网段:172.16.20.0/24

    交换机2

    为实现多可用区容灾,配置时需要至少选择两个可用区的交换机

    • 名称:VPC1交换机2

    • 可用区:成都 可用区B

    • IPv4网段:172.16.21.0/24

    专有网络VPC2

    地域

    实例所属地域

    华东2(上海)

    名称

    实例名称

    VPC2-test

    IPv4网段

    CIDR格式的私网网段

    10.0.0.0/16

    交换机1

    为实现多可用区容灾,配置时需要至少选择两个可用区的交换机。交换机1在ECS创建时需要使用

    • 名称:VPC2交换机1

    • 可用区:上海 可用区E

    • IPv4网段:10.0.20.0/24

    交换机2

    为实现多可用区容灾,配置时需要至少选择两个可用区的交换机

    • 名称:VPC2交换机2

    • 可用区:上海 可用区F

    • IPv4网段:10.0.21.0/24

    专有网络VPC3

    地域

    实例所属地域

    华北1(青岛)

    名称

    实例名称

    VPC3-test

    IPv4网段

    CIDR格式的私网网段

    192.168.0.0/16

    交换机1

    为实现多可用区容灾,配置时需要至少选择两个可用区的交换机。交换机1在ECS创建时需要使用

    • 名称:VPC3交换机1

    • 可用区:青岛 可用区B

    • IPv4网段:192.168.20.0/24

    交换机2

    为实现多可用区容灾,配置时需要至少选择两个可用区的交换机

    • 名称:VPC3交换机2

    • 可用区:青岛 可用区C

    • IPv4网段:192.168.21.0/24

    云服务器ECS1

    付费类型

    方案测试使用时建议使用按量付费

    按量付费

    地域

    实例所属地域

    西南1(成都)

    网络及可用区

    ECS 实例所属网络及可用区

    • 网络类型:专有网络

    • VPC:VPC1-test

    • 交换机:VPC1交换机1

    • 勾选“指定主网卡主私网IP地址”并配置为172.16.20.100

    实例规格

    本方案中使用的 ECS 实例规格

    ecs.t5-lc2m1.nano

    镜像

    ECS 实例操作系统版本

    CentOS 7.9 64位

    安全组

    安全组是一种虚拟防火墙,用于设置 ECS 实例的网络访问控制,1台 ECS 实例至少属于1个安全组

    • 新建安全组

    • 安全组名称:ECS1自定义安全组

    登录账号及密码

    ECS实例登录方式及账号密码

    • 登录凭证:自定义密码

    • 登录名:root

    • 登录密码/确认密码:用户自行填写,需要符合密码安全性规则

    云服务器ECS2

    付费类型

    方案测试使用时建议使用按量付费

    按量付费

    地域

    实例所属地域

    华东2(上海)

    网络及可用区

    ECS 实例所属网络及可用区

    • 网络类型:专有网络

    • VPC:VPC2-test

    • 交换机:VPC2交换机1

    • 勾选“指定主网卡主私网IP地址”并配置为10.0.20.100

    实例

    本方案中使用的 ECS 实例规格

    ecs.t5-lc2m1.nano

    镜像

    ECS 实例操作系统版本

    CentOS 7.9 64位

    安全组

    安全组是一种虚拟防火墙,用于设置 ECS 实例的网络访问控制,1台 ECS 实例至少属于1个安全组

    • 新建安全组

    • 安全组名称:ECS2自定义安全组

    登录账号及密码

    ECS实例登录方式及账号密码

    • 登录凭证:自定义密码

    • 登录名:root

    • 登录密码/确认密码:用户自行填写,需要符合密码安全性规则

    云服务器ECS3

    付费类型

    方案测试使用时建议使用按量付费

    按量付费

    地域

    实例所属地域

    华北1(青岛)

    网络及可用区

    ECS 实例所属网络及可用区

    • 网络类型:专有网络

    • VPC:VPC3-test

    • 交换机:VPC3交换机1

    • 勾选“指定主网卡主私网IP地址”并配置为192.168.20.100

    实例

    本方案中使用的 ECS 实例规格

    ecs.t5-lc2m1.nano

    镜像

    ECS 实例操作系统版本

    CentOS 7.9 64位

    安全组

    安全组是一种虚拟防火墙,用于设置 ECS 实例的网络访问控制,1台 ECS 实例至少属于1个安全组

    • 新建安全组

    • 安全组名称:ECS3自定义安全组

    登录账号及密码

    ECS实例登录方式及账号密码

    • 登录凭证:自定义密码

    • 登录名:root

    • 登录密码/确认密码:用户自行填写,需要符合密码安全性规则

  • 您可参考如下文档手动进行相关资源创建。

步骤一:TR连接VPC实例

  1. 登录云企业网CEN控制台,单击所创建的CEN实例ID,并进入基本信息>转发路由器页面。

  2. 在TR1实例操作列单击创建网络实例连接,将VPC1连接至TR1。在连接网络实例页面,关键配置信息可参考下表,其余配置项保持默认值即可。完成后单击确定创建

    参数

    说明

    配置值示例

    实例类型

    加载到云企业网中的网络实例类型

    专有网络(VPC)

    地域

    实例类型所属地域。本文为VPC1所属地域

    西南1(成都)

    资源归属UID

    网络实例所属的主账号ID

    同账号

    网络实例/交换机

    可以加入云企业网的专有网络

    VPC1及对应交换机

  3. 参照上述步骤,完成TR2与VPC2、TR3与VPC3的连接。

步骤二:配置跨地域连接

  1. 登录云企业网CEN控制台,单击实例ID,并进入基本信息>转发路由器页面。

  2. 单击TR1实例右侧创建网络实例连接,创建TR1与TR2的跨地域连接。关键配置信息可参考下表,其余配置项保持默认值即可。完成后单击确定创建

    参数

    说明

    配置值示例

    实例类型

    加载到云企业网中的网络实例类型

    跨地域连接

    地域

    实例类型所属地域。本文为TR1所属地域

    西南1(成都)

    对端地域

    需要连接的另一个转发路由器所属地域。只能选择已有转发路由器的地域

    华东2(上海)

    带宽分配方式

    针对CEN跨域流量,您可使用云数据传输CDT降低流量成本,如您未开通建议您快速入门,仅开通CDT不收取任何费用。您也可以根据实际业务情况选择带宽包

    按流量付费

  3. 参照上述步骤,创建TR1与TR3的跨地域连接。

步骤三:配置NLB服务器组

  1. 登录西南1(成都)地域网络型负载均衡NLB服务器组控制台,单击创建服务器组

  2. 配置服务器组信息。关键配置信息可参考下表,其余配置项保持默认值即可。完成后单击创建

    参数

    说明

    配置值示例

    服务器组类型

    服务器组挂载的后端服务器类型

    IP类型

    服务器组名称

    -

    test

    VPC

    服务器组所属VPC

    VPC1

    选择资源组

    服务器组所属资源组

    默认资源组default resource group

  3. 单击服务器组实例右侧操作列的编辑后端服务器,然后单击添加IP

  4. 添加IP资源。此处IP地址填写ECS2与ECS3的IP地址。完成后单击下一步

  5. 配置端口为ECS2与ECS3中部署的应用服务端口(例如本文示例端口为80),其余配置项保持默认值即可。完成后单击确定

步骤四:配置NLB实例监听

  1. 登录西南1(成都)地域网络型负载均衡NLB实例控制台,在目标实例操作列单击创建监听

  2. 选择负载均衡协议为TCP,并配置监听端口(例如本文示例端口为80)。单击下一步

  3. 选择服务器组为之前所配置的IP类型服务器组。单击下一步

  4. 确认配置信息无误后,单击提交

步骤五:验证结果

  1. 在ECS2与ECS3中部署测试应用:

    1. 登录华东2(上海)地域云服务器ECS实例控制台,单击实例右侧远程连接,通过Workbench远程登录ECS实例。

    2. 执行如下命令,在ECS2上部署测试应用。

      ECS2服务部署命令

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS02." > index.html
      
    3. 登录华北1(青岛)地域云服务器ECS实例控制台,单击实例右侧远程连接,通过Workbench远程登录ECS实例。

    4. 执行如下命令,在ECS3上部署测试应用。

      ECS3服务部署命令

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS03." > index.html
      
  2. 在ECS1中测试可用性:

    1. 登录西南1(成都)地域云服务器ECS实例控制台,单击实例右侧远程连接,通过Workbench远程登录ECS实例。

    2. 执行sudo yum install -y telnet安装telnet。

    3. 执行telnet 域名 端口命令,收到下图回复报文Connected to nlb-...,则表示NLB可以将请求转发至后端服务器。p715485.png

  3. 模拟故障:

    1. 在ECS2中执行systemctl stop nginx.service停用应用。

    2. 等待几分钟后,在ECS1中再次执行telnet 域名 端口命令,仍然收到下图回复报文Connected to nlb-...p715485.png

    3. 在ECS2中执行systemctl start nginx.service重新启动应用,在ECS3中执行systemctl stop nginx.service停用应用。

    4. 等待几分钟后,在ECS1中再次执行telnet 域名 端口命令,仍然收到下图回复报文Connected to nlb-...p715485.png

    5. 如上表明后端单台服务器故障不影响NLB可用性。

释放资源

  1. 清理云企业网CEN、转发路由器TR等资源:

    1. 登录云企业网CEN控制台,单击云企业网cen-test实例ID,进入CEN实例详情页面。

    2. 删除TR1实例:

      1. 基本信息>转发路由器页签,单击TR1实例ID,进入TR实例详情页面。

      2. 地域内连接管理页签,依次单击实例右侧卸载并确认,将地域内所有连接的网络实例卸载。

      3. 跨地域连接管理页签,单击实例右侧删除并确认,将跨地域连接的网络实例删除。

      4. 返回CEN实例详情页面。单击实例右侧删除并确认,删除TR1实例。

    3. 参照上述步骤,删除TR2与TR3实例。

    4. 返回CEN实例页面,单击实例右侧删除,删除CEN实例。

  2. 清理ECS、安全组等资源:

    1. 删除ECS1实例及其安全组:

      1. 登录西南1(成都)地域云服务器ECS实例控制台,单击ECS1实例右侧的image.png,弹出的窗口中选择释放,立即释放实例并确认。

      2. 登录西南1(成都)地域云服务器ECS安全组控制台,勾选ECS1自定义安全组并单击删除,删除安全组。

    2. 参照上述步骤,删除ECS2与ECS3实例及对应安全组资源。

  3. 删除域名解析记录;

    删除域名解析记录,请参见删除域名解析记录

  4. 清理NLB资源:

    1. 登录西南1(成都)地域网络型负载均衡NLB实例控制台,单击实例右侧的image.png,弹出的窗口中选择释放并确认。

    2. 登录西南1(成都)地域网络型负载均衡NLB服务器组控制台,单击实例右侧的image.png,弹出的窗口中选择删除并确认。

  5. 清理VPC资源:

    1. 登录西南1(成都)地域专有网络VPC控制台,单击实例右侧删除,删除时并且勾选强制删除,完成VPC与交换机资源的删除。

    2. 登录华东2(上海)地域专有网络VPC控制台,单击实例右侧删除,删除时并且勾选强制删除,完成VPC与交换机资源的删除。

    3. 登录华北1(青岛)地域专有网络VPC控制台,单击实例右侧删除,删除时并且勾选强制删除,完成VPC与交换机资源的删除。

相关文档