アベイラビリティーゾーンとは

アベイラビリティーゾーン(Availability Zone:AZ)とは、1つのAWSリージョン内に存在する、物理的・論理的に完全に独立した「データセンターの集合体(1つ以上のデータセンターで構成)」のことです。 各リージョンには、最低3つ(一部の古いリージョンでは2つ)のアベイラビリティーゾーンが含まれています。 例えば、東京リージョン内には「ap-northeast-1a」「ap-northeast-1c」「ap-northeast-1d」といったAZが存在します。 それぞれのAZは、互いに十分な地理的距離(数キロ〜数十キロ)を離して配置されており、独立した自家発電設備、無停電電源装置(UPS)、冷却システム、ネットワーク回線を備えています。 これにより、万が一あるAZが洪水や停電、火災などで全損したとしても、他のAZが巻き添えにならず、システム全体の停止を回避できるように設計されています。
具体例
アベイラビリティーゾーンは、1つのエリア内に配置された「独立した防空壕」や「別棟のオフィスビル」に例えることができます。
- 同じリージョン、別の建物:東京(リージョン)の中に、完全に電源やネットワークが別系統になっている「ビルA(AZ-1a)」「ビルB(AZ-1c)」「ビルC(AZ-1d)」があるイメージです。
- 障害の局所化:もしビルAが落雷による部分停電で機能停止(障害発生)したとしても、ビルBとビルCは何の影響もなく動き続けています。私たちはあらかじめ、ビルAとビルBの両方に同じサーバーを配置してデータを同期させておく(マルチAZ構成)ことで、会社全体としての業務を1秒も止めることなく継続することができます。
もう少し詳しく
アベイラビリティーゾーン同士は、超高速で極めて遅延の少ない(数ミリ秒以下)専用のプライベート光ファイバーネットワークで相互に接続されています。 この超低遅延ネットワークにより、ユーザーは複数のデータセンターにまたがる冗長構成を、あたかも1つの巨大な仮想データセンターで運用しているかのようにシームレスに構築できます。 例えば、Webサーバーへのアクセスを「Elastic Load Balancing (ELB)」を使って複数のAZにあるEC2インスタンスに分散させたり、データベース(RDS)を別AZにあるスタンバイ機と「リアルタイム同期(同期レプリケーション)」させたりすることが容易になります。
AWSでシステムを高可用・耐障害(フォールトトレラント)に構築するためのベストプラクティスは、リソースを複数のアベイラビリティーゾーンにまたがってデプロイする「マルチAZ(Multi-AZ)」構成にすることです。 もしシングルAZ(1つのAZのみ)で運用していると、そのAZ内のデータセンターやネットワークに障害が起きた際にシステム全体がダウンしてしまいます(単一障害点:SPOF)。 AWSの主要なフルマネージドサービス(Amazon S3、DynamoDB、SQSなど)は、デフォルトでデータが複数のAZに自動的にコピー・冗長化される仕様になっており、意識せずとも極めて高い可用性が担保されています。
試験でのポイント
CLF-C02試験では、アベイラビリティーゾーン(AZ)と「リージョン」の違い、および「マルチAZ」による高可用性の実現方法が頻出します。 「高可用性や耐障害性を実現するために、リソースはどのように配置すべきか」という問題の正解は「複数のアベイラビリティーゾーンにまたがって配置する(マルチAZ)」となります。 「リージョンにまたがって配置する(マルチリージョン)」も可用性を高めますが、遅延が大きくなり同期処理が難しくなるため、一般的なシステム保護のファーストステップとしては「マルチAZ」が最適です。 また、「1つのリージョンは、地理的に分離され、独自の電源・ネットワークを持つ複数のアベイラビリティーゾーンで構成されている」というインフラの定義自体もよく問われます。
関連する用語
アベイラビリティーゾーンの上位概念である地理的区分の「リージョン」、マルチAZで冗長化したサーバーへアクセスを振り分ける「ELB」、およびシステムの障害リスクを排除する「高可用性」が重要な関連用語です。