第十二章 全球基础设施和可靠性

Lepiaoxue2022-10-21云计算168
AWS 利用自己的全球化基础设施实现高可用性(high availability)。将所有资源都存放在一个大型的数据中心当中并不能保证可用性。如果数据中心出现什么问题的话,比如说停电或者自然灾害,所有应用程序都会同时停止运行。用户肯定不希望这样的情况发生,用户需要的是高可用性和容错能力(high availability and fault tolerance)。
AWS 区域(Region)
AWS 在不同的地区建设数据中心可以应对灾难,我们称之为区域。
AWS 在全球各地构建与业务流量距离最近的区域,比如巴黎、东京、圣保罗、都柏林和俄亥俄州,在每个区域内,我们都设置了多个数据中心。它们可以提供运行应用程序所需的所有计算、存储和其他服务。每个区域都可以由 AWS 控制的高速光纤网络与另一个区域连接,让您真正实现全球运营。需要说明的是,AWS 中国区由光环新网运营的北京区域和由宁夏西云数据运营的宁夏区域是独立的管理分区,与全球其他区域之间不直接通过 AWS 的骨干网相连。
每个区域都与其他区域隔离。这就意味着如果没有您的明确授权,数据无法进出您所选区域中的环境,这对于确保安全性至关重要。
举例来说,政府要求您在法兰克福的财务数据不能离开德国。在这种情况下,您就可以利用 AWS 来满足要求。存储在法兰克福区域的任何数据都不会离开法兰克福区域,伦敦区域的数据不会离开伦敦,悉尼的数据不会离开悉尼,除非您在使用正确的凭证和权限明确请求将数据导出。
区域数据主权(Regional data sovereignty)是 AWS 区域的一项重要设计特征,对数据的处理必须遵循区域所在国家或地区的法律和法规。数据和应用程序都在某个区域中驻留并运行,所以您首先要确定要选择的区域。
选择区域的时候要考虑四项业务因素:
  • 第一是合规性。首先,您必须先了解合规性的要求,比如说您的数据是否必须留在英国境内。如果是的话,您就应该选择伦敦区域。如果您必须在中国境内经营业务,那么您就应该选择位于中国的某个区域。不过,大多数企业都不需要遵守这种严格的规定,如果您选择的区域不会受到合规性的要求或者法律法规要求的限制,那么您就需要考虑其他因素。

  • 第二项因素是距离,您与客户的距离是一项重要因素。因为光信号的传输速度有一个上限,如果您的大多数客户都在新加坡,那么当然您可以选择新加坡区域,当然,您也可以选择弗吉尼亚区域。如果是这样的话,您还要考虑在美国和新加坡之间发送信息需要的时间,或者说延迟(Latency)。量子计算如今有了一定的发展,但量子网络技术尚不成熟,所以始终要考虑光信号在全球范围内传输所需要的时间。靠近客户往往是正确的选择。

  • 第三项因素是功能可用性。有时候最近的区域可能无法提供您需要的所有的 AWS 功能,AWS 的一项优势在于,我们会不断地创新以满足客户的需求。在客户需求的驱动下,AWS 每年都会发布数千种新功能和新产品。但有的时候,AWS 需要建设新的实体硬件,才能确保新服务的正常运行。这意味着,有时候我们一次性只能在一个区域提供某项服务。如果您的开发人员需要使用这个服务,全新的量子计算平台 Amazon Braket,那么它就必须选择已经安装了相关硬件的区域。这项服务,以后有可能在每一个区域都推出,但如果您现在就想要使用,那么有没有这项服务就可能成为选择区域的决定性因素。

  • 第四项因素是定价。即使每个区域安装的硬件都一样在某些地方的运行成本也要高得多,比如说巴西。根据巴西的税收制度,AWS 在巴西运行完全相同的服务的成本,要远远高于许多其他国家或地区。在圣保罗运行完全相同的工作负载所需的费用可能比在美国俄勒冈州运行要高 50%。价格取决于多种因素,AWS 拥有非常透明并且精细的定价模式,我们会在后面介绍。但您要知道每个区域都有不同的价格,所以,如果预算是您的首要关注点。那么即便您的客户位于巴西,您可能还要选择在另一个国家或地区运行。

