2017年3月4日

AWSの教訓


先月末、北ペイを中心に発生したAmazonのクラウドサービスAWS S3の障碍の原因が、信じられないことにヒューマンエラー、単純な実行コマンドの入力間違いだというAmazonの解析結果の発表。まぁ、課金システムのデバッグ中のトラブルという事で、普通よりも大きな権限がそのコマンドに負荷されていたのかもしれないけれど、それにしても何があっても実機に影響するような環境でデバッグするというのも、ちょっと考えられない。勿論、フィールドテストとか実環境でのバーンインテストみたいな事は必要だけれど、それにしてもより範囲を限定するとか、慎重になる物だと思うのだけれど。機序見る限りでは、どうやら実環境サーバーへテスト用のサブシステムを接続して、そこで検証作業が終わったところでテスト用サブシステムを解除するときに本来のシステムの一部も道連れにしてしまったよう。

また、Amazonのシステムは確か徹底した分散処理システムを独自に構築していると思ったけれど、余りにシステムが肥大化複雑化しているために、再起動に時間が掛かりトラブルの影響がさらに広がったらしい。まぁ、普通の状態なら、仮に一部に障碍や問題が発生しても、その部分だけ再起動するならリプレースするだけだから、複数のシステムが一斉に落ちた場合のリカバリーまでは思いも寄らなかったんだろうなぁ。まぁ、あれだけのシステム(って言っても見たこと無くて聞くだけだが-笑)を構築していれば、全体を完全に把握して間違いなく操作出来る人間なんて言うのもいないのかも。それこそ管理用AIを幾つも走らせて、常にモニターするとかしないといけないだろうなぁ。勿論、その名前は「タチコマ」だけど(をぃ)。

ただ、この記事が凄く示唆に富むのは、それだけシステムに精通してそれだけ常に冗長性なり信頼性を追い求めているはずのAmazonですら、単純なコマンドのご入力でここまでのトラブルが生まれるというのは、システムが巨大化して何重にも冗長化して、駄目なときにはほんの些細なコマンド一つで崩れる物だという事でしょうね。でも、だからといってさらに冗長度を増したり、コマンド実行時の制限を増やしたりしても、逆に本当に必要な時に間に合わなくなったり、パフォーマンスが落ちたりと、トレードオフも難しいでしょうね。一応今回の経験を糧にして将来のサービス改善を回答しているから、今後の対策に期待したいけれど。トラブルに遭遇した企業やユーザーはいい迷惑だっただろうけど、そうやって失敗や経験をして成長していくのは、人間もシステムも一緒ですからね。ただ、そう言う経験知の積み上げは、自分とは関係無い領域を使用してやって欲しいけれど(ほら)。

0 件のコメント:

コメントを投稿