【AWS征文】揭秘 AWS 底层网络是如何构成的

AWS 全球网络概述

概述

我们知道计算最重要的三个组件是:计算、存储、网络。计算和存储相对来说比较简单,情形单一,主要是依靠底层硬件支持。而中最复杂的部分莫过于网络的多样性,计算做的好不好,主要看底层网络做的是否够厉害,比如网络的安全性,弹性等。

AWS 是一家全球公有云提供商,因此,它必须拥有一个全球基础设施@ 2 & T p网络,以运管理其支持全球客户的众多不断增长的云服务。构成 AWS Global Infrastructure 的组件有:

  • Availability Zc t ~ b n k 5onES (AZs)
  • Regions
  • Edge PoPs
  • Regional Edge Caches

【AWS征文】揭秘 AWS 底层网络是如何构成的

如果你把 AWS 网络看成是一棵树的话,那树根的部分可以比作是 Region,树干和树茎的部门比作为骨干网,Y G + n树叶的部门,可以想象成为 Edge PoP 节点

【AWS征文】揭秘 AWS 底层网络是如何构成的

理念

AWS 的网络规模和国际上的一些电信运营商的规模是差不多的,在打造这样的一张网络的时候,AWS 网络的设计理念主要包含以下几点:

  • 安全性:AWS 非常注重数据的安全,在整个网络中增加了非常多的安全方面服务来保证网络的安全。
  • 可用# D n & 0性:需要保证当某条线路出现故障的时候,不会影响整个网络的可用性。
  • 故障强隔离:当网络发生故障的时候,尽量把故障限制在某个区p j U { C ` s ]域内。
  • 蜂窝架构:一个个网络. f 4模块构成的蜂窝式网络架构F c / G t } Y
  • 规模:支撑上百万客户的应用网络需求。
  • 性能:对网络的吞吐量、延迟要求较高。

网络通信案例解析

【AWS征文】揭秘 AWS 底层网络是如何构成的

如上图所示n ? Q P,一个猫咪要去 AWS 的服务器中获取一张图片,流量首先通过 IH @ h 6 r p 6nternet 进入到 AWS R5 c w b i X & j ]egion,c + Y X ^ ? 8Region 包括 AZ,AZ 中有 VPC,在 VPC 中有 Server,Server 上面有图片,这是一种比较简单的抽象流程,但是如果把网络剥开一层再去看,其实会变得更加复杂,如下图:

可以看到包含了更多的 AWS 网络基础设施,流量首先进入 Edg] v # A *e PoP,这个也是 CDN 的站点,流量进来之后到N X G骨干网络 Backbone,然后再进入 AWS Region,经过 Transit Ce2 V = Q ^ s 7 Qnter 进入 AZ。

AWS Region

可用区] J ^ |

我们都知道 AWS Region 是由 Availability Zone 组成,大部分的 Region 至少三个 AZ。可用区(A6 L % % Evailability Zones)实质上是 AWS 的物理数据中心。我们在 VPC 中创建的计算资源、存储资源、网络资源和数据库资源都是托管在AWS 的物理数据中心。

每个 AZ 至少会有一个位于同一区域内的j h f j E 9 j D `其他 AZ,通常是一个城市,他们之间由高弹性和极低延迟的专用q R | 9 S k =光纤连接相连。但是,每个 AZ 将使用单独的电源和网络连接,这使得 AZ 之间相互隔离,以便在单个 AZ 发生故障时最大限度地减少对其他 AZ 的影响。

很多AWS的服务利用 AZ 之间低延迟连接来复制数据以达到高可用性和弹性。下面展示了一个 Region 的网络架构,以及 AZ 之间是如何互联互通的。

每个 Region 有两个 Transit Center,每个 Trap . ? [ Z )nss x . + B H ! Yit Center 和下面的t ] { ; Z每个 Datacenter 都有网络互联,4 F ^同样 Datacenter 之: | L s V ) @ w u间也有网络互联,这样可以确保 AWS 网络的4 ~ K O u S $ H可用性,部分网络基础设施故障也不会影响整- H T # V 9个 Region 的可用性。

【AWS征文】揭秘 AWS 底层网络是如何构成的

数据中心构造

前面] ) f =我们说到 AWS 采用蜂窝式的网络架构,下面是一张架构图,在 RegioU ^ y xn 里面、Global backq L _ ;bo^ R ; D z b 7ne 网络里面h U &以及l , / r在 Edy ; h m & F 5ge Pop 里/ } g 7 ^ } _面都会使用这样一套架构。

【AWS征文】揭秘 AWS 底层网络是如何构成的

