Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
List of AWS availability zones for each AWS region
AWS region code AWS region name Number of AZs AZ names
us-east-1 Virginia 4 us-east-1a, us-east-1b, us-east-1c, us-east-1e
us-west-1 N. California 2 us-west-1a, us-west-1b
us-west-2 Oregon 3 us-west-2a, us-west-2b, us-west-2c
eu-west-1 Ireland 3 eu-west-1a, eu-west-1b, eu-west-1c
eu-central-1 Frankfurt 2 eu-central-1a, eu-central-1b
ap-southeast-1 Singapore 2 ap-southeast-1a, ap-southeast-1b
ap-southeast-2 Sydney 2 ap-southeast-2a, ap-southeast-2b, ap-southeast-2c
ap-northeast-1 Tokyo 2 ap-northeast-1a, ap-northeast-1c
sa-east-1 Sao Paulo 3 sa-east-1a, sa-east-1b, sa-east-1c

NOTE: This data pertains to the AWS EC2 service, other AWS services (e.g. RDS, S3, ...) may differ
Information correct as of 23rd October 2015

@neilstuartcraig

This comment has been minimized.

Copy link
Owner Author

neilstuartcraig commented Oct 23, 2015

If you see errors or have extra updates, please let me know via a comment

@macropin

This comment has been minimized.

Copy link

macropin commented Feb 12, 2016

There is a now ap-southeast-2c

@d3netxer

This comment has been minimized.

Copy link

d3netxer commented Feb 25, 2016

what are AWS availability zones?

@matthewcarlisle

This comment has been minimized.

Copy link

matthewcarlisle commented May 12, 2016

"What are AWS availability zones?"

This website explains it nicely:

http://lmgtfy.com/?q=what+are+AWS+availability+zones%3F

@ZodmanPerth

This comment has been minimized.

Copy link

ZodmanPerth commented Jun 8, 2016

Your "Number of AZs" for Sydney should be 3 now that you've added ap-southeast-2c.

@nicksantamaria

This comment has been minimized.

Copy link

nicksantamaria commented Jul 21, 2016

The list is currently out of date.

The following regions are missing:

  • Mumbai
  • Seoul
  • Beijing
  • GovCloud

The following new AZs are missing:

  • us-east-1d
  • us-west-1c
@jsonmaur

This comment has been minimized.

Copy link

jsonmaur commented Oct 4, 2016

An updated list as of October 2016 can be found here: https://github.com/jsonmaur/aws-regions

@seigel

This comment has been minimized.

Copy link

seigel commented Oct 20, 2016

New ohio zone I think yesterday

@Shinmuscle

This comment has been minimized.

Copy link

Shinmuscle commented Jan 12, 2017

Does anybody know how to get in contact with a datacentre of this list?

@bconklin

This comment has been minimized.

Copy link

bconklin commented Feb 7, 2017

When will the Canada Region and AZs be added?

@altalleh

This comment has been minimized.

Copy link

altalleh commented Feb 15, 2017

This is outdated as for example there are 5 AZs in us-east-1

@sprutner

This comment has been minimized.

Copy link

sprutner commented Feb 22, 2017

us-east-1 has 5 AZs, ["us-east-1a", "us-east-1b", "us-east-1c", "us-east-1d", "us-east-1e"]

@AladinZaier

This comment has been minimized.

Copy link

AladinZaier commented Mar 17, 2017

us-east-1
US East (N. Virginia)
us-east-2
US East (Ohio)
us-west-1
US West (N. California)
us-west-2
US West (Oregon)
ca-central-1
Canada (Central)
eu-west-1
EU (Ireland)
eu-central-1
EU (Frankfurt)
eu-west-2
EU (London)
ap-northeast-1
Asia Pacific (Tokyo)
ap-northeast-2
Asia Pacific (Seoul)
ap-southeast-1
Asia Pacific (Singapore)
ap-southeast-2
Asia Pacific (Sydney)
ap-south-1
Asia Pacific (Mumbai)
sa-east-1
South America (São Paulo)

@johng-sc

This comment has been minimized.

Copy link

