全部产品
Search
文档中心

私网连接 PrivateLink:通过PrivateLink跨VPC私网访问NLB

更新时间:Mar 18, 2024

如果您需要将一个VPC内部署的NLB共享给同账号下的另外一个VPC访问,您可以将NLB作为提供方VPC的服务资源,然后通过PrivateLink建立两个VPC之间的网络连接,来实现跨VPC私网访问NLB资源。

背景信息

VPC是您独自拥有的云上私有网络,不同VPC之间完全隔离。您可以通过私网连接建立VPC与阿里云服务之间安全稳定的私有连接,简化网络架构,避免通过公网访问服务带来的潜在安全风险。

通过私网连接实现私网访问,您需要创建终端节点服务和终端节点。

  • 终端节点服务

    终端节点服务可以与其他VPC的终端节点建立私网连接服务,由服务提供方创建和管理。

  • 终端节点

    终端节点可以与终端节点服务相关联,以建立通过VPC私网访问外部服务的网络连接。终端节点由服务使用方创建和管理。

相关主体

相关组件

服务提供方

创建和管理终端节点服务。

服务使用方

创建和管理终端节点。

NLB是阿里云面向万物互联时代推出的新一代四层负载均衡,支持超高性能和自动弹性能力,单实例可以达到1亿并发连接,帮您轻松应对高并发业务。使用NLB作为终端节点服务的服务资源时,可以配置一个为多个可用区提供服务的NLB服务资源,不需要为每个可用区配置单独的NLB服务资源。更多信息,请参见什么是网络型负载均衡NLB

场景示例

本文以下图场景为例。某公司使用阿里云账号A在华东1(杭州)地域创建了VPC1和VPC2,在VPC1中创建了ECS01和ECS02实例,在VPC2中创建了ECS03和ECS04实例并部署了不同的Nginx服务。现因业务发展,VPC1的ECS实例需要通过私网访问VPC2中ECS部署的服务。

您需要在VPC2中创建NLB实例,该实例包含华东1(杭州)地域的可用区G和可用区K,然后创建后端服务器组RS1,将ECS03实例和ECS04实例添加到NLB的后端服务器组。创建终端节点服务,将NLB实例添加为服务资源。在VPC1中创建终端节点,创建成功后,终端节点与终端节点服务建立连接且状态正常时,VPC1的ECS实例即可私网访问VPC2中ECS部署的服务。

场景图

使用限制

  • NLB作为服务资源时,必须是私网类型的NLB实例。

  • 创建终端节点服务时,选择地域需要同时支持私网连接和NLB实例的地域。关于私网连接和NLB实例支持的地域,请参见私网连接支持的地域NLB支持的地域

  • 只有终端节点和终端节点服务是同可用区才可以建立连接,终端节点部署的可用区必须是终端节点服务资源部署的可用区的子集,因此建议终端节点服务资源部署选择该地域下的全部或者尽可能多的可用区,方便被不同终端节点调用服务。

前提条件

  • 您已经在华东1(杭州)地域创建了VPC1和VPC2,并且在VPC1中创建了一个位于可用区G和可用区K的交换机,在VPC2中创建了一个位于可用区G和可用区K的交换机。具体操作,请参见创建专有网络和交换机

  • 您已经在VPC1中创建了位于可用区G的ECS01和位于可用区K的ECS02,用于发送请求。在VPC2中创建了位于可用区G的ECS03和位于可用区K的ECS04,用于接收和处理请求,且ECS03和ECS04部署了不同的Nginx服务。关于如何创建ECS实例和部署Nginx服务,请参见自定义购买实例手动部署LNMP环境(Alibaba Cloud Linux 2/3)

  • 您已经在VPC1创建了安全组。您可以根据自己的实际业务和安全要求配置安全组规则。具体操作,请参见创建安全组

    说明

    VPC2中使用的安全组是在创建ECS03和ECS04时,阿里云为您创建的默认安全组。

本文中的2个VPC网络规划如下表所示,在您规划网络时,选择的VPC1和VPC2的网段可以重叠且互不影响。

属性

VPC1

VPC2

网络实例所属的地域

华东1(杭州)

华东1(杭州)

网络实例的网段规划

  • VPC网段:10.0.0.0/8

  • 交换机1网段:10.0.23.0/24

  • 交换机2网段:10.0.24.0/24

  • VPC网段:192.168.0.0/16

  • 交换机3网段:192.168.2.0/24

  • 交换机4网段:192.168.4.0/24

网络实例交换机的可用区

  • 交换机1位于可用区G

  • 交换机2位于可用区K

  • 交换机3位于可用区G

  • 交换机4位于可用区K

服务器IP地址

  • 可用区G下的ECS01 IP:10.0.23.68

  • 可用区K下的ECS02 IP:10.0.24.227

  • 可用区G下的ECS03 IP:192.168.2.190

  • 可用区K下的ECS04 IP:192.168.4.20

配置流程

流程图

