Q.どうやって冗長性を保つの?
A.設計時にAvailability Zoneを分ける

 AWSにはPart1で登場した「リージョン」のほかに、Availability Zone(アベイラビリティー ゾーン)(AZ)という概念がある。このAZが、冗長化に当たって重要な役割を果たす(図3-1)。

図3-1●リージョンとAvailability Zoneの概念を押さえる
図3-1●リージョンとAvailability Zoneの概念を押さえる
[画像のクリックで拡大表示]

 リージョンは、世界の8カ所に設けられたAWSのデータセンター群。東京近辺にある物理的に離れた2カ所以上のデータセンターは「東京リージョン」と呼ぶ。

 一方AZは、1つのリージョン内でも、物理的な設備が別々になっている領域を指す。同じリージョン内のデータセンターでも、電源、空調、ネットワーク機器という物理的な設備が全く別系統になっており、一方のAZに障害が起こっても、もう一方のAZでは問題が起こらないようになっているのだ。AZ間は専用線で接続されており、低遅延な通信ができる。

 Part2で紹介したVPCは、AZをまたがって設置できる(サブネットはAZをまたげない)。システムを構築する際には、複数のAZに渡る構成を採って冗長性を保つのが推奨設計だ。障害が起こらなくても、AWS側のメンテナンスの都合で特定のAZが動かなくなることがある。止まっては困るシステムの場合は、AZ間の冗長化は必須といえる

 例えばインターネット経由で一般ユーザーのアクセスを受け付けるWebサービスの場合、複数のAZに同じWebサービスを提供できるEC2インスタンスを複数用意しておく。AWSの負荷分散サービスも、複数のAZに渡ってトラフィックを分散できる。こうしたサービスを使うと、複数のAZのWebサービスに均等にアクセスを分散できる。

Q.障害が起こったらどうなるの?
A.冗長系のシステムを利用しつつ復旧を待つ

 上の冗長化の説明で挙げたように、AWSでは基本的に複数のAvailability Zone(AZ)に渡ってシステムを冗長化するのが推奨設計だ。ただし、1つのリージョン内で、複数のAZに渡る障害が起こる可能性はある。実際、過去に北米地域のリージョンなどで複数のAZが障害に見舞われたことがあった。

 こういった大規模な障害が起こった場合は、一般にほかのクラウドサービスに障害が起こった場合と同様、「神に祈って復旧を待つ」(複数のシステムインテグレーター)ことになる。

 ちなみに、AWSのSLAはサービスごとに異なる。当然、AWS上に構築したシステムのSLAは利用しているAWSのサービス以上にはならない。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。