When it comes to Amazon Web Services, there are two concepts that are extremely important and spanning across all the services, and that you simply can’t help but be aware of: Regions and Availability Zones. Both of them associate with most of the AWS stuff, and mastering them is crucial to get the best out of them. Nevertheless, many users underrate their importance, or even completely ignore the concepts at the base of it. In this post, I’ll try to give you the simplest explanation ever of what are Regions and Availability Zones, and everything you should know to use them at your advantage.

First things first: Regions

Amazon EC2 is hosted in multiple locations all over the world.

It’s quite straightforward that resources geographically close to the client are served faster, so you can immediately get the rationale of creating so many regions all over the world: getting resources closer to who asks them. Right now, AWS has about 10 regions available, three of them in US and the others spread over Europe, Asia, Pacific and South America, but stay assured that more of them will be opened in the future.

For many of the AWS services, you will be asked in which region you want to deploy your resources. For example, if you launch an EC2 instance, you will be asked in which region to host it. Each region is totally isolated from the others, and they can talk only via the Internet. Actually, Regions are so isolated that when you view your resources, you’ll only see the resources tied to the region you’ve specified: AWS doesn’t replicate resources across regions automatically.

Splitting Regions in parts: Availability Zones

An Availability Zone is an isolated location inside a region. Each region is made up by several Availability Zones. Each Availability Zones belong to a single region. Also, each AZ (as AWS expert commonly call Availability Zones) is isolated, but the AZs in a region are connected through low-latency links. This picture from the AWS documentation probably explains the whole concept better than a thousand words:

So, we have 3 different scopes here: the whole AWS, Regions and AZ. According to the AWS service, and specifically for EC2, each resource can belong to one of them. For example, IAM is  global, AMIs are regional, instances belong to AZs, and so on.

Taking advantage of the Availability Zones

There are several reasons why a good strategy with regard to AZs might came in handy in several different situations. Just to cite some of the most common use case, if you distribute your instances across multiple Availability Zones and one instance fails, you can design your application so that an instance in another Availability Zone can handle requests. A sort of emergency load balancer without using an actual load balancer.

Also, you can mix it with Elastic IP addresses to mask the failure of an instance in one Availability Zone: enough you remap the address to an instance in another Availability Zone. Not the best strategy in the long term, but enough quick-and-dirty to make your day in certain situations. Beware though: Amazon maps AZs independently for each account, so your us-east-1a might not be the same location as someone else’s us-east-1a, and you will never know what the actual mapping is.

One last bit of complexity: endpoints

There is one more concept around, and one that I have seen lot of people getting lost about: endpoints. Long story short: there are several ways to access a service, a region and/or an availability zones, and they are called endpoints. In other words, they are URLs acting as entry point for a web service. Again, they aim to reduce even further the latency of your applications. Not all the AWS services support endpoints though. As I told you already, IAM is a typical example of a global service, and it’s only endpoint is https://iam.amazonaws.com.

On the other end, stuff like DynamoDB might be accessed through URLs like https://dynamodb.eu-west-1.amazonaws.com. Not a totally new concept, then, neither yet another partition of the AWS resources: endpoints are just the door entrance to global, regional and AZ-related resources in the AWS world. Just as simple as that.

转自:http://cloudacademy.com/blog/aws-regions-and-availability-zones-the-simplest-explanation-you-will-ever-find-around/