johng-sc commented Apr 12, 2017

Full List as of April 2017;

North Virginia
us-east-1a
us-east-1b
us-east-1c
us-east-1d
us-east-1e

Ohio
us-east-2a
us-east-2b
us-east-2c

North Carolina
us-west-1b
us-west-1c

Oregon
us-west-2a
us-west-2b
us-west-2c

Canada
ca-central-1a
ca-central-1b

Ireland
eu-west-1a
eu-west-1b
eu-west-1c

Frankfurt
eu-central-1a
eu-central-1b

London
eu-west-2a
eu-west-2b

Singapore
ap-southeast-1a
ap-southeast-1b

Sydney
ap-southeast-2a
ap-southeast-2b
ap-southeast-2c

Seoul
ap-northeast-2a
ap-northeast-2c

Tokyo
ap-northeast-1a
ap-northeast-1c

Mumbai
ap-south-1a
ap-south-1b

Sao Paulo
sa-east-1a
sa-east-1b
sa-east-1c

@haneefarkin

This comment has been minimized.

Copy link

haneefarkin commented Apr 25, 2017

us west is north California

@ralph-tice

This comment has been minimized.

Copy link

ralph-tice commented May 24, 2017

These aren't accurate because AZs are masked/scrambled across accounts. See https://alestic.com/2009/07/ec2-availability-zones/ for a detailed writeup.

@mvanbaak

This comment has been minimized.

Copy link

mvanbaak commented Jun 19, 2017

eu-central-1c is missing

@odupuy

This comment has been minimized.

Copy link

odupuy commented Jun 29, 2017

There is now us-east-1f created between the 23rd of June and today 29th.

@samber

This comment has been minimized.

Copy link

samber commented Jul 10, 2017

eu-central-1c

@jimisan

This comment has been minimized.

Copy link

jimisan commented Jul 17, 2017

it helps.

@fabianmeier

This comment has been minimized.

Copy link

fabianmeier commented Jul 26, 2017

The number for Sydney says 2 AZs but there are three listed: ap-southeast-2a, ap-southeast-2b, ap-southeast-2c

@beeradmoore

This comment has been minimized.

Copy link

beeradmoore commented Nov 1, 2017

From the API (Querying describeRegions followed by multiple calls to describeAvailabilityZone)

ap-northeast-1: Asia Pacific (Tokyo)

  • ap-northeast-1a
  • ap-northeast-1c

ap-northeast-2: Asia Pacific (Seoul)

  • ap-northeast-2a
  • ap-northeast-2c

ap-south-1: Asia Pacific (Mumbai)

  • ap-south-1a
  • ap-south-1b

ap-southeast-1: Asia Pacific (Singapore)

  • ap-southeast-1a
  • ap-southeast-1b

ap-southeast-2: Asia Pacific (Sydney)

  • ap-southeast-2a
  • ap-southeast-2b
  • ap-southeast-2c

ca-central-1: Canada (Central)

  • ca-central-1a
  • ca-central-1b

eu-central-1: EU (Frankfurt)

  • eu-central-1a
  • eu-central-1b
  • eu-central-1c

eu-west-1: EU (Ireland)

  • eu-west-1a
  • eu-west-1b
  • eu-west-1c

eu-west-2: EU (London)

  • eu-west-2a
  • eu-west-2b

sa-east-1: South America (São Paulo)

  • sa-east-1a
  • sa-east-1b
  • sa-east-1c

us-east-1: US East (N. Virginia)

  • us-east-1a
  • us-east-1b
  • us-east-1c
  • us-east-1d
  • us-east-1e
  • us-east-1f

us-east-2: US East (Ohio)

  • us-east-2a
  • us-east-2b
  • us-east-2c

us-west-1: US West (N. California)

  • us-west-1a
  • us-west-1c

us-west-2: US West (Oregon)

  • us-west-2a
  • us-west-2b
  • us-west-2c
@bortels

This comment has been minimized.

Copy link

bortels commented Dec 26, 2017

