阿里云多账号网络互通最佳实践

前言

在企业起步阶段,规模较小,一般采用单账号模式。随着企业的发展,单账号的缺陷越来越明显,多账号相对于单账号有众多优点:
• 多账号间的资源默认隔离,减少了单账号因为一个资源或服务问题导致其它资源和服务也出现问题的可能性;
• 多账号减少了单帐户过于宽泛的 RAM 权限带来的风险;
• 多账号便于成本结算、独立管理、环境隔离等。

因此中大型企业上云时通常选择多账号,但是多账号间往往存在着大量的网络互通场景,如何解决多账号的网络互通问题呢?
VPC 作为云上最常用的网络环境,不同账号的 VPC 之间默认是无法互通的,多账号网络互通常用的解决方案是 CEN(云企业网)和 VPN 网关。

基于 VPN 的网络架构

VPN 网关是一款基于 Internet 的网络连接服务,通过加密通道的方式实现企业数据中心、企业办公网络或 Internet 终端与 VPC 安全可靠的连接。VPN 网关可以实现跨地域、跨账号的 VPC 互通,在需要连接的 VPC 上创建 VPN 网关,网关之间通过基于 Internet 的 IPSec 加密隧道来传输私网数据,以实现安全可靠的多账号 VPC 间通信。

阿里云多账号网络互通最佳实践

图1

如上图所示:服务分别部署在账号1、2、3的 VPC 网络环境中,每个服务基于多可用区和 SLB 实现同城双活,前端 VPC 部署前端服务,后端 VPC 部署后端应用,前端服务处理 Web 请求时需调用部署在账号2、账号 3 的后端应用,分别为每个 VPC 创建 VPN网关,VPN 之间配置 IPSEC、路由,以此来实现多账号网络互通。

基于 CEN 的网络架构

云企业网(Cloud Enterprise Network)是承载在阿里云提供的高性能、低延迟的私有全球网络上的一张高可用网络,可以在跨地域、跨账号的 VPC 间搭建私网通道,通过自动路由分发及学习,提高网络的快速收敛和跨网络通信的质量和安全性,实现全网资源的互通,打造一张具有企业级规模和通信能力的互联网络。

阿里云多账号网络互通最佳实践

图2

如上图所示:首先创建 CEN 实例,将要互通的网络实例(专有网络和边界路由器)加载到 CEN 中,再购买一个带宽包(同 Region 无需购买带宽包),配置路由、跨账号授权等,即可实现服务在不同账号的 VPC 间互通。

VPN 和 CEN 网络架构比较

VPN 和 CEN 都可实现多账号网络互通,两者有何区别呢?
• VPN 需要为每个 VPC 配置 VPN 网关,创建 IPsec 连接、配置 VPN 网关路由等,随着 VPC 数量的增加,人工配置成本成倍增加;同时 VPN 连接使用共享的公网资源进行通信,网络延时和丢包率等都无法保证,其网络带宽受限于公网 IP 的带宽。在实际使用中 VPN 网关很少用于多账号网络互通,多用于本地数据中心与 VPC 互通以构建混合云。
• CEN 专线连接在网络质量、安全性和传输速度等方面都优于 VPN,但是 CEN 在跨账号连接时需要配置跨账号授权、路由等,存在一定的配置成本;跨 Region 通信时需要购买带宽,存在一定的费用成本;每个 CEN 实例在每个 Region 可加载的网络实例数量有限。

由此可见,VPN 和 CEN 都能解决多账号网络互通问题,但是不一定适合所有的场景,还有其他的方案吗?

ResourceSharing 介绍

不同于 VPN 和 CEN,资源共享服务(ResourceSharing)通过在账号间共享 VSwitch 来实现多账号网络互通。
如下图所示:企业账号 A、B、C、D 加入 ResourceDirectory(资源目录)后,资源所有者账号 A 把虚拟交换机共享给账号 B、C、D,这样账号 A、B、C、D 都能使用该虚拟交换机,并在该交换机上挂载 ECS/RDS/SLB 等资源,以此来实现不同账号的资源共享同一个子网。

阿里云多账号网络互通最佳实践

图3

相对于 CEN 和 VPN,ResourceSharing 极大地简化了配置,在网络规模较复杂的场景下尤为明显。

基于 ResourceSharing 的网络架构

如下图所示为基于 ResourceSharing 的网络架构:账号 1 所在的 VPC 使用两个 VSwitch 作为多可用区以实现同城双活,用于部署前端服务;再共享三个 VSwitch 给账号 2 和账号 3 用于部署后端服务:“Shared VSwitch For AZ1 ECS” 用于挂截账号 2 和账号 3 在 AZ1 的 ECS 资源,“Shared VSwitch For AZ2 ECS” 用于挂截账号 2 和账号 3 在 AZ2 的 ECS 资源,“Shared VSwitch For SLB” 用于挂截账号 2 和账号 3 的 SLB 资源;这样基于资源共享的方式,前端服务与后端服务均在同一个 VPC 下,所有服务天然支持网络互通。

阿里云多账号网络互通最佳实践

图4

由于每个账号仍然独立管控自己的资源,所以服务之间既实现了多账号间网络互通,又保证了相关资源在账号间的隔离,此外,相对于 CEN 和 VPN,ResourceSharing 有一定的优势:
• 整个体系在一个 VPC 中,因此不需要网关、路由、IPSEC、跨账号授权等相关配置,极大地简化了工作量。
• 服务在 VPC 内部通信,不依赖公网带宽,减少了网络延时和丢包率带来的风险。
• ResourceSharing 是完全免费的,能为用户节省不少成本。

总结

ResourceSharing 有众多优势,是否能取代 VPN 和 CEN 满足所有的应用场景呢?
• 由于 VPC 是地域级别的资源,因此 ResourceSharing 是不能跨 Region 共享 VSwitch 的,而 CEN 则没有这个限制,所以跨 Region 间 VPC 通信时通常选择 CEN 的方式。如下图所示 Region A 和 Region B 的 VPC 通过 CEN 互通。
• 当用户需要将本地数据中心与 VPC 互通以构建混合云时,ResourceSharing 显然无法满足需求。如下图所示通过 VPN 的方式将本地数据中心与安全登陆 VPC 快速连接起来。
• 当企业对安全有更高要求时,往往需要通过 VPC 将网络划分成多个安全域,ResourceSharing 由于共享 VSwitch 所在的实例都在同一个 VPC,无法满足需求。如下图所示:根据安全级别的不同,将整个网络分隔成多个 VPC,通过 CEN 实现不同安全域 VPC 的网络互通,利用 ResourceSharing 实现多账号同安全域 VPC 的网络互通。

阿里云多账号网络互通最佳实践

图5

VPN 网关、CEN 和 ResourceSharing 分别适用于不同的场景,如上图所示为集团化的大型企业,网络架构较为复杂,同时用到了三种方案,用户在实际使用时,需要根据自己的需求和网络规模选择最合适的方案。

上一篇:如何将操作日志持续投递到 SLS/OSS


下一篇:使用 Terraform 一键创建跟踪