[REP]AWS Regions and Availability Zones: the simplest explanation you will ever find around的更多相关文章

  1. Openstack关于Regions和Availability Zones

    在AWS中有Region和Availability Zones的概念,并且在openstack中也实现了两者,只是不太容易看出来. 此文主要介绍他们的概念和关系,以及在openstack中的实现. 如 ...

  2. openstack的Host Aggregates和Availability Zones

    1.关系 Availability Zones 通常是对 computes 节点上的资源在小的区域内进行逻辑上的分组和隔离.例如在同一个数据中心,我们可以将 Availability Zones 规划 ...

  3. 【原创】导出aws ec2为csv

    1.安装 pip  install boto3 csv 2.使用脚本更新秘钥和地区 # 导出aws ec2列表为cvs import boto3 import csv   ec2 = boto3.cl ...

  4. nova availability zone

    find a bug: at first there is only one zone. create aggregate host1 in zone1 create aggregate host1 ...

  5. AWS--EC2基本概念

    原文:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html EC2:Elastic Compute Cloud 特性包括: ...

  6. aws 试题

    /* Domain 1 Design Resilient Architectures 1. Which of the following statements regarding S3 storage ...

  7. AWS Cloud Practioner 官方课程笔记 - Part 1

    课程笔记: 1. 3种访问AWS服务的方式: GUI, CLI, SDK 前两种是用户用来访问的,SDK可以让程序调用去访问服务. 2. core services 以及通用的use cases Am ...

  8. ansible+packer+terraform在aws上布署web服务器

    各工具所扮演的角色 ansible: 配合packer生成安装有apache的基础镜像 packer: 生成amazon AMI terraform: 以packer生成的镜像为基础,布署web服务器 ...

  9. AWS 错误标记3

    1. What is the average queue length recommended by AWS to achieve a lower latency for the 200 PIOPS ...

随机推荐

  1. 使用burpsuite抓android包

    1.让Android手机和PC连入同一个网段的wifi,即在同一个无线局域网环境下. 2. 查看PC的IP地址,cmd输入ipconfig命令 3.打开Burpsuite,设置Proxy Listen ...

  2. GPU 加速NLP任务(Theano+CUDA)

    之前学习了CNN的相关知识,提到Yoon Kim(2014)的论文,利用CNN进行文本分类,虽然该CNN网络结构简单效果可观,但论文没有给出具体训练时间,这便值得进一步探讨. Yoon Kim代码:h ...

  3. 浅谈GPU

    Programmable Graphics Processing Unit(GPU),可编程图形处理单元,可编程图形硬件. 98年NVIDIA的modern GPU研发成功,使用晶体管(transis ...

  4. java的覆盖重写隐藏和C#中的不同

    先看下C#中的: C#中覆盖 隐藏 重写这三种有不同的意义,而Java中不同. 1. java中没有new ,使用new会报错,编译不通过. 2. java中重写和覆盖应该是一个意思 static c ...

  5. jQuery插件开发的两种方法及$.fn.extend的详解

    jQuery插件开发分为两种: 1 类级别 类级别你可以理解为拓展jquery类,最明显的例子是$.ajax(...),相当于静态方法. 开发扩展其方法时使用$.extend方法,即jQuery.ex ...

  6. Android Studio使用教程-菜单(Edit)

    3.2.1.Undo(Ctrl+Z) 撤销上一次操作 3.2.2.Redo(Ctrl+Shift+Z) 退出撤销操作 3.2.3.Cut(Ctrl+X) 剪切 3.2.4.Copy(Ctrl+C) 复 ...

  7. 安装系统时出现“windows无法安装到这个磁盘。选中的的磁盘采用GPT分区形式”

    安装系统到提示你不能安装在那个磁盘的一步,然后按住shift+F10呼出diskpart命令符,然后依次输入 diskpart list disk select disk 0 clean conver ...

  8. 树莓派(Raspberry Pi)日期时间不准的修正方法

    在树莓派上,打date命令可以看到系统的日期时间: 后面的CST表示中国标准时间 小知识: 树莓派没有电池,断电后无法保存时间. 树莓派默认安装了NTP(Network Time Protocol)服 ...

  9. python logging模块

    1.logging模块提供了四个组件logger:日志类,有两个功能1)配置日志的等级,处理器handler,过滤器filterlogger.setLevel(logging.INFO)logger. ...

  10. 从网易与淘宝的font-size思考前端设计稿与工作流 (转)

    从网易与淘宝的font-size思考前端设计稿与工作流   阅读目录 1. 问题的引出 2. 简单问题简单解决 3. 网易的做法 4. 淘宝的做法 5. 比较网易与淘宝的做法 6. 如何与设计协作 7 ...