跨 VPC 大规模组网
本文介绍如何利用云平台中的网络组件,构建跨越多个 VPC 的大规模网络。
适用场景
当企业业务非常复杂时,VPC 内云服务器数量的增长会导致防火墙规则数量指数级爆炸增长,将严重消耗网络性能。这时,便可以充分利用 VPC 网络自身的隔离功能,组建安全的大规模网络。VPC 网络 100% 二层隔离,天然具备安全可靠性。
方案一:小规模跨 VPC 通信
VPC 自身的 NAT 功能 和 VPN 组件,可以应用在小规模的跨 VPC 通信场景下,例如用于 VPC 内云服务器对外提供服务。
1.通过 VPC 的 NAT 功能
-
源地址转换:给 VPC 绑定一个公网 IP ,会自动配置源 NAT 功能,VPC 内所有机器可以使用 VPC 的公网地址去访问公网,就不再需要每台机器绑定公网 IP 地址。
-
目的地址转换:通过端口转发功能将公网 IP 的不同端口转发给不同云服务器,VPC 内的不同机器可以使用 VPC 的公网地址的不同端口来对外提供服务。
方案局限:由于常见的 HTTP 和 HTTPS 服务需要用 80 端口和 443 端口对公网提供服务,而端口转发一个端口只能对应后端一台服务器,所以不适用大规模的 Web 服务。因此,VPC 的 NAT 功能对于单一端口的应用和服务不具备广泛适用性,不太适用构建大量的跨 VPC 服务。
2.通过隧道和 VPN 服务
-
隧道服务通过加密通道将企业数据中心、企业办公网络、或 Internet 终端、VPC 和 VPC 安全连接起来。
-
VPN 服务也是基于 Internet 的传输加密方式,在单台机器而非整个网络连接 VPC 内网时可以通过输入登录名密码的方式简单实现。
方案局限:虽然隧道和 VPN 对数据进行了加密,但是仍然完全依赖公网链路,所以无法避免公网的波动导致的网络不稳定。如果 VPN 和隧道经过的网络链路出现丢包和高延迟,将导致网络服务的波动。
方案二:搭建大规模高性能自治网络
通过采用边界路由器实现大规模高性能的跨 VPC 通信:边界路由器可以将企业内网从单一路由的 VPC 网络,扩展为一个虚拟的自治系统(Autonomous Systems)。其架构图如下:
架构说明:
-
虚拟路由器是分布在各个物理计算节点的分布式路由器 DVR(Distributed Virtual Router),由于数据包并未真正汇聚到某个虚拟路由器中,所以避免了单点故障和单点性能瓶颈。
-
边界路由器运行在物理交换机上,性能和稳定性都远远强于虚拟路由器,物理交换机之间还存在 bonding,防止单点故障。
-
通过边界路由器实现不同 VPC 之间的私有网络直接三层互通,所以边界路由器是整个虚拟网络的核心路由器。在逻辑上,云上的网络和物理网络已基本没有区别,且完全摆脱了命令行,能够以可视化界面管理您的“自治网络”。
操作方法:
-
在边界路由器控制台中,您可以选择需要关联边界路由器的私有网络,实现不同 VPC 中的私有网络互联。您也可以将边界路由器绑定到 VPC,实现边界路由器与 VPC 管理路由器互联,该 VPC 下的所有私有网络将关联到边界路由器。
说明 边界路由器在三层转发的性能远远超过普通的 VPC,绑定 VPC 后,可以加强 VPC 的内网 PPS 和带宽性能。
-
在边界路由器里加入私有网络 Vxnet 后,您需要在私有网络所在的 VPC 配置内网路由策略,将对目标网络的下一跳指向边界路由器。
FAQ
Q:为什么不使用负载均衡器?
A:负载均衡器功能属于 4~7 层设备,依赖 2~3 层的互通,而不是去实现 2~3 层互通。若已有网络 ping 不通,是无法通过负载均衡器解决的。除非您绑定一个公网 IP。但这种方式的互通是公网 IP 去实现的,也并非通过负载均衡器实现了互通。并且,针对只对内网开放的服务(比如开发测试环境),是不允许绑定公网 IP 的,从成本来说也是浪费公网的流量。