米東海岸で発生したAmazon S3の大規模障害、原因はタイプミス
2017年3月4日 21:25
米国の東海岸で2月28日朝(日本時間3月1日未明)にAmazon Simple Storage Service(S3)の数時間にわたる大規模な障害が発生し、多くのWebサイトやサービスが影響を受けたのだが、原因はエンジニアのタイプミスだったそうだ(Amazon Web Servicesの発表、The Vergeの記事、The Guardianの記事、The Registerの記事)。 当時、課金システムのデバッグを行っていたAmazon S3チームは、課金システムで使用するサブシステムの少数のサーバーを削除しようとコマンドを入力したのだという。しかし、タイプミスにより、意図していたよりも広い範囲のサーバーが削除されることになる。意図せず削除されたサーバーはインデックスサブシステムとストレージ割り当てのサブシステムが使用するもので、相当量の容量が削除されたことで各サブシステムの完全な再起動が必要になったとのこと。 S3のサブシステムはこのような状況でも顧客に大きな影響がないよう設計されているが、これらのサブシステムは何年にもわたって完全再起動したことがなかったそうだ。また、S3はこの数年で規模が大幅に拡大しており、再起動時の整合性チェックなどにも想定以上の長い時間を要したという。 同様の問題が今後は発生しないよう、Amazonでは削除に使用するツールを改良して削除速度を低下させ、必要最低限の容量を下回る削除処理が実行できないように対策したとのこと。また、重要なサブシステムの復旧を迅速化するため、S3ではサービスをセルと呼ばれる小さなパーティションに分割して格納しており、規模の拡大に伴ってセルの縮小を進めてきたという。しかし、今回のトラブルでは想定以上の復旧時間を要したため、今後インデックスサブシステムのさらなるパーティショニングを進めるとのことだ。