ap-northeast-1a は概念
アベイラビリティゾーンについて学ぶ
東京リージョンap-northeast-1
では4つの利用可能なAZ(アベイラビリティゾーン)が提供されている。
- ap-northeast-1a
- ap-northeast-1b
- ap-northeast-1c
- ap-northeast-1d
これらは実体として1つずつの独立したデータセンターを表しており、
耐障害性、安定性の確保のために物理的に分けられている。
いわゆるマルチAZ構成にして、片方のDCに隕石が直撃したときでもサービスを継続できるようにするためである。
全てのAZが使えるわけではない
アカウントで利用できるAZは以下のコマンドで確認できる。
$ aws ec2 describe-availability-zones --region ap-northeast-1 | jq -r '.AvailabilityZones[].ZoneName' ap-northeast-1a ap-northeast-1c ap-northeast-1d
1bがない。
最近作ったアカウントでは1bは利用できない。
これはすでに廃止?に向かっているAZで、
新規リソースの作成ができないようになっているらしい。
1bが利用できないアカウントでは3つのAZを使ってリソースを構築していくことになる。
ap-northeast-1a
「あるAZは独立したデータセンターを表している」と最初に書きましたが、
これに関してよく勘違いされていることがあります。
ap-northeast-1aというデータセンターはありません。
あるアカウントにおける1aと、別のアカウントにおける1aが、
同じデータセンターを指しているとは限らないということです。
以下ドキュメントからの引用です。
アベイラビリティーゾーンは、リージョンコードとそれに続く文字識別子によって表されます (us-east-1a など)。 リソースがリージョンの複数のアベイラビリティーゾーンに分散するように、 アベイラビリティーゾーンは各 AWS アカウントの名前に個別にマップされます。 たとえば、ご使用の AWS アカウントのアベイラビリティーゾーン us-east-1a は 別の AWS アカウントのアベイラビリティーゾーン us-east-1a と同じ場所にはない可能性があります。
去年8月に東京リージョンで大規模な障害があった時、
1aと1dが障害を受けたとかそんなコメントがたくさん流れましたが、
これはあくまでその人のアカウントにおける1aとか1dの話であって、
「1aだけどうちは被害受けてない...」みたいなのがあったのはそういうわけです。
ちなみに公式の声明では単一のアベイラビリティゾーン
として具体的なAZは明らかにされていませんが、パートナー等各社のレポートを見るとapne1-az4
だと思われます。
閑話休題。
AZ ID
じゃあ物理的なDCを特定するのって無理なの?というとそんなことはなくて、1aとか1c以外に一意にAZを特定できるAZ ID
というものがあります。
先ほどのAPIでZoneId
というプロパティにあたるものです。
$aws ec2 describe-availability-zones --region ap-northeast-1 | jq -r '.AvailabilityZones[] | { ZoneName, ZoneId }' { "ZoneName": "ap-northeast-1a", "ZoneId": "apne1-az4" } { "ZoneName": "ap-northeast-1c", "ZoneId": "apne1-az1" } { "ZoneName": "ap-northeast-1d", "ZoneId": "apne1-az2" }
上の例でいうと、あるDCに一意に割り振られているIDがapne1-az4
であり、このアカウントにおいて1aにマッピングされていて、1aに作成したリソースは全てそのDCに配置されるということです。
で、これって何か役に立つの?
DCが特定できないと困ることがあります。
例えばアカウント間で共有VPCを作る場合、1aが指すDCが異なっていると適切な分散が行えません。
そういう時にこのAZ ID
を使って調節を行います。
アカウント間でアベイラビリティーゾーンを調整するには、 アベイラビリティーゾーンの一意で一貫性のある識別子である AZ ID を使用する必要があります。 たとえば、use1-az1 は、us-east-1 リージョンの AZ ID で、すべての AWS アカウントで同じ場所になります。
DCの具体的な場所
基本的には非公開なのですが、WikiLeaksや協力事業会社の情報などから
ある程度の場所は推定されているようです。
xn--o9j8h1c9hb5756dt0ua226amc1a.com
以上です。