步骤一:创建私网类型的NLB实例

  1. 登录网络型负载均衡NLB控制台

  2. 在顶部菜单栏,选择NLB实例所属的地域。

  3. 实例页面,单击创建网络型负载均衡

  4. 网络型负载均衡(按量付费)国际站购买页面,根据以下信息配置NLB实例,然后单击立即购买

    配置

    说明

    地域

    选择实例所属的地域。本文选择华东1(杭州)

    实例网络类型

    选择实例的网络类型。本文只支持选择私网

    协议版本

    选择实例的协议版本。本文选择IPv4

    • IPv4:表示NLB实例仅支持客户端使用IPv4地址访问。

    • 双栈:表示NLB实例支持客户端同时使用IPv4和IPv6地址访问。

    VPC

    选择实例所属的VPC。本文选择VPC2。

    可用区

    实例所在的可用区,需要选择至少2个可用区。本文选择杭州 可用区G以及可用区G下的交换机、杭州 可用区K以及可用区K下的交换机。

    实例名称

    自定义实例名称。

    资源组

    选择NLB所属的资源组。本文选择默认资源组

    服务关联角色

    首次创建NLB实例时,需要单击创建服务关联角色关联服务角色。

步骤二:创建NLB的后端服务器组

  1. 在左侧导航栏,选择网络型负载均衡 NLB > 服务器组

  2. 在顶部菜单栏,选择NLB实例所属的地域。本文选择华东1(杭州)

  3. 服务器组页面,单击创建服务器组

  4. 创建服务器组对话框,根据以下信息配置相关参数,然后单击创建

    此处仅列举和本文强相关的配置。关于其余参数的配置,请参见创建和管理服务器组

    配置

    说明

    服务器组类型

    选择服务器组的类型。本文选择服务器类型

    服务器组名称

    自定义服务器组的名称。本文输入RS1

    VPC

    选择后端服务器组所属的VPC。本文选择VPC2。

    选择后端协议

    选择一种后端类型。本文选择TCP

    选择调度算法

    选择一种调度算法。本文默认加权轮询

    开启IPv6挂载

    选择是否开启IPv6挂载。

    • 选择开启IPv6挂载功能后,服务器组支持挂载IPv4、IPv6类型的后端服务器。

    • 不开启IPv6挂载功能时,服务器组仅支持挂载IPv4类型的后端服务器。

    说明

    当服务器组选择的VPC未开启IPv6功能时,默认不开启IPv6挂载功能。

    开启连接优雅中断

    启用连接优雅中断后,您可以在移除后端服务器或者健康检查失败后,使现有连接在一定时间内正常传输。

    连接优雅中断超时时间:开启连接优雅中断后,需输入连接优雅中断超时时间。

    本文选择默认关闭。

    开启客户端地址保持

    开启或关闭客户端地址保持。开启客户端地址保持后,后端服务器可以获取客户端IP地址。

    本文选择默认开启。

    开启全端口转发

    开启或关闭全端口转发。开启后添加后端服务器无需指定端口,NLB将按照前端请求端口转发流量至后端服务器。

    说明

    当您的监听开启全端口功能时,后端服务器组需开启该功能。

    本文选择默认关闭。

    配置健康检查

    开启或关闭健康检查。

    本文选择默认开启。

  5. 创建完成后,找到目标后端服务器组RS1,单击目标服务器组ID。

  6. 单击后端服务器页签,然后单击添加后端服务器

  7. 添加后端服务器面板,选择已创建的ECS03实例和ECS04实例,单击下一步

  8. 设置已添加的ECS03实例和ECS04实例的端口和权重,本文端口设置为80,权重保持默认值100,单击确定

步骤三:配置监听

  1. 在左侧导航栏,选择网络型负载均衡 NLB > 实例

  2. 实例页面,找到目标实例,单击实例ID。

  3. 单击监听页签,在监听页签单击创建监听

  4. 创建监听配置向导,完成以下配置,然后单击下一步

    此处仅列举和本文强相关的配置。关于其余参数的配置,请参见添加TCP监听

    配置

    说明

    选择负载均衡协议

    选择监听的协议类型。本文选择TCP

    全端口功能

    选择是否开启全端口功能。开启全端口功能后,NLB可以对监听端口段的所有端口进行监听,并将监听端口上接收到的请求直接转发至后端服务器的对应端口。本文保持默认关闭。

    监听端口

    用来接收和处理请求的监听端口。本文选择80

    监听名称

    输入自定义监听的名称。

  5. 选择服务器组配置向导,选择步骤二中创建的后端服务器组RS1,然后单击下一步

  6. 配置审核配置向导,确认监听配置信息,然后单击提交

  7. 负载均衡业务配置向导对话框,单击知道了,然后返回实例管理页面。

    当监听的健康检查状态为正常时,表示后端服务器ECS03和ECS04可以正常处理NLB实例转发的请求了。

