AWSは世界各地にリージョンを持ち、その中にアベイラビリティゾーン(AZ)が複数あります。
AZはデータセンターに相当する概念です。
複数のAZを上手く利用すれば、データセンターの電源障害や大地震が起きた時にも別のAZが生き残っているから安心です。
各リージョンにAZが何個あるかは、
グローバルインフラストラクチャリージョンと AZに記載があります。
気になるのは、下記3リージョンです。
AZが1つ、または2つしかありません。
カナダ (中部) リージョン
EC2 アベイラビリティーゾーン: 2
中国本土 (北京) リージョン
EC2 アベイラビリティーゾーン: 2
アジアパシフィック (大阪) ローカルリージョン
EC2 アベイラビリティーゾーン: 1
AWSの説明ではよく3つのAZに分散されている図を見ます。
3つに冗長されていそうなサービス(S3、Aurora、DynamoDB)についてリージョン表をみて、サービス提供状況を確認してみたところ、意外と対応していることがわかりまいした。
これらのサービスが3つのAZに冗長されるというのは理想的な状況下では正しいと思われますが、例外もあるということでしょう。
Auroraの対応状況がばらけてますね。カナダでオーロラを見れて良かったです。
サービス | カナダ | 北京 | 大阪 |
---|---|---|---|
S3 | ✓ | ✓ | ✓ |
Aurora | ✓ | ||
DynamoDB | ✓ | ✓ | ✓ |
S3
オブジェクトはひとつの AWS リージョン内で少なくとも 3 つのアベイラビリティーゾーン (互いに離れている) にまたがった複数のデバイスに自動的に保存されます。
このように書いてありますが、実際は2つでも1つでもいけるようです。
AWS 大阪ローカルリージョンは、当初、単一のアベイラビリティゾーンのみを提供し、データセンター間をこれまで以上に地理的に離すことで、特定のアプリケーションのニーズに対応します。
AWS 大阪ローカルリージョンでは、 Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Storage Service (Amazon S3), Amazon Relational Database Service (Amazon RDS) をはじめとした各サービスがご利用いただけます。
【 AWS 新リージョン】 AWS 大阪ローカルリージョンが本日より利用可能になりました
単一のAZでもS3やるでーと言ってますね。
ただ、S3にはストレージクラスというのがあり、スタンダードを選ぶと3つに冗長されます。
カナダリージョンで試したのですが、問題なくスタンダードを選択できました。
隠されたAZがあるのか、AZ内で冗長しているのだと思いますが、興味深いところです。
Aurora
Amazon Aurora DB クラスターは、1 つの DB インスタンス (MySQL または PostgreSQL と互換) および 1 つのクラスターボリューム (3 つのアベイラビリティーゾーンにコピーされた DB クラスターのデータを単一の仮想ボリュームとして表現) で構成されます。
こちらも 「3つの」 と書いてはありますが、実際は2つのAZでも使えていますね。
DynamoDB
Availability Zones for the China Regions
・In the Beijing Region, there are two Availability Zones.
・In the Ningxia Region, there are three Availability Zones.
AWSの中国サイトで、上記の説明を発見しました。
北京リージョンではDynamoDBは2つのAZで動くと明記されています。
まとめ
AWSのサービスにおいて、3つ以上のAZは必須では無いようです。
各リージョンやサービスの特性を理解したうえで上手く利用しましょう。
渡辺 信秀(記事一覧)
2017年入社 / 地味な内容を丁寧に書きたい