本文指导您使用私网连接(PrivateLink)服务将一个专有网络(VPC)内部署的私网传统型负载均衡CLB(Classic Load Balancer)服务共享给其他账号下的VPC访问。

背景信息

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

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

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

  • 终端节点

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

相关主体 相关组件
服务提供方 创建和管理终端节点服务。
服务使用方 创建和管理终端节点。
说明 目前,仅部分地域支持私网连接。更多信息,请参见支持私网连接的地域和可用区

配置场景

本文以下图场景为例。某公司在阿里云有两个云账号,账号A,账号B。该公司在账号1和账号2下分别创建了VPC1和VPC2,并且VPC2中的ECS2实例和ECS3实例部署了应用服务。因业务发展,VPC2中的服务需要被VPC1通过私网访问,避免公网访问服务带来的潜在安全风险。

您可以在VPC2下创建支持私网连接的CLB实例。,将ECS实例添加为CLB实例的后端服务器,然后创建终端节点服务,将CLB实例添加为服务资源,并将账号1的UID添加到终端节点服务的服务白名单中。在VPC1下创建终端节点。创建成功后,终端节点与终端节点服务建立连接且状态正常时,VPC1即可跨账号私网访问VPC2下的服务。搭建终端节点服务
本文中2个VPC网络规划如下表所示,在您规划网络时请确保要互通的网段没有重叠。
属性 VPC1 VPC2
网络实例所属地域 德国(法兰克福) 德国(法兰克福)
网络实例的网段规划
  • VPC网段:10.10.1.0/16
  • 交换机网段:10.0.0.0/24
  • VPC网段:192.168.2.0/16
  • 交换机网段:192.168.24.0/24
网络实际交换的可用区 交换机位于可用区B 交换机位于可用区B
服务器IP地址 ECS1 IP地址:10.0.0.182
  • ECS2 IP地址:192.168.20.200
  • ECS2 IP地址:10.0.0.2

使用限制

  • VPC2中的CLB服务资源必须是按量付费的私网CLB实例,只有按量付费的私网CLB实例才支持私网连接。
  • VPC1中的终端节点、VPC2中的终端节点服务及CLB服务资源必须在同一地域的同一可用区内。

前提条件

开始前,请确保满足以下条件:
  • 您已经注册了阿里云账号。如还未注册,请先完成账号注册
  • 首次使用时,请登录私网连接服务开通页面根据提示开通私网连接服务。
  • 您已经在德国(法兰克福)地域创建了VPC1和VPC2,并且在VPC1和VPC2中分别创建了一个交换机。具体操作,请参见创建专有网络和交换机
  • 您已在VPC1中创建了ECS1实例,在VPC2中创建了ECS2和ECS3实例,ECS2和ECS3部署了应用服务。具体操作,请参见使用向导创建实例
  • 您已经在VPC1创建了安全组。具体操作,请参见创建安全组

配置步骤

配置步骤

步骤一:创建支持私网连接功能的CLB实例

完成以下操作,创建支持私网连接功能的CLB实例。

  1. 使用账号B登录传统型负载均衡CLB控制台
  2. 实例管理页面,单击创建传统型负载均衡
  3. 在购买页面,根据以下信息配置CLB实例,然后单击立即购买完成支付。
    配置 说明
    付费模式 选择一种付费模式。 本文选择按量付费
    地域和可用区 选择CLB实例所属的地域和可用区,确保CLB实例的地域和后端添加的ECS的地域相同。本文地域选择德国(法兰克福) ,可用区选择法兰克福 可用区B
    可用区类型 显示所选地域的可用区类型。本文选择多可用区
    备可用区 选择CLB实例的备可用区。备可用区默认不承载流量,主可用区不可用时才承载流量。本文选择欧洲中部1 可用区A
    实例名称 自定义CLB的实例名称。

    长度限制为1~80个字符,允许包含中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)等字符。

    实例规格 选择一个实例规格。不同的实例规格所提供的性能指标不同。本文选择简约型I(slb.s1.small)
    实例类型 根据业务场景选择配置对外公开或对内私有的CLB实例。本文选择私网
    网络类型 选择CLB实例的网络类型。本文选择专有网络
    专有网络 选择VPC2及VPC2下的交换机。
    IP 版本 选择CLB实例的IP版本。本文选择IPv4
    功能特性 选择标准功能
    计费方式 选择按使用流量计费
    数量 选择1
    资源组 选择默认资源组

步骤二:配置CLB实例

创建CLB实例后,您需要至少添加一个监听和一组后端服务器才能实现流量转发。

  1. 实例管理页面,找到步骤一创建的CLB实例,在操作列单击监听配置向导
  2. 协议&监听配置向导,根据以下信息配置监听规则,其他配置保持默认值,然后单击下一步
    • 选择负载均衡协议:本文选择TCP协议。
    • 监听端口:用来接收请求并向后端服务器进行请求转发的CLB系统的前端协议和端口。

      本文端口设置为80

  3. 后端服务器配置向导,选择默认服务器组,单击继续添加,添加后端服务器。
    1. 我的服务器面板,选择已经创建的ECS01和ECS02实例,单击下一步
    2. 配置权重,单击添加
      权重越大转发的请求越多,默认为100,本文保持默认值。
    3. 默认服务器组页签,配置后端协议端口,本文端口设置为80,然后单击下一步
      ECS实例上开放的用来接收请求的后端端口,在同一个CLB实例内可重复。
  4. 健康检查配置向导,配置健康检查,然后单击下一步。本文使用默认值。
  5. 配置审核配置向导,检查配置信息,然后单击提交
  6. 单击知道了,返回实例管理页面。

    当后端ECS实例的健康检查状态为正常时,表示后端ECS实例可以正常处理CLB转发的请求了。

    fuzaijunheng

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