步骤四:创建终端节点服务

  1. 登录终端节点服务控制台
  2. 在顶部菜单栏,选择要创建终端节点服务的地域。本文选择华东1(杭州)

  3. 终端节点服务页面,单击创建终端节点服务

  4. 创建终端节点服务页面,根据以下信息配置终端节点服务,然后单击确定创建

    此处仅列举和本文强相关的配置。关于其余参数的配置,请参见创建和管理终端节点服务

    参数

    描述

    服务资源类型

    终端节点服务下的服务资源的类型。本文选择网络型负载均衡NLB

    选择服务资源

    选择服务资源的可用区及可用区下的服务资源。

    本文可用区选择Hangzhou Zone G,然后单击+添加另一可用区资源选择可用区Hangzhou Zone K。可用区G和可用区K的服务资源选择步骤一中创建的NLB实例。

    自动接受终端节点连接

    选择是否自动接受终端节点的连接请求。本文选择

    是否支持同可用区优先

    选择是否支持就近解析。本文选择

    资源组

    选择终端节点服务所在的资源组。

    描述

    输入终端节点服务的描述信息。

步骤五:创建终端节点

  1. 登录终端节点控制台
  2. 在顶部菜单栏,选择要创建终端节点的地域。本文选择华东1(杭州)

  3. 终端节点页面,单击接口终端节点页签,然后单击创建终端节点

  4. 创建终端节点页面,根据以下信息配置终端节点,然后单击确定创建

    此处仅列举和本文强相关的配置。关于其余参数的配置,请参见创建和管理终端节点

    参数

    描述

    节点名称

    自定义终端节点的名称。

    终端节点类型

    终端节点选择的节点类型。本文选择接口终端节点

    终端节点服务

    选择目标终端节点服务。

    本文先单击选择可用服务,然后选择步骤四创建的终端节点服务。

    专有网络

    选择终端节点所属的专有网络。本文选择VPC1。

    安全组

    选择要与终端节点网卡关联的安全组。安全组可以管控VPC1到终端节点网卡的数据通信。

    说明

    确保安全组内的规则开放了客户端对终端节点网卡的访问。

    一个终端节点默认最多支持添加5个安全组。

    可用区与交换机

    选择终端节点服务对应的可用区,然后选择该可用区内的交换机,系统会自动在该交换机下创建一个终端节点网卡。

    本文可用区选择Hangzhou Zone G并选择可用区G内的交换机,然后单击+添加交换机选择可用区Hangzhou Zone K并选择可用区K内的交换机。

    资源组

    选择目标资源组。

    创建完终端节点后,您可以看到生成的终端节点可用区的域名和IP。

步骤六:接受连接请求

终端节点发送连接请求后,终端节点服务需要接受终端节点的连接请求。接受后,VPC1才能通过终端节点访问终端节点服务。

说明

如果您在步骤四创建终端节点服务时设置自动接受连接请求,请忽略此步骤。

  1. 登录终端节点服务控制台
  2. 在顶部菜单栏,选择要创建终端节点服务的地域。本文选择华东1(杭州)

  3. 终端节点服务页面,找到步骤四创建的终端节点服务,单击终端节点服务的实例ID。

  4. 在终端节点服务详情页面,单击终端节点连接页签,找到目标终端节点,在操作列单击允许

  5. 允许连接对话框,勾选允许连接并自动分配服务资源,然后单击确定

  6. 接受终端节点连接的连接请求后,终端节点连接的状态由已断开变为已连接,表示终端节点服务可以处理终端节点发送的请求了。您可以通过步骤五生成的终端节点可用区的域名或者IP访问终端节点服务。

    已连接

步骤七:测试连通性

完成上述操作后,VPC1和VPC2之间已经可以实现私网通信,本文以下面内容为例,为您展示如何测试VPC1与VPC2之间的连通性。

说明

本文中ECS实例安装了Alibaba Cloud Linux操作系统,如果您使用的是其他操作系统,如何测试VPC1和VPC2之间的连通性请参见您的操作系统手册。

  • 测试VPC1中的ECS01实例是否可以访问VPC2中部署在ECS03中的服务。

    1. 远程登录VPC1中的ECS01。具体操作,请参见ECS远程连接操作指南

    2. 在ECS01实例的终端使用终端节点可用区的域名或IP地址执行curl命令,测试连通性。

      本文选择输入步骤五中创建终端节点后生成的终端节点可用区G的域名或者IP。

      经测试,VPC1中的ECS01实例可以通过私网访问VPC2中部署在ECS03中的服务。

      image.png

  • 测试VPC1中的ECS02实例是否可以访问VPC2中部署在ECS04中的服务。

    1. 远程登录VPC1中的ECS02。

    2. 在ECS02实例的终端使用终端节点可用区的域名或IP地址执行curl命令,测试连通性。

      本文选择输入步骤五中创建终端节点后生成的终端节点可用区K的域名或者IP。

      经测试,VPC1中的ECS02实例可以通过私网访问VPC2中部署在ECS04中的服务。

      image.png

相关文档