AWSを嵐が襲ったときに起きたこと―Amazonが事故の概要報告を発表

次の記事

日本版Eventbriteのイベント・プラットフォーム、PeaTiXが500 Startups、伊藤忠テクノロジーベンチャーズ他から100万ドルを調達

aws.amazon

ご承知のように、Amazon Web Services(AWS)は先週金曜日に数時間ダウンした。これがAmazonでなければ別に大したニュースではなかったに違いない。しかしAmazonだったので、NetflixやInstagramといった一般ユーザーに人気の高いサービスもダウンを余儀なくされた。

AWSは通常、ほとんど情報を発信しない。しかし今回はノース・カロライナのデータセンターを巨大な嵐が襲ったときに何が起きたのかについて長文の説明を発表した。

AWSチームによれば、嵐の影響で電力供給が不安定になったとき、ある1ヶ所のデータセンターで自家発電機の起動に問題が生じたという。これがNetflixやInstagramのダウンにつながった。US-East-1リージョンの7%のインスタンスが影響を受けたという。しかし話はそこで終わりではない。

短時間の電力供給の途絶があのような長時間のダウンを引き起こした過程に私は大いに興味を惹かれた。間違った情報が雪だるま式に広がって失敗を巨大化するのは人間界に限らない。コンピュータ・ネットワークでも同様の現象が起きるようだ。

電力供給が再開されたときにAWSのエラスティック・ロード・バランサーのソフトウェアに隠れていたバグが、大量の不必要なリクエストを発生させた。同時にAWSのユーザーも停電によって失われたEC2インスタンスを回復しようと大量のリクエストを送った。これらのリクエストは正常に作動している他のAvailability Zoneのロード・バランサーに送られた。しかし、一時にあまりに大量のリクエストが送信されたためバックログが生じた。高速道路が1車線しか通れない場合に起きるような交通渋滞が発生したわけだ。リクエストの処理待ち時間がどんどん長くなっていき、ついにNetflixその他のサービスが停止することになった。

これはAWSの独自性と深く関連している。AWSネットワークは他のプロバイダとは異なり、ネットワーク全体が単一のコンピュータとして働く。マシン同士のコミュニケーションによって息づき、形を変える1台の巨大なコンピュータなのだ。それがAWSの秘密だ。AWSを利用しなければNetflixはあのような低料金でオンデマンド・ビデオを配信をすることは不可能だっただろう。Instagramにしても普通のホスティング・サービスを利用していたらとても今のようなサービスは提供できないはずだ。.

膨大なマシンの間で常に適切に負荷を分散させるチューニング・テクノロジーがAWSをかくも特別な存在にしている。AWSはマシンを並外れた効率で動かしているので料金をあれほど安くできるのだ。この点が一般に見逃されてきたと私は思う。

AWSはダウンしたが事故報告レポートにあるように、事故から学んだことを基にさらにマシンのチューニングを進歩めている。Amazonは事故から学び、巨大なコンピュータをさらに効率的に運用させるべく対策している。

〔日本版〕 Amazonが発表した事故報告要約によれば、あるデータセンターで自家発電機が起動されてから供給電力が安定するまでに予想外の時間がかかったことが直接の原因のようだ。金曜の夜、太平洋時間7:24pmと7:54pmに電力会社からの電力が不安定になった。そこで自家発電機を起動したところ、一つのデータセンターで自家発電機の電力が安定せず、結局UPSからの電力を使いきってサーバがダウンした。8:24pmにはすべての電力が回復したが、上記記事にあるようにELBがボトルネックとなって回復処理が停滞し、一部サービスの長時間のダウンを招いたという。

[原文へ]

(翻訳:滑川海彦 Facebook Google+