Generating an up-to-date list of AZs at any given time is straightforward with the aws cli (command wrapped for clarity):
$ aws ec2 describe-regions --query "Regions[].[RegionName]" --out text |
xargs -I{} aws --region {} ec2 describe-availability-zones --query "AvailabilityZones[].ZoneName" --out text
ap-south-1a ap-south-1b
eu-west-3a eu-west-3b eu-west-3c
eu-west-2a eu-west-2b
eu-west-1a eu-west-1b eu-west-1c
ap-northeast-2a ap-northeast-2c
ap-northeast-1a ap-northeast-1c
sa-east-1a sa-east-1c
ca-central-1a ca-central-1b
ap-southeast-1a ap-southeast-1b
ap-southeast-2a ap-southeast-2b ap-southeast-2c
eu-central-1a eu-central-1b eu-central-1c
us-east-1a us-east-1b us-east-1c us-east-1d us-east-1e us-east-1f
us-east-2a us-east-2b us-east-2c
us-west-1b us-west-1c
us-west-2a us-west-2b us-west-2c

@pshu

This comment has been minimized.

Copy link

pshu commented Feb 13, 2018

#!/usr/local/bin/python3
# delivers a list of all public regions and AZ in all those regions
# requires aws-cli/1.10.47 Python/2.7.10 Darwin/15.6.0 botocore/1.4.37 or better
import boto3
client = boto3.client('ec2')

regions =[]
r_count=0
az_count=0
for region in client.describe_regions()["Regions"]:
    regions.append(region['RegionName'])
regions = sorted(regions)
#print(regions)
for region in regions:
    client = boto3.client('ec2', region_name = region)
    r_count += 1
    rn = "%s %s" % (r_count, region)
    print(rn)
    for zone in client.describe_availability_zones()['AvailabilityZones']:
        if zone['State'] == 'available':
            az_count += 1
            az = "\t%s\t%s" % (az_count, zone['ZoneName'])
            print(az)
print("regions: ", r_count )
print("AZ's: ", az_count )
@giuliocalzolari

This comment has been minimized.

Copy link

giuliocalzolari commented Feb 13, 2018

1 ap-northeast-1
	1	ap-northeast-1a
	2	ap-northeast-1c
	3	ap-northeast-1d
2 ap-northeast-2
	1	ap-northeast-2a
	2	ap-northeast-2c
3 ap-south-1
	1	ap-south-1a
	2	ap-south-1b
4 ap-southeast-1
	1	ap-southeast-1a
	2	ap-southeast-1b
	3	ap-southeast-1c
5 ap-southeast-2
	1	ap-southeast-2a
	2	ap-southeast-2b
	3	ap-southeast-2c
6 ca-central-1
	1	ca-central-1a
	2	ca-central-1b
7 eu-central-1
	1	eu-central-1a
	2	eu-central-1b
	3	eu-central-1c
8 eu-west-1
	1	eu-west-1a
	2	eu-west-1b
	3	eu-west-1c
9 eu-west-2
	1	eu-west-2a
	2	eu-west-2b
	3	eu-west-2c
10 eu-west-3
	1	eu-west-3a
	2	eu-west-3b
	3	eu-west-3c
11 sa-east-1
	1	sa-east-1a
	2	sa-east-1b
	3	sa-east-1c
12 us-east-1
	1	us-east-1a
	2	us-east-1b
	3	us-east-1c
	4	us-east-1d
	5	us-east-1e
	6	us-east-1f
13 us-east-2
	1	us-east-2a
	2	us-east-2b
	3	us-east-2c
14 us-west-1
	1	us-west-1b
	2	us-west-1c
15 us-west-2
	1	us-west-2a
	2	us-west-2b
	3	us-west-2c
('regions: ', 15)
("AZ's: ", 44)
@toshovski

This comment has been minimized.

Copy link

toshovski commented Feb 13, 2018

