EC2のAvailability ZoneはアカウントID毎にマップが違うようだ

って、今更な話のようですが。

Amazon EC2を頻繁に使っていると、たまに以下のような「キャパオーバーだから、他所のZoneを使ってね」的なメッセージが出ると思います。


We currently do not have sufficient m1.small capacity in the Availability Zone you requested (ap-southeast-1a). Our system will be working on provisioning additional capacity. You can currently get m1.small capacity by not specifying an Availability Zone in your request or choosing ap-southeast-1b.

経験上、特に"us-east"でよく見かける気がします。"us-east-1aは一杯で、ちょっくらキャパを上げるようにするから、それまではAZを指定しないか、1bか1dあたりを使ってよ"とかとか。
あ、話がそれた。


で、上記のメッセージ例は、"ap-southeast-1a"でm1.smallのインスタンスが起動できなかった時のものですが、このタイミングで、別のAWSアカウントを使って、"ap-southeast-1a"でm1.smallのインスタンスを起動すると、すんなり起動するではありませんか。

で、逆に、別アカウントでは、このタイミングで"ap-southeast-1b"のインスタンスを起動しようとすると、同様のキャパオーバーを示すメッセージが出ました。


つまり、
Availability ZoneはアカウントID毎にマップが違う
らしい。

よくある(?)会話

どーりで、以下のようなEC2ユーザ同士の会話が成立しないわけです。


Aさん:「最近、停電があったらしくて、うちのEC2インスタンスが3台ほど落ちちゃってさー。」
Bさん:「あー、おたくもやられました?"us-east-1d"でしょ?」
Aさん:「あれ?うちは、"us-east-1b"でしたよ。」
Bさん:「え、そうなんですか〜。そんなに広域だったんですかね・・・。」


んなわけないですよねw余程のことがない限りは。

確認方法

via. Matching EC2 Availability Zones Across AWS Accounts - Alestic.com

細かく見分ける方法は、多くの場合不要だと思いますがw、せっかくなので、上記エントリでの紹介を引用します。

To demonstrate this I’ve arbitrarily chosen the reserved instance offerings for m1.small, one year, Linux.

To list the mappings for a single account, you can use a command like:

ec2-describe-regions | cut -f2 | while read region; do 
  ec2-describe-reserved-instances-offerings --region $region | 
    perl -ne 'print "$2 $1\n" if 
      m%\S+\t(\S+)\t(\S+)\tm1.small\t1y.\t.*\tLinux%'; 
done | sort

Examples

Here are the mappings for one of my accounts (let’s call it “Blue”):

eu-west-1a 649fd0c8-75d4-4e16-88c7-1ddb83f66062
eu-west-1b 438012d3-0440-480a-9f5c-eb7e55dd5a37
us-east-1a 4b2293b4-1e6c-4eb3-ab74-4493c0e57987
us-east-1b 60dcfab3-a56c-4092-8c90-3677e9da02b7
us-east-1c c48ab04c-c057-457e-a4d8-a0f172f4db2d
us-east-1d c48ab04c-7e96-4ea8-9579-d62194490546

Here are the mappings for a different account (let’s call it “Red”):

eu-west-1a 438012d3-0440-480a-9f5c-eb7e55dd5a37
eu-west-1b 649fd0c8-75d4-4e16-88c7-1ddb83f66062
us-east-1a c48ab04c-c057-457e-a4d8-a0f172f4db2d
us-east-1b 4b2293b4-1e6c-4eb3-ab74-4493c0e57987
us-east-1c 60dcfab3-a56c-4092-8c90-3677e9da02b7
us-east-1d c48ab04c-7e96-4ea8-9579-d62194490546

From this, I theorize that availability zone us-east-1a in account Blue is the same as availability zone us-east-1b in account Red, but availability zones us-east-1d happen to be the same in both accounts.

Matching EC2 Availability Zones Across AWS Accounts - Alestic.com




まとめ


クラウドAMAZON EC2/S3のすべて (ITpro BOOKs)

クラウドAMAZON EC2/S3のすべて (ITpro BOOKs)