概述
背景介绍
随着云计算的快速发展,企业纷纷在云端构建复杂的网络架构以支持不同的业务场景,逐渐从粗放式经营向精细化管理过渡,关注组网、安全、容灾与扩展等关键问题。其中,同地域跨VPC互联的网络设计尤为关键,对确保高效率、高安全性和高可用性至关重要。本文重点讨论在阿里云环境中,如何使用VPC对等连接和转发路由器,针对不同的客户场景和需求,构建高效、安全且高可用的同区域多VPC网络架构,提供一套Well-Architected解决方案。
基本概念
专有网络VPC:VPC是用户基于阿里云创建的自定义私有网络, 不同的专有网络之间逻辑隔离,用户可以自定义IP地址范围、创建子网、配置路由表。
VPC对等连接:VPC对等连接是两个VPC之间的网络连接,支持IPv4或IPv6互连 。您可以通过VPC对等连接实现IPv4或IPv6流量互通,从而实现同账号或跨账号的两个VPC间同地域或跨地域的私网互通。
云企业网CEN:云企业网支持在地域内定义灵活的互通、隔离、引流策略,帮助您打造一张灵活、可靠、大规模的企业级全球互联网络。
转发路由器TR:转发路由器TR是云企业网中的一个组件,它充当中心路由器的角色,可以连接不同的VPC、VPN、VBR、云服务等。TR提供了高度灵活的网络路由服务,支持多路由表和高级路由策略,方便用户在复杂网络环境中管理流量和策略。它是多VPC网络设计中实现复杂网络架构和跨账户网络架构的关键组件。通过使用TR,用户能够实现不同网络间的集中化管理和流量控制,同时也简化了网络架构和操作复杂性。
设计原则
可持续架构:随着客户云上业务规模的发展,需要在整体架构不变的情况下,支持更多的VPC连接、路由条目配置以及可能的网络安全策略。
安全有限互访:通过网络路由实现不同VPC网段的按需互通,确保敏感数据和系统不会被未授权访问和相互干扰,做到精细化的权限控制和安全管理。
满足业务性能:根据不同业务需求来优化网络设计,比如为特定应用程序配置特定的网络拓扑结构,或者根据流量模式优化网络性能。
设计关键点
在设计同地域多VPC网络时,VPC对等连接和转发路由器各有所长,需要基于具体需求进行综合考虑:
VPC对等连接更适合网络结构简单、流量低且无需扩展的环境,可以提供直接的连接和较低的延迟,成本效益显著,便于最小化操作复杂性。
转发路由器则适用于需要大规模网络互连、高度可靠性、可扩展和灵活的路由管理的场景。尽管TR有一定成本,但其提供了更强大的功能和更高的操作便捷性,尤其是在连接了大量VPC的复杂网络结构中,需要综合考虑安全性、可靠性、性能效率、成本优化、部署优化等Well-Architected Framework的关键领域,TR会更适合。
安全
VPC间互访:除安全组和网络ACL外,可以通过TR联动路由策略功能进行集中式的网络流量管理,易于实现统一的安全策略和监控。TR支持联动云防火墙,进一步保障企业内部不同业务单元的数据隔离和安全。
TR多路由表设计:在TR网络中,可以创建多个路由表来实现公网环境、生产环境、测试开发环境之间的安全隔离。每个VPC环境都可以关联到特定的路由表,联动路由策略来控制不同环境之间的访问权限。多路由表设计允许您灵活地定义哪些交换机能够访问互联网、哪些交换机仅限于私有网络之间的通信,以及哪些交换机可以互相访问。
服务链设计:服务链是一种网络设计原则,其中网络流量可以按顺序通过一系列的网络服务,如防火墙、入侵检测系统、负载均衡等。通过服务链设计,您可以强制实施网络流量必须通过特定的安全检查点,从而提高安全性和合规性。例如,将所有出口或入口流量通过TR定向经过云防火墙,确保所有流量都符合安全策略。
多TR平面隔离设计:使用多TR平面可以将不同的网络环境隔离开,例如将生产环境、开发环境和管理网络的环境分别隔离,或者以不同的子公司维度进行环境隔离。每个TR可以有自己的路由表和安全策略,从而实现更细粒度的网络隔离和控制。这种设计通常用于更复杂的组织结构,其中不同的部门或业务线需要独立的网络分隔,以符合内部治理和合规要求。
性能
VPC对等连接提供直接稳定的连接,通过静态路由配置,有效减少网络链路冗余,提升网络可靠性。尤其在简单网络拓扑中,其管理直观,便于维护高可用性。
转发路由器提供动态路由和故障转移机制,增强网络冗余性和链路自愈能力。TR支持VPC对等连接不具备的路由传递,进一步加强了组网可靠性。同时,TR具备可用区级别的管理能力,可以基于资源所在可用区选择TR的交换机,降低转发时延,构建可视化的高可用架构。
弹性
VPC对等连接提供了低延迟的网络连接,适合延迟敏感型应用。对于同地域多VPC通信,提供最直接的数据传输路径。
转发路由器支持多VPC间的高效数据传输,并能够根据实时的网络状况动态优化路由,且TR可以有效处理大规模网络的复杂性和数据吞吐需求。每个网络实例连接支持的最大带宽为:华东1(杭州)、华东2(上海)、华北2(北京)、华南1(深圳)、中国香港、新加坡地域为50 Gbps,其余地域为10 Gbps。
可观测
VPC对等连接支持通过开通流日志以及SLS进行VPC间的流量分析。
网络智能服务NIS支持对TR组网架构进行拓扑发现和管理,以及同地域VPC间流量进行性能监控和流量分析。通过集成机器学习、知识图谱等AIOps方法减少网络使用复杂性,提供自助运维能力,方便网络架构师和运维工程师更快捷地设计和使用网络。
设计最佳实践
在实现同地域多VPC的架构设计后,确保各VPC间高效互联至关重要。VPC对等连接和转发路由器均可作为连接方案,前者通常用于简单的一对一VPC网络连接,后者则针对复杂网络环境,如多VPC、跨账户连接及高级路由需求,展现出更广泛的适用性。通过合理配置TR,您可以灵活地调整和优化网络流量路径,确保网络设计的可伸缩性和安全性。
简单网络互联场景
简单网络互联场景中,两个业务单元分别位于独立的VPC中,它们通过VPC对等连接确保了内部网络的连通性及安全性,同时维持着各自的业务隔离。鉴于当前及未来较长时期内无需扩展,这种架构稳定且高效。VPC A与VPC B间实现了资源共享和互访,当VPC A与VPC B都关联了IPv6 CIDR网段时,每个VPC的路由表可同时配置对端VPC的IPv4与IPv6路由条目,用户可根据实际需要灵活选择IPv4或IPv6进行通信。
复杂网络互联场景
DMZ区域(DeMilitarized Zone):作为网络安全缓冲区,通常包含对外访问和被访问的服务组件,如DDoS、WAF、NAT网关、负载均衡、业务前端服务器等。它作为内部网络(例如生产环境)和外部网络(例如公共互联网)之间的中间层,提供额外的安全保护。
共享服务区:部署被多个环境共享的服务,如身份认证服务、集中日志管理服务、内部DNS解析等,允许各个环境访问共享资源,减少重复部署。
生产环境:托管运行中的业务应用程序和服务,具备最高级别的安全控制和监控。此环境需要密切监控和管理,以确保高可用性和性能。不同的业务与项目,可以再进行不同的VPC拆分。
开发环境:隔离于生产环境,专供开发人员进行代码编写与初步测试,避免开发活动影响生产服务。不同的业务、项目,可以再进行不同的VPC拆分。
测试环境:作为深入测试区域,模拟生产环境进行集成测试、性能测试和用户验收测试,以确保在实际部署前发现问题。
安全VPC:托管安全相关的工具和服务,如东西向防火墙、入侵检测系统(IDS)、漏洞扫描工具等,专注于监控和保护整个多VPC架构的安全。
运维&VPN接入区:专门用于运维人员远程访问和云环境管理。通常包含VPN服务和其他远程访问工具(如无影),有助于安全地控制对云资源的访问。
场景1:单平面组网
企业多个业务VPC之间通过TR进行大规模组网,实现VPC之间的按需互通。同时构建DMZ VPC以统一管理所有公网出入流量。生产、开发、测试等不同业务之间的访问控制均通过TR路由表中的路由条目和路由策略进行管理。
场景2:多平面组网
集团型企业网络架构通常映射其组织结构,形成集团-子公司-业务单元三级网络布局,需采用多平面架构以满足复杂需求。多平面组网架构实施有两大策略:通过多个TR实例或者通过TR路由表进行平面切分。平面切分遵循横向与纵向逻辑。横向切分适用于集中式运维模式,将网络分为生产、开发测试及共享服务等层面;而纵向分割则按子公司划分,适合各子公司拥有独立运维团队的场景。
通过多个TR实例进行多平面组网
多个VPC间通过多个TR平面构建多平面组网,实现多环境隔离,仅共享服务VPC与多个TR平面内的所有VPC互联互通。如图所示,通过TR-1进行平面1的规模组网,TR-2进行平面2的规模组网,且共享服务VPC可分别访问TR-1和TR-2内的VPC。
通过TR多路由表进行多平面组网
按照TR路由表划分成多平面,各子公司VPC绑定独立的TR路由表。TR路由表中的路由配置和路由策略决定子公司之间的互通。同时可以构建公网路由表,仅用于管理DMZ VPC的路由转发,作为各个子公司公网南北向流量管理的统一出入口。
应用场景介绍
业务简单互通场景:适用于云上网络结构简单,仅需A和B业务间直接通信,例如企业简单的服务调用场景,对安全性和弹性要求较低。
企业云上标准组网场景:适用于中大型及集团化企业,业务单元众多,且涵盖多样化的业务单元交互模式(全互通、有限互通、不互通)。要求云网络具备高可靠性、安全性和弹性,能够支撑业务单元的规模化增长,同时能够较为便捷地进行集中化网络管理。
Terraform参考
简单网络互联(使用对等连接)
项目 | 说明 |
Terraform Module官网地址 | |
Github 地址 | |
示例地址 |
代码流程:
创建云上VPC。
创建VPC对等连接并配置路由条目,实现VPC的两两互通。
需要创建的实例如下:
3个VPC
3个VPC对等连接
复杂网络互联(通过TR多路由表进行多平面组网)
项目 | 说明 |
Terraform Module官网地址 | |
Github 地址 | |
示例地址 |
代码流程:
划分生产、测试、DMZ区环境,在每个环境内创建多个VPC及对应交换机。
创建CEN和TR,通过TR-attachment把VPC加入CEN中。
为不同环境分别创建TR路由表,在每个路由表内创建对应路由条目,实现路由的隔离和打通。
为TR路由表和TR-attachment创建关联。
需要创建的实例如下:
5个VPC
15个交换机
1个CEN
1个TR
5个TR-attachment
3个TR路由表