本日、AmazonのUS-EASTのElastic Compute Cloudで大規模な機能停止が発生した。多くの有名なサイトがダウンしたか、少なくとも何らかの影響を受けている。影響を受けたサイトには、Reddit、Foursquare、Quora、Hootsuite、Heroku、Assembla、Codespacesといったサイトが含まれている。原因はバージニアのUS-EASTのデータセンターの複数のAvailability ZonesでEBS(Elastic Block Storage)ボリュームが障害を起こしたためだ。これはRelational Database Servicesでも利用されている。どうやら、ネットワークの問題が発生した後に実行した復旧のための方策がEBSコントローラに高い負荷を与えてしまったようだ。
太平洋時間午前8時54分: 早朝、あるネットワーク上のイベントによって、US-EAST-1のEBSボリュームで大規模な再ミラーリングが発生しました。この再ミラーリングでUS-EAST-1のあるAvailability Zoneが処理能力不足になりました。これによって、新しいボリュームの作成とともに、影響を受けたEBSの再ミラーや復旧の時間にも影響を受け、さらに私たちの内部のEBS用の制御プレーンにも処理が殺到して新しいEBSボリュームやEBSバックドインスタンスの作成が難しくなりました。-- Amazon AWS Dashboardより
eWeek、InformationWeek やCNNのようなニュースサイトはこの事件をいち早く取り上げた。GigaOmがEC2を利用している、同じように悪影響を受けたPaaSプロバイダ(Heroku、EngineYard、DotCloud)がどのような状況に陥っているか報じた。
本日4月21日太平洋夏時間午前1時41分、AmazonのAWSステータスページによると、"現在、US-EAST-1のEBSボリュームの遅延とエラー、EC2インスタンスへの接続の問題について調査中です"。現時点(午後1時48分)で、まだ完全な問題解決に至っていない。
さらにタイミング良く、映画ターミネータでSkyNetが攻撃を開始するのが2011年4月21日であり、また、ツイッター上では、Amazonのエンジニアに対して有用なヒントが提供されるなど、この予想外の機能停止に対してはさまざまな反応があった。
@scottmcnealyネットワークもコンピュータだと言いました。100%動作するとは言っていません。
@torrenegra: 今日はターミネータの審判の日(2011年4月21日)。 スカイネットは私たちを皆殺しようとしたようだけど、幸運なことにスカイネットはAmazon EC2で動いていた。
@Nicolethebear: Amazon EC2へ。ついたり消えたりするのは大変じゃないかい。
通常、ひとつのEC2 Region上の異なるAvailability Zoneは互いに影響を与えない。遅延を低減するよう最適化されたコネクションを使って、物理的に違うデータセンターで管理されているからだ。したがって、複数のAZを管理する仕組みはひとつ以上のゾーンを安定化するための十分なリスク管理を提供しなければならない。ゾーンの可用性の保証に対していくつかの疑問が投げかけられている。PCWorldでは、GartnerのアナリストであるDrue Reeves氏とEnomalyのCTOであり創設者であるReuven Cohen氏を招いて議論している。競合相手のクラウド事業者であるDotCloudはAmazon EC2に頼っているが、今回の機能停止についての報告と災害時復旧に関する技術的な課題を指摘している。
Netflixのエンジニアのコメントがハッカーニュースのスレッドに引用された。それによれば、Netflixがほとんど影響を受けていないのは、複数のAvailability Zoneを利用しているからだ("Netflixは3つのゾーンに配置していて、ひとつ減らすことで問題なく動いている。このほうがダウンするコストよりも安上がり。")。
backdrift.orgのKeithはダウンタイムをどのように対処するかについて単純で効果的なアドバイスをくれた。例えば、イメージのセットアップや更新のための構成管理システム(例えばpuppet)やクラウドベースのデータの同期、DNS構成情報の安全化などだ。Clay Lovelessではこの点についてさらに詳細が書かれている。
このAWSの問題について速報が知りたければ、@ylasticをフォローするのがいい。これはEric Hammond氏(Alestic)が推奨している。氏は影響を受けたサーバをオンラインへ戻す方法を説明している。
この出来事の余波として、クラウドアプリケーションの信頼性、必要な設計上の考慮、リスク管理について多くの疑問が起こるだろう。これはAmazonだけではなくVMwareのCloudFoundryやGoogle App Engineも同様だ。また、クラウドプロバイダが提供するSLAも議論の対象になるだろう。Amazon EC2は複数のAZへ配置した場合、外部からの接続のSLAは99.95%だ。EBSやRDSはSLAを持っていない。