Amazonクラウド、5月に入って3回もトラブル発生。UPSの故障、分電盤のショート、ネットワーク接続エラー
Amazonクラウドの北アメリカサイトでトラブルが続いています。今月に入って3回もトラブルが発生しているのです。
今月最初のトラブルは5月4日午前2時(現地時間)。データセンターの電源関係の作業中にトラブルが発生。切り替わるはずのUPS電源がうまく働かず、データセンター内アベイラビリティゾーンの一部のラックに対して電源供給が停止しました。その後、技術者がUPSを迂回して直接電源を供給することで復旧が始まり、午前3時40分から6時35分のあいだに復旧しています。
2度目のトラブルは5月8日午前0時20分。ふたたびアベイラビリティゾーンの一部のラックに対して電源トラブルが発生。トラブルは長時間に及び、午前7時20分頃に復旧開始。原因は主分電盤の漏電とショートで、復旧前に分電盤の修理とテストをしなければならなかったため時間がかかったとのこと。また、Amazon EBSの一部のノードではデータが別ノードにレプリケーションされないまま強制終了したため、一部のデータが失われたと報告されています。データを失った顧客には個別に連絡が行き、必要に応じてデータ復旧のアシスタンスが提供されるとのこと。
上記2つのトラブルは別々のアベイラビリティゾーンで発生したため、関連性はないとのことです。
3度目のトラブルは、5月11日午後12時05分に発生、12時30分に発覚。少数のインスタンスに対してネットワーク接続に問題が発生しました。12時51分に接続が復旧。
なお、Amazonクラウドは障害の状況を「AWS Service Health Dashboard」で公開しており、上記の状況もここから参照しています。また、日本のAmazonクラウドユーザー会であるJAWS-UGでは、日本語で障害情報を交換する掲示板「障害情報」も用意しています。今回の障害に遭遇した方の書き込みもされています。
Amazonクラウドの障害には開発者の対応が必要
AmazonクラウドのようなIaaS/HaaSでは、インフラに障害があった場合でもその上で稼働しているサービス全体の可用性を確保するためには、開発者がフェイルオーバー機能をサービス内に実装する必要があります。例えば、複数のアベイラビリティゾーンでインスタンスを起動しておくなり準備しておくなどして、稼働中のインスタンスが何らかの障害で停止したとしても別のインスタンスでサービスを続行できるような機能です。
Amazonクラウドではそうした機能を実装する開発者のために、インスタンスの状況をモニタするAmazon CloudWatchと、負荷に応じてインスタンスを増減するAmazon Auto Scalingを提供し、利用を推奨しています。
IaaS/HaaSでは仮想マシンのような低レベルの資源を開発者が直接操作でき、柔軟なシステムを構築できる半面、その上で稼働するサービス全体の可用性については開発者が責任を持つことになります。逆にいえば、開発者が可用性を組み込むことでサービスの信頼性を高められる柔軟性があり、可用性に責任を持てるサービスを構築できることがIaaS/HaaSの特徴だといえます。