可用区(Availability Zone - AZ)
要让业务不受灾难的影响,那么它就不能只在一个地方运行。所以AWS的区域分布在不同的位置。
首先,AWS 在世界各地拥有许多数据中心,每个区域都由多个数据中心组成。
我们将每个数据中心或一组数据中心称为可用区。一个可用区指的是一个或多个分离的数据中心,配备冗余电源、网络和连接。启动 Amazon EC2 实例时,它会启动安装在可用区中的物理硬件上的虚拟机。
每个 AWS 区域都由一个地理区域内的多个在物理上分割的可用区组成。
如果您只在一个数据中心或者一个可用区中运行一个 EC2 实例,那么在发生大规模灾害时,您的应用程序就无法继续运行,无法为业务提供支持。显而易见的解决方案是运行多个 EC2 实例。重点是不要在同一个数据中心内运行这些实例,甚至不能让它们位于同一条街道上,尽量将它们分割开,除非数据传输速度达不到您在低延迟方面的要求。事实证明,光信号的传输速度让我们能够将可用区之间的距离保持在几十英里,并且仍然在可用区之间实现毫秒级的延迟。如果发生灾难,您的应用程序可以继续正常运行,因为灾难只影响了某些容量,而不是所有容量。
您可以在其余的可用区中快速启动更多容量,从而让您的业务继续运营,不发生中断。作为 AWS 的一项最佳实践,我们始终建议您至少在一个区域中的两个可用区中运行工作负载。这意味着要在两个不同的可用区中,以冗余方式部署您的基础设施。
正在区域中运行的不仅仅有 EC2,许多 AWS 服务也在区域级别运行。它们在多个可用区中同步运行,而用户不需要承担任何额外的工作。以我们之前说过的 ELB 为例,它是一种区域性服务,在所有可用区中运行并且与在某个特定可用区中运行的 EC2 实例进行通信。区域性服务本身就是高度可用的服务,用户无需承担任何额外的费用或工作。
所以在制定高可用性计划时,您应该知道区域范围内的任何服务都是高度可用的服务。
可用区是指一个区域内的单个数据中心或一组数据中心。可用区彼此相隔数十英里。这个距离足够近,可以在可用区之间实现低延迟(请求内容与接收内容之间的时间)。但是,如果区域内的某个部分发生灾难,这个距离又足够远,可以降低多个可用区受到影响的几率。


版权归乐飘雪所有!

本文链接:http://lepiaoxue.com/post/18.html

相关文章

第四章 计算

第四章 计算

服务器的作用是帮助您托管应用程序并提供满足您业务需求的计算能力,当你使用 AWS 时,这些服务器都是虚拟化的,而提供虚拟化服务器的服务,就是 EC2。与在自己的数据中心当中运行物理服务器相比,使用 E...

第五章 Amazon EC2

第五章 Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2)Amazon Elastic Compute Cloud (Amazon EC2) 可以通过 Amazon...

第六章 Amazon EC2 实例类型

第六章 Amazon EC2 实例类型

每种实例类型都归属于一个实例系列,并针对特定类型的任务进行了优化。实例类型提供了 CPU、内存、存储和网络容量的不同组合,使您能够灵活地为应用程序选择适当的资源组合。EC2 中不同的实例系列分别为通用...

第七章 Amazon EC2 定价模式

第七章 Amazon EC2 定价模式

使用 Amazon EC2 时,您只需为使用的计算时间付费。Amazon EC2 针对不同使用案例提供了多种定价选项。按需实例/On-deman按需实例非常适合不能中断的短期无规律工作负载。没有前期成...

第九章 利用 Elastic Load Balancing 引导分配流量

第九章 利用 Elastic Load Balancing 引导分配流量

这一理念同样适用于您的 AWS 环境。当您的多个 EC2 实例都运行同一个程序来达到相同的业务目标时,一个请求进来,这个请求如何知道要往哪个 EC2 实例呢?您怎样才能确保工作负载均匀地分布在各个 E...

第十章 消息和队列(Messaging & Queuing)

第十章 消息和队列(Messaging & Queuing)

一个更好的流程是将某种缓冲区或队列引入系统,收银员会将订单张贴在某种缓冲区,而不是直接交给咖啡师。这个缓冲区就像一个订单处理板。这种将消息放入缓冲区的概念称为消息收发和队列,就像我们的收银员将订单交给...