在图中间都是一个个小的模块,每个模块都有不同的一些功能,如 Access Cell 主要做主机的网络接入,Core Edge Cell 联通着 Transit Centers,进而把网络流量送进 AWS backbone。

每个 Cell 都肩负着不同的功能,Cell 和 Cell 之间都进互联,在每一层,都可以通过平扩展 Cell 来扩展整个网络的承载量,达到5 m g . ~ O w一个可伸展的网络。

每个 Cell 是一个单核路由器,这样有什么好处呢,端口| z % ? q { | E比较少,可以控制故障域,转发架构更简单。

Ay ~ oWS Global Backbone

来到 AWi ( wS 骨干7 W ] a 7 9网,有众多的 AWSe , = l + g 服务穿越其中,如 AWS Direct Connect、互联网连接g Q S、区域到区域传播和 Amazon CloudFront 到 AWS 服务的= 9 v 2 S $ K q连接。下图是目前 AWS 的全球骨干网,其中每一条白线都是一条 AWS 的海^ : Y 2 x 8 x底光缆,整个网络的规模比较大,承载所有 Region 的网络负载。

【AWS征文】揭秘 AWS 底层网络是如何构成的

为什么建造骨9 p X干网络

那么是什么原因让) 2 / U ] / , ^ [ AWS 花费巨资F M Q / Q ^ L建造自己的骨干网络,而不直接租用运营商的网络呢?AWS 从以下几点出发考虑:

安全性

只有自己造的网络,才可以保证网络的安全,租用别人的网络,即便是进行加密,也无法达到 AWS 要求的安全性 z J ` r A s要求。

可靠性

可以控制用户通信经过的具体路径,随时对网络进行监{ 2 ? {控调度,出现网络故障,中心控制台会及时把用户的流量调度到最优的网络路径上面,保证M / 1 ^ S o网络的I 1 L E q ! 5实时可靠。

可用性

可以自主控制扩展和冗余,通信在 Amazo2 t ] Cne v ( 自主控制的基础架构上运行。

与用户联系更密切

避免互联网 “热点” 或者次油外部连接。在用户连接 AWS 的服务的时候,! u y N t .可能各种原因遇到网络阻塞,特定的时候可以对网络流量导流。

全球骨干网构造

和 Region 相H T d J F ; e 5似,全球骨干网也是采用了蜂窝式的一个网络架构,中间是大量的光纤连接,外层是负责一些网络功能的 Ce) t . gll。

Transit Center Cell 用来连接B ( ( w _ R Regi% m v 1 M . [on 内部的0 j !数据中心,Edge Pop Cell 用来连接 PoP 节点,BackH c [bone Cell 用来连接远端的 PoP 节点进而连接到远端 Region 的数r } F据中心。

【AWS征文】揭秘 AWS 底层网络是如何构成的

A$ 8 zWS Edge PoP

AWS Ed? [ & x G T w X Uge PoP 是部署在全球主要城市和人口稠密地区S e x L的AWS站点。 它们远远超过可用区域的数量。

AWS Edge PoP 对外就是连接的一张5 w B 1 J - / 张 ISP 的网r = A = j络。运营商接入 AWS 的骨干网络又两个地方,一个是刚说的 Edge PoPs,还有就是 AWS 区域的网络中转中心(TX 0 % I x - F e rransit Centers)

Edge PoP 很大的一个作用就是对外扩充 AWS 的网络,同一个 EdgK i Y m 5e PoP 可以和运营商进行多次互联,获得至外网网络最优的互联。

虽然 Edge PoPK | a # E _ 不用于部署您的主要基础架构,如 EC2 实例,EBS 存储,VPC 或 RDS 资源W p 0,但有些 AWS 服务(如 AWS CloudFront 和 AWS Lambda@Edge)会使用它们来缓存数据,通过将 Edge PoP 用作 CDN 来减少最终用户访问的延迟。

边缘站点构造

同样的,边缘站点也是采用了蜂窝式的架构,Backbone Cell 连接 AW, - b 7 P a L ~ WS 骨干网络,EXTernal internet Cell 连接外部的 Internet 网络,同时还包括一些 AWS Edge 服务网的一些 Cell,如连接 CloudFront、Route 53、Direct ConO w Dnect 和 AWS Shield,这些服务都存在于 AWS Edge PoPs 中。

【AWS征文】揭秘 AWS 底层网络是如何构成的

总结

可以看到 AWS 在网络的各部分都采用了蜂窝式的架构,让这个网络的扩展性大大提升。并且通过采用主动式数据信道监控,从 AWS 服务日志采集互联网性能数据,以及互联网流量工程管理来达到互联网边缘的监控与自我修复。