AWSの停止の原因はメモリリークと, それをモニタしアラームするシステムの不具合だった

次の記事

反射性の塗料で小惑星の衝突から人類を救う–MIT院生のアイデアが国連で優勝

aws.amazon

月曜日に起きたAmazon Web Servicesのサービス停止は、Redditやそのほかのメジャーなサービスに被害が及んだが、原因はメモリリークとモニタリングシステムの不具合だった。

金曜日夜のサポート記事でAWSは、一台のデータ収集サーバを単純にリプレースしたあとに問題が生じた、と説明している。インストール後にそのサーバは、DNSのアドレスを正しく伝送せず、そのためほんの一部のサーバがメッセージをもらえなかった。それらのサーバは問題のサーバに何度もアクセスを試み、それがメモリリークを生じさせ、さらに内部のモニタリングのアラームが不具合だったため、制御不能に陥った。システムは最終的に仮想停止に追い込まれ、何百万もの顧客が痛い目に遭った。

AWSより:

月曜の朝になるとメモリロスのレートがきわめて高くなり、その影響でストレージサーバの本来十分なメモリまで消費したため、プロセスを処理する通常のリクエストに対応できなくなった。

North Virginia(バージニア州北部)リージョンに起きたその不具合が、ついに、RedditやFoursquare、Minecraft、Heroku、GitHub、imgur、Pocket、HipChat、Courseraなどなど多くのユーザサイトを中断した。

過去には、AmazonのElastic Block Storage(EBS)サーバがトラブルを露呈したことがある。今回の停止も、それとあまり違わない。メモリリークを感知したEBSサーバは、顧客のリクエストを処理する能力を失いはじめ、頓挫したボリュームの数を急速に増やした。サーバの機能低下は一挙に生じた。当時はリプレース用の正常な予備サーバが十分になかったので、システムが過負荷になったからだ。

停止が始まった午前10時は、AWSが問題の原因を発見してから5時間後だった。それから一時間後に全システムが正常復帰した。

AWSによれば、今後同様の問題が起きないために、今いくつかの対策を講じている。まず、稼働中のEBSサーバのどれにメモリリークの問題が起きても、確実にアラームするモニタリングシステムをデプロイする。また来週には、メモリリークそのものの対策工事を開始する。

AWSはここ数か月、事故による停止が多い。競争の激化によって問題が増幅され、市場はAWSのインフラストラクチャに疑念を投じ始め、AWSの勢いも以前ほどではなくなってきている。

競合という問題が影を落としている、とぼくは感じているが、でも、スタートアップに伸縮性のあるコンピューティングやネットワークやストレージを提供して、彼らに世界を舞台とする競争力をつける、というAWSが提供するサービスの独自性を、看過すべきではない。停止はあっても、今AWSが顧客に提供しているほどの高度なサービスを提供できる競合他社は、今のところ存在しない。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))