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://blog.csdn.net/awschina/article/details/17639191

http://dockone.io/article/831

https://yq.aliyun.com/articles/4214

AWS的区域和可用区概念解释的更多相关文章

  1. 云区域(region),可用区(AZ),跨区域数据复制(Cross-region replication)与灾备(Disaster Recovery)(部分1)

    本文分两部分:部分1 和 部分2.部分1 介绍 AWS,部分2 介绍阿里云和OpenStack云. 1. AWS 1.1 AWS 地理组件概况 AWS 提供三种地理性组件: Regions:区域,即A ...

  2. Amazon RDS多区域高可用测试

    最近在AWS上面需要部署一组多区域RDS集群,AWS的多区域简单理解就是RDS一主一从分别在当地的两个机房(两个区域).所以就有了下面各方面的测试. 我们需要测试什么? Primary挂掉时,Seco ...

  3. UCloud可用区的设计理念及功能图文详解

    导读 过去的几个月内,UCloud对自身的云计算基础架构进行了全面升级,于日前宣布基础架构全面支持地域和可用区,并将可用区项目命名为Sixshot.通过这两层的设计架构来组织云服务,可以为用户提供高可 ...

  4. faster-rcnn原理及相应概念解释

    R-CNN --> FAST-RCNN --> FASTER-RCNN R-CNN: (1)输入测试图像: (2)利用selective search 算法在图像中从上到下提取2000个左 ...

  5. pageadmin CMS网站制作教程:模板概念解释

    pageadmin CMS网站建设教程:模板概念解释 1.模板页 又叫视图页面,PageAdmin后台栏目或信息中用到的模板页面的统称,格式必须是.cshtml后缀文件,前端人员制作的页面默认都是ht ...

  6. (转)使用CGLIB实现AOP功能与AOP概念解释

    http://blog.csdn.net/yerenyuan_pku/article/details/52864395 使用CGLIB实现AOP功能 在Java里面,我们要产生某个对象的代理对象,这个 ...

  7. CNN中feature map、卷积核、卷积核的个数、filter、channel的概念解释

    CNN中feature map.卷积核.卷积核的个数.filter.channel的概念解释 参考链接: https://blog.csdn.net/xys430381_1/article/detai ...

  8. Pod在多可用区worker节点上的高可用部署

    一. 需求分析 当前kubernetes集群中的worker节点可以支持添加多可用区中的ECS,这种部署方式的目的是可以让一个应用的多个pod(至少两个)能够分布在不同的可用区,起码不能分布在同一个可 ...

  9. Redis如何实现多可用区?

    在如今的业务场景下,高可用性要求越来越高,核心业务跨可用区已然成为标配.腾讯云数据库高级工程师刘家文结合腾讯云数据库的内核实战经验,给大家分享Redis是如何实现多可用区,内容包含Redis主从版.集 ...

随机推荐

  1. C语言之归并排序

    即将两个都升序(或降序)排列的数据序列合并成一个仍按原序排列的序列. 上代码: #include <stdio.h> #include <stdlib.h> #define m ...

  2. 一个简单的基于 DirectShow 的播放器 1(封装类)

    DirectShow最主要的功能就是播放视频,在这里介绍一个简单的基于DirectShow的播放器的例子,是用MFC做的,今后有机会可以基于该播放器开发更复杂的播放器软件. 注:该例子取自于<D ...

  3. Log4j.properties 配置详解

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  4. java面试题之分析(二)

    QUESTION NO:2 package com.cdu.test;  public class Test { static boolean foo(char c) { System.out.pri ...

  5. java 多线程例子

    java 多线程例子   编写具有多线程能力的程序经常会用到的方法有: run(), start(), wait(), notify(), notifyAll(), sleep(), yield(), ...

  6. 转:<mvc:annotation-driven/>的注解意义

    <mvc:annotation-driven /> 是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案.<mvc:annotation-dri ...

  7. Nginx SSL功能支持的一些资料。

    http://wiki.nginx.org/HttpSslModulehttp://zou.lu/nginx-https-ssl-module/http://www.21andy.com/blog/2 ...

  8. Linux/Windows 文件交互读取转义字符变换

  9. require、缓存

    什么是require? -Node使用CommonJS模块规范,内置require函数用于加载模块文件 -require的基本功能是>读入并执行一个javascript文件,然后返回该模块的ex ...

  10. prometheus alert rules文件格式化

    1.下载go(version>1.9,否则promtool工具不好使) https://golang.org/doc/install?download=go1.10.2.linux-amd64. ...