AWS是一家全球公有云提供商,因此,它必须拥有一个全球基础设施网络,以运行和管理其支持全球客户的众多不断增长的云服务。构成AWS Global Infrastructure的组件有:
- Availability Zones (AZs)
- Regions
- Edge Locations
- Regional Edge Caches
如果你正在AWS上部署服务,你需要清楚地了解每个组件,它们的链接方式以及如何在解决方案中使用它们从而获得最大的收益。
Availability Zones(可用区)
可用区(Availability Zones)实质上是AWS的物理数据中心。我们在VPC中创建的计算资源、存储资源、网络资源和数据库资源都是托管在AWS的物理数据中心。一个常见的误解是单个可用区域等于单个数据中心。 事实上,一个可用区是由多个相邻的数据中心形成的。
每个AZ至少会有一个位于同一区域内的其他AZ,通常是一个城市,他们之间由高弹性和极低延迟的专用光纤连接相连。但是,每个AZ将使用单独的电源和网络连接,这使得AZ之间相互隔离,以便在单个AZ发生故障时最大限度地减少对其他AZ的影响。
很多AWS的服务利用AZ之间低延迟连接来复制数据以达到高可用性和弹性。举个栗子,如果我们部署RDS时配置了Multi-AZ,AWS将在其主数据库和辅助数据库之间使用同步复制,并对已创建的任何只读副本使用异步复制。
通常,会有3到4个,甚至5个AZ通过低延迟链接连接在一起。多个AZ的地理分组(包括多个数据中心)被定义为AWS Region。
同一个Region中的多个AZ可用用来创建高可用和弹性的服务和应用。 通过跨多个AZ使用资源的架构,可确保在AZ遇到故障时,您的基础架构将受到最小影响或无影响。
任何人都可以在云中部署资源,但是在面对灾难时能够确保您的基础架构保持稳定,可用和弹性却是另一回事。 在一个区域中使用至少两个AZ可帮助您保持基础架构的高可用性,并始它终是建议的最佳实践。
AWS Global Infrastructure: Regions
我们现在知道,Region是一组AZ,它们在地理位置上彼此靠近。 AWS已在全球范围内部署它们,以使其全球客户群能够利用低延迟连接。 每个Region将独立于其他Region,每个Region将包含至少两个AZ。
例如,如果位于伦敦的公司为整个欧洲的客户提供服务,那么仅仅由于其客户的延迟响应时间,在悉尼Region部署服务就不是很合理。 相反,该公司将选择最适合他们及其客户群的Region,可能是伦敦,法兰克福或爱尔兰Region。
拥有Global Region可以满足与数据存储相关的法规,法律。 例如,您可能需要将所有数据保留在特定位置,例如Europe。 在这个地方具有多个Region可以使公司满足该法规、法律要求。
可能由于自然灾害的原因导致整个Region不可用,类似于如何利用Region内的多个AZ提供高可用性的服务,我们同样可以利用多个Region提供高可用性的服务。 根据您业务的需要,您可以选择是否需让你的程序和服务支持跨多个Region。
有趣的是,并非所有AWS服务都在每个Region都可用。 在构建基础架构时必须考虑这一点。 某些Service被归类为Global Services,例如AWS身份和访问管理(IAM)或Amazon CloudFront,这意味着这些服务不依赖于特定Region。但是,大多数Service都是region-specific的。
AWS Global Infrastructure: Edge Locations
Edge Locations是部署在全球主要城市和人口稠密地区的AWS站点。 它们远远超过可用区域的数量。
虽然Edge Locations不用于部署您的主要基础架构,如EC2实例,EBS存储,VPC或RDS资源(如AZ),但有些AWS服务(如AWS CloudFront和AWS Lambda@Edge)会使用它们来缓存数据,通过将Edge Locations用作CDN来减少最终用户访问的延迟。
因此,Edge Locations主要供访问和使用你的服务的终端用户使用。
例如,您可以将您的网站托管在EC2 Instance,并将静态资源存放在Singapore region内的S3 bucket上,并将此S3 bucket作为CloudFront的一个origin关联。 当用户从欧洲访问你网站的静态资源时,他们将被重定向到他们最近的Edge Locations(在欧洲),如果你的资源已经缓存在这个Edge Locations上则无需再请求位于Singapore region的S3 bucket上的静态资源,从而减少延迟。
AWS Global Infrastructure: Regional Edge Cache
2016年11月,AWS宣布了一种新型Edge Locations,称为Regional Edge Cache。 它们位于CloudFront Origin服务器和Edge Locations之间。Regional Edge Cache的缓存容量大于每个单独的Edge Location。当数据文件很少被访问的时候,各个Edge Location可以移除那些不会频繁访问的数据文件,以为访问频率高的数据文件腾出空间,但那些访问频率低的数据文件将继续保留在Regional Edge Cache中。
因此,当Edge Location请求的数据不再可用时,Edge Location可以从Regional Edge Cache而不是从Origin Server检索缓存的数据。