AWS的每个区域一般由多个可用区(AZ)组成,而一个可用区一般是由多个数据中心组成。
AWS引入可用区设计主要是为了提升用户应用程序的高可用性。
因为可用区与可用区之间在设计上是相互独立的,也就是说它们会有独立的供电、独立的网络等,这样假如一个可用区出现问题时也不会影响另外的可用区。
在一个区域内,可用区与可用区之间是通过高速网络连接,从而保证有很低的延时。
通过多个可用区实现高可用性
与几乎所有其他技术基础设施提供商不同的是,每个 AWS 区域都包含多个可用区和数据中心。自 2006 年开始运行领先的云基础设施技术平台以来,我们了解到,注重其应用程序可用性和性能的客户希望能在同一区域跨多个可用区部署这些应用程序,以获得容错能力并降低延迟。可用区通过快速私密的光纤网络来互相连接,使您能够轻松构建可在可用区之间无中断地自动实现故障转移的应用程序。
借助区域之间的复制提高持续性
除了在同一区域中使用可用区跨多个数据中心复制应用程序和数据以外,您还可以选择在地理区域之间复制数据,以进一步增加冗余并增强容错能力。您可以通过私密的高速联网和公共 Internet 连接来执行上述操作,以提供一层额外的业务连续性,或提供遍及全球的低延迟访问。
满足合规性和数据驻留要求
对于以物理方式存储您的数据的区域,您保留完全的控制权和所有权,因此可以轻松满足区域合规性和数据驻留要求。
https://aws.amazon.com/cn/about-aws/global-infrastructure/
对于刚开始接触AWS的用户而言,区域(Region)和可用区(Availability Zone,AZ)这两个概念有点不好理解。初次接触时往往不知道它们跟我们日常说的数据中心是什么关系。然而区域和可用区是AWS中非常基础和重要的概念,因此我这里详细解释一下它们的一些来龙去脉。
我们知道云服务底层的物质基础是数据中心,但是一方面由于AWS目前的规模已经比较庞大,另一方面AWS需要服务全球不同地区的用户,因此AWS在全球建立了许多数据中心。那如何来组织和设计这些数据中心,从而让用户能够更为可靠的使用AWS提供的云服务,同时满足他们在法规遵循方面的要求呢?AWS巧妙的采用了区域和可用区两层设计架构,而不是直接使用数据中心概念。实际上这是一种IT系统架构中常用的抽象和解耦的方式,只不过这是在更宏观更高的层次——把AWS云服务与底层物理数据中心进行了解耦设计。
先来看一下区域(Region)概念。AWS云服务在全球不同的地方都有数据中心,比如北美、南美、欧洲和亚洲等。与此对应,根据地理位置我们把某个地区的基础设施服务集合称为一个区域。通过AWS的区域,一方面可以使得AWS云服务在地理位置上更加靠近我们的用户,另一方面使得用户可以选择不同的区域存储他们的数据以满足法规遵循方面的要求。在12月18日发布会之前全球有9个区域,包括:美东(北佛吉尼亚)、美西(俄勒冈)、美西(北加利佛尼亚)、欧洲(爱尔兰)、亚太(新加坡)、亚太(东京)、亚太(悉尼)、南美(圣保罗)和在美西服务政府的GovCloud区域。AWS中国(北京)区域将是亚马逊AWS在亚太地区的第4个区域,同时也是全球范围内的第10个区域。
总的来说,AWS的不同区域之间是相对独立的,但是它们的独立程度与区域的类别有关。根据目前10个区域的各自特点我们可以把它们分成3个不同的类别。第一类是GovCloud区域,主要是服务美国的政府机构和部分美国客户。GovCloud满足ITAR和FedRAMP等规范,具有独立的用户管理体系。用户使用GovCloud区域的AWS服务需要专门的申请和审核流程,所以这个区域跟我们中国用户关系不大。第二类是中国区域,这也是一个与其他区域独立的专门服务中国客户的区域。中国区域采用了独立的用户账户体系,也就是说用户需要在中国(北京)区域的网站上申请账户来使用这里的服务。最后一类的是目前其他8个区域。这8个区域是面向所有用户的,且共享同一个账户体系,所以用户注册AWS账户后可以使用所有这8个区域的服务。对于那些需要同时使用AWS这8个区域和AWS中国区域的用户来说,他们同时需要两个账户——一个在中国的区域使用,另一个在其他8个区域使用。
我们可以看出GovCloud区域和AWS中国区域都有自己独立的账户体系,与其他区域的服务是隔离的。对于其他8个区域,用户在不同区域存储的数据也都是相互独立的,也就是说AWS不会自动对用户数据进行跨区域的传输,这个对用户的法规遵循要求很重要。而且这8个区域的大部分AWS服务也是独立的,不过与中国区域和GovCloud区域完全独立不同的是有一些服务它们是共享的,比如它们共用一个账户体系和IAM服务,使用同一个AWS管理控制台,统一的Route53服务等。由于区域和区域之间相对独立,因此用户通过AWS管理控制台,CLI命令行和API操作AWS服务时,需要事先指定操作的对象是在哪个区域。以EC2的区域为例说明,每个区域都有自己对应的编码如下表所示:
许多AWS用户同时使用了多个区域,因此为了方便用户进行跨区域使用和部署服务,AWS目前也开始提供一些跨区域的服务,比如跨区域的EC2 AMI拷贝、跨区域的EBS快照拷贝、跨区域的RDS读拷贝等。不要需要指出的是所有这些跨区域操作都需要用户自己发起,而且这些跨区域操作只能在前面所说的8个区域之间进行。
AWS的每个区域一般由多个可用区(AZ)组成,而一个可用区一般是由多个数据中心组成。AWS引入可用区设计主要是为了提升用户应用程序的高可用性。因为可用区与可用区之间在设计上是相互独立的,也就是说它们会有独立的供电、独立的网络等,这样假如一个可用区出现问题时也不会影响另外的可用区。在一个区域内,可用区与可用区之间是通过高速网络连接,从而保证有很低的延时。AWS的区域与可用区的关系示意如下图所示:
每次当用户需要使用EC2相关资源的时候,他需要首先选择目标区域,如美东(北佛杰尼亚)us-east-1。然后在创建EC2实例的时候,用户可以选择实例所在的可用区,比如可以是us-east-1a或us-east-1b等。可用区的编码就是区域后面顺序添加不同的英文字母。为了尽可能让不同用户平均分布在不同的可用区,一个用户选择的us-east-1a与另一个用户选择的us-east-1a可能不是同一个可用区,AWS后台会根据实际资源情况进行映射,但同一个用户选择的某个可用区前后是固定的。如果用户在创建EC2实例的时候没有选择可用区,那么AWS会自动选择一个合适的可用区。AWS建议用户在设计应用架构的时候尽可能的把他们的应用分布在不同的可用区上面,从而提升他们应用的高可用性。应用和服务的多可用区的部署也是实现高服务水平协议的一个重要手段和要求。
http://dockone.io/article/831
https://yq.aliyun.com/articles/4214