[{ "name": "ap-south-1", "description": "Asia Pacific (Mumbai)", "az": 2 }, { "name": "eu-west-3", "description": "EU (Paris)", "az": 3 }, { "name": "eu-west-2", "description":"EU (London)", "az": 3 }, { "name": "eu-west-1", "description":"EU (Ireland)", "az": 3 }, { "name": "ap-northeast-2", "description": "Asia Pacific (Seoul)", "az": 2 }, { "name": "ap-northeast-1", "description": "Asia Pacific (Tokyo)", "az": 3 }, { "name": "sa-east-1", "description": "South America (Sao Paulo)", "az": 2 }, { "name": "ca-central-1", "description":"Canada (Central)", "az": 2 }, { "name": "ap-southeast-1", "description":"Asia Pacific (Singapore)", "az": 3 }, { "name": "ap-southeast-2", "description":"Asia Pacific (Sydney)", "az": 3 }, { "name": "eu-central-1", "description":"Frankfurt", "az": 3 }, { "name": "us-east-1", "description":"US East (N. Virginia)", "az": 6 }, { "name": "us-east-2", "description":"US East (Ohio)", "az": 3 }, { "name": "us-west-1", "description":"US West (N. California)", "az": 2 }, { "name": "us-west-2", "description":"US West (Oregon)", "az": 3 }]

@brontolinux

This comment has been minimized.

Copy link

brontolinux commented Feb 17, 2018

Directly from the source: AWS Global infrastructure

@tomelliff

This comment has been minimized.

Copy link

tomelliff commented Mar 15, 2018

https://gist.github.com/tomelliff/e477cf6fb0a217773114bf7b51a39e1f shows how to get the list of AZs and regions dynamically instead.

@paragvaidya

This comment has been minimized.

Copy link

paragvaidya commented May 3, 2018

you can find all AWS Regions & Number of Availability Zones for each region at https://aws.amazon.com/about-aws/global-infrastructure/

@TBortels

This comment has been minimized.

Copy link

TBortels commented May 24, 2018

Does anyone viewing this know of an api call to get the human-readable names (ie. "US East (N. Virginia)") along with the normal region names? The billing API sadly requires the human-readable names, not the symbolic regions.

@arjunpmm

This comment has been minimized.

Copy link

arjunpmm commented May 25, 2018

Just go to this link to see the respective region

@jensenak

This comment has been minimized.

Copy link

jensenak commented May 29, 2018

Important note: the letter designations for Availability Zones are specific to each account (AWS accounts, not IAM users/groups). This means us-east-1a in my account may point to a different datacenter than us-east-1a in another account.

This being said, if an Availability Zone is removed from a region, the two remaining regions will have different designations depending on the account that accesses them. Example: in N. California (us-west-1) I see AZs "a" and "c" because my account existed during a time when 3 AZs were available, while giuliocalzolari's comment a few comments back includes "b" and "c". New accounts will see "a" and "b".

I highly recommend using the CLI or SDKs to get a dynamic list of Availability Zones.

@enkicoma

This comment has been minimized.

Copy link

enkicoma commented Jul 15, 2018

London
eu-west-2a
eu-west-2b
eu-west-2c

I can't use in Packer v 1.2.4

@cmcconnell1

This comment has been minimized.

Copy link

cmcconnell1 commented Dec 11, 2018

I really like the python script that @pshu provided above for sure--this is great for the wholistic view. Thanks for sharing that.
JIC this is helpful to anyone else wanting a 'targeted' one-liner for this task (for shell func/libraries, etc), below is the one-liner that I use often and provide to my teams:

for region in us-west-1 us-west-2 us-east-1 us-east-2; \
do printf "\nAWS REGION: $region\n"; aws ec2 describe-availability-zones --region $region \
--query "AvailabilityZones[*].ZoneName | join(',', @)" --output text; done

You could modify to use $1, $2 (using input regions as vars) etc. or parse file/list if/as needed.
But the simple one-liner gives output like this (that of course could be modified however you want/need with sed, etc.).

AWS REGION: us-west-1
us-west-1a,us-west-1b

AWS REGION: us-west-2
us-west-2a,us-west-2b,us-west-2c

AWS REGION: us-east-1
us-east-1a,us-east-1b,us-east-1c,us-east-1d,us-east-1e,us-east-1f

AWS REGION: us-east-2
us-east-2a,us-east-2b,us-east-2c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.