云数据中心网络(六):私网连接
前面讲到 VPC 网络具有隔离性,VPC 之间无法通信。当一个 VPC 中的终端需要访问部署在另一个 VPC 中的服务时,就产生了 VPC 间的通信需求。这个时候,有两种选择:一种是通过 公网通信,可以让服务提供方的 VPC 暴露公网服务到互联网,服务使用方 VPC 通过公网来调用,而这会让 VPC 资源面临安全风险;另一种是通过 私网通信,可以通过 VPC 对等连接打通两个 VPC 的私有网络,但这种方式打破了 VPC 之间的隔离性,将不同 VPC 的网络连接成了一个大的网络,需要通过部署其他的安全策略确保服务使用方和服务提供方各自的安全。这种方式更加适用于一个组织内部,并且是可以进行统一运维管理的网络。如果服务提供方和服务使用方的网络都是独立运维和管理的,甚至属于不同的组织,并不希望把网络直接打通,那该怎么办呢?
试想一下,有没有一个模型,类似于在服务使用方的 VPC 和服务提供方的VPC 之间接上一根虚拟电缆,这根虚拟电缆的连接不需要通过互联网或 NAT 网关,且电缆的两端,分别在自己的 VPC 之内,同时又分别在对方 VPC 之外,这样既满足了网络隔离的要求,又满足了服务互通的要求。
这个模型就是 私网连接(PrivateLink
)产品的设计思路。
1.什么是私网连接
私网连接允许用户在自己的 VPC 内通过私网访问阿里云服务、第三方服务或者自己发布的服务,这些服务都部署在服务提供方的 VPC 内。
服务使用方使用私网连接在自己的 VPC 内创建终端节点时,使用的是弹性网络接口(ENI
)和自己 VPC 子网内的 IP 地址,是可以使用安全组(Security Group)来管理终端访问的。
服务提供方使用私网连接,可以在自己的 VPC 发布私网服务,也可以自主控制连接过来的终端,实现服务的发布、管理和售卖。
与 VPC 对等连接等方式不同,私网连接并不是直接将两个 VPC 连接在一起,变成一个网络空间,而是更像通过一个 "虫洞 " 将两个网络空间打通。服务使用方可以在 VPC 中通过 PrivateLink 提供的入口(即 终端节点)单向访问服务提供方在其 VPC 中提供的特定服务(即 终端节点服务)。使用私网连接的方式,双方可以各自独立规划和管理自己的 VPC,不用担心网络地址冲突,也无须配置复杂的网络路由,如下图所示。
2.私网连接的组成
私网连接可以分为服务使用方组件和服务提供方组件两大部分。服务使用方和服务提供方可以是同一个阿里云账号,也可以是不同的阿里云账号。
服务使用方最重要的组件是终端节点。终端节点代表了服务使用方 VPC 中的服务入口。当服务使用方需要使用某个服务时,可以创建一个连接到这个服务的终端节点,参考下图。
终端节点是一个逻辑上的组件,访问服务的请求流量实际发送到了与终端节点相关联的弹性网卡上。与 ECS 上的弹性网卡一样,终端节点网卡 需要连接到服务使用方 VPC 的 vSwitch 上,并且分配一个 vSwitch 私网地址段的 IP 地址。服务使用方所访问的服务地址,就是这个 ENI 的私网 IP 地址。
服务提供方最重要的组件是终端节点服务。终端节点服务代表了一个服务提供方所提供的云服务。终端节点服务可以接收终端节点的连接请求。服务提供方可以选择自动或者手动控制是否接受连接请求。
终端节点服务是一个逻辑上的组件,真正提供服务的是与终端节点服务所关联的服务资源。目前,阿里云支持将 SLB 作为私网连接的服务资源,后续还将支持更多类型的网元作为服务资源。
需要注意的是,私网连接只会转发同可用区的流量。也就是说,发给某个可用区 vSwitch 终端节点网卡的请求,只会转发到同一可用区的终端节点服务资源(即 SLB 集群)。所以当服务提供方没有在某个可用区提供服务资源时,服务使用方也无法在对应可用区的 vSwitch 中创建对应的终端节点网卡。
3.私网连接的优势
私网连接是云网络独有的服务连接方式,充分发挥了虚拟网络在多租户网络隔离和服务互通方面的灵活性。与公网、VPC 对等连接等方式相比,私网连接在安全性、简化管理等方面有比较大的优势。
- 安全访问云上服务。与公网提供的服务相比,通过私网连接提供的服务具有更好的私密性。这一方面体现在,流量本身不会离开内网,甚至不会进行跨机房的传输。另一方面,服务本身的发布、连接和访问都在双方的 VPC 中进行,不需要任何的公网出入口,避免了公网攻击等网络安全问题。
- 保持监管合规性。金融服务、医疗保健行业和政府部门的敏感数据保护尤为重要,防止敏感数据(如用户记录)进入互联网有助于用户遵守相关的隐私保护法规。借助阿里云私网连接,阿里云资源、VPC 和第三方服务之间的数据将停留在云网络上,而云网络有强大的控制措施来维护安全性和合规性。
- 访问精确可控。服务的提供方利用私网连接可以精确控制允许哪些用户账号建立终端节点连接,并且控制每个连接的带宽。服务的使用方也可以通过 VPC 的网络访问控制列表(
Network Access Control List
,NACL
)、安全组等,控制对特定服务的访问。由于私网连接只提供单向的访问,也不会对服务使用方的 VPC 造成入方向的安全威胁。 - 低时延、高可靠。由于私网连接只进行同可用区的流量转发,所以,用户可以自己控制所访问服务资源的位置。对于时延非常敏感的服务,用户可以访问同可用区的服务资源,有效控制网络时延,获得更高的网络质量。同时,用户可以在多个可用区中创建终端节点网卡,并利用服务域名获得多可用区的高可用能力。
- 网络管理解耦。私网连接保持了服务双方的网络隔离,无须担心地址冲突问题,无须配置复杂的网络路由,也无须部署额外的安全策略。另外私网连接天然支持跨账号的服务访问,大大简化了不同账号之间的服务访问配置。
4.私网连接的主要应用场景
私网连接为云上服务的交互提供了一种全新的方式,类似云服务总线,既可以帮助用户更加方便安全地访问云上的服务,也可以帮助用户更加方便地构建服务化的云上网络。更重要的是,私网连接为企业 SaaS 服务生态的发展打开了一扇新的大门,让服务提供商能够以一种全新的方式为云上客户提供更加安全的服务访问。下面我们介绍私网连接的三种典型主要应用场景。
- 访问云服务。云上用户可以通过创建 VPC 中的终端节点访问特定的云服务。由于终端节点网卡使用的是 VPC 的私网地址,用户可以非常方便地进行网络地址规划,便于在多 VPC、跨 VPC 和混合云的场景下访问云服务。
- 访问企业内部服务。利用私网连接,企业可以将内部的公共服务提供给各个业务的 VPC 访问,同时保持公共服务的网络与业务的网络环境相互隔离,以满足运维管理和安全隔离的要求。采用这种方式,可以大大简化企业云上网络的管理,避免复杂的路由和安全策略配置。
- 云上应用生态。企业级应用往往对于安全性有更高的要求,不适合通过互联网发布和访问。利用私网连接,企业 SaaS 应用的提供商可以在云上私有网络中发布和提供服务,所有的交互数据都不经过互联网,更加安全可靠。结合阿里云的混合云产品,企业线下数据中心和分支的终端也能够访问发布在阿里云上的企业应用和服务。