终端节点服务是可以被其他VPC通过创建终端节点建立私网连接的服务。

  1. 使用账号2登录终端节点服务控制台
  2. 在顶部菜单栏处,选择要创建终端节点服务的地域。本文选择德国(法兰克福)
  3. 终端节点服务页面,单击创建终端节点服务
  4. 创建终端节点服务页面,根据以下信息配置终端节点服务,然后单击确定创建
    配置 说明
    选择服务资源 选择要承载流量的可用区,然后选择与终端节点服务关联的CLB实例。

    本文选择法兰克福 可用区B,然后选择步骤一创建的支持私网连接功能的CLB实例。

    自动接受终端节点连接 选择是否自动接受终端节点的连接请求。本文选择
    • :终端节点服务将自动接受终端节点的连接请求,通过终端节点能够访问服务。
    • :终端节点连接将处于已断开状态,等待服务使用方进行处理:
      • 如果服务使用方接受该终端节点对应的终端节点服务连接,通过终端节点将能够访问服务。
      • 如果服务使用方拒绝该终端节点对应的终端节点服务连接,通过终端节点无法访问服务。
    是否支持同可用区优先 本文选择
    描述 输入终端节点服务的描述信息。

    描述长度为2~256个字符,但是开头不能为http://https://

终端节点服务创建成功后,您可以查看终端节点服务的服务ID和服务名称。终端节点服务

步骤四:添加服务白名单

您可以为终端节点服务添加服务白名单,服务白名单中的用户可以创建与终端节点服务连接的终端节点。

完成以下操作,将账号1的UID添加到账号2配置的终端节点服务的服务白名单中。

  1. 使用账号2登录终端节点服务控制台
  2. 在左侧导航栏,单击终端节点服务
  3. 终端节点服务页面,找到步骤三创建的终端节点服务,单击其服务ID。
  4. 单击服务白名单页签,然后单击添加白名单
  5. 添加白名单对话框,输入要添加的白名单账号,然后单击确定
    本文输入账号A的UID,示例图如下:
    创建终端节点服务-创建服务

步骤五:创建终端节点

终端节点可以与终端节点服务相关联,以建立通过VPC私网访问外部服务的网络连接。

  1. 使用账号1登录终端节点控制台
  2. 在顶部菜单栏处,选择要创建终端节点的地域。本文选择德国(法兰克福)
  3. 终端节点页面,单击创建终端节点
  4. 创建终端节点页面,根据以下信息配置终端节点,然后单击确定创建
    配置 说明
    节点名称 输入终端节点的名称。

    名称长度在2~128个字符之间,以英文字母或中文开头,可包含数字、短划线(-)和下划线(_)。

    终端节点服务 您可以通过以下两种方式设置终端节点服务:
    • 单击通过服务名称添加,然后输入终端服务名称。
    • 单击选择可用服务,然后选择目标终端节点服务ID。
    本文先单击通过服务名称添加,然后选择步骤三中创建的终端节点服务。
    专有网络 选择需要创建终端节点的VPC。本文选择已创建的VPC1。
    安全组 选择要与终端节点网卡关联的安全组,安全组可以管控VPC到终端节点网卡的数据通信。
    说明 确保安全组内的规则开放了客户端对终端节点网卡的访问。
    可用区与交换机 选择终端节点服务对应的可用区,然后选择该可用区内的交换机,系统会自动在该交换机下创建一个终端节点网卡。

    本文选择法兰克福 可用区B,然后选择VPC1中创建的交换机。

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

    描述长度为2~256个字符,但是开头不能是http://https://

创建终端节点后,您可以查看访问服务的域名或IP。有以下三种方式可以访问终端节点服务:
  • 终端节点域名
  • IP地址
  • 可用区域名
终端节点

步骤六:接受终端节点连接请求

终端节点发送连接请求后,终端节点服务需要接受终端节点的连接请求。接受后,VPC1才能通过终端节点访问服务。
说明 如果您在步骤三创建终端节点服务时设置自动接受连接请求,请忽略此步骤。

完成以下操作,在账号2的终端节点服务上接受账号1的终端节点连接请求。

  1. 使用账号2登录终端节点服务控制台
  2. 在顶部菜单栏处,选择终端节点服务的地域。本文选择德国(法兰克福)
  3. 终端节点服务页面,找到步骤三创建的终端节点服务,单击其服务ID链接。
  4. 单击终端节点连接页签,找到步骤五创建的终端节点,在操作列单击允许
  5. 允许连接对话框,单击确定
接受连接请求后,终端节点连接的状态由已断开变更为已连接连接状态

步骤七:通过终端节点访问服务

完成以下操作,测试账号A的VPC1中的ECS1实例是否可以通过私网访问账号B的VPC2中部署在ECS2上的服务。

  1. 打开账号1 ECS实例的浏览器。
  2. 在浏览器中输入访问服务的域名或IP,测试是否可以访问VPC2中部署在ECS2上的服务。
    本文输入步骤五创建终端节点后生成的访问域名或IP。

    经测试,账号A的VPC1中的ECS1实例可以通过私网访问账号B的VPC2中部署在ECS2上的服务。