• 2012年6月25日月曜日
ウズマスターの日々
ウズマスターの日々 https://blog.uzumax.org/2012/06/3.html

ぶっ飛び3

ファーストサーバぶっ飛び事件の報告が上がってきたようだ。

http://support.fsv.jp/info/nw20120625_01.html

感想としては、「やってしもうたか。(´・ω・`)」といったところだ。
僕も現場の人間だから「ああ~」と思う部分がある。

原因1:脆弱性対策のための更新プログラムの不具合
脆弱性対策のためのメンテナンスが必要となる都度、メンテナンスのための更新プログラムを作成しており、今回も更新プログラムを作成しています。そのプログラムの記述において、ファイル削除コマンドを停止させるための記述漏れと、メンテナンスの対象となるサーバー群を指定するための記述漏れが発生していました。

これ、何か「ソフトウェアにバグでもあったのかな」って思わせるようにゴニョゴニョ書いてあるけど、ようするに「コマンドの打ち間違え」だろ。
ここに書いてある「更新プログラム」って、人が手で打ち込むコマンドを前もってスタンバイしておくだけのシロモノだから「プログラム」などと呼ぶのはおこがましい。
「下準備でミスりました」ってだけなんだから、「コマンドの打ち間違え」と何ら変わらん。

まあ、実際のところ、こういうミスはあり得るんだよな。
僕も経験がある。「あっ!?」と思ったら消えちまった、みたいな。
ウェイトレスが滑って転んで客の頭にホットコーヒーをぶっかけるようなもの。
今回、ここまでの被害になっちまったのは運が悪かったとしか……。

原因2:メンテナンス時の検証手順
メンテナンスに際しては、検証環境でまず動作確認を行うという手順が定められていましたが、プログラム実行後の動作確認を行う対象は、あくまでも当該メンテナンス対象サーバー群を確認すれば足りるとされていたため、検証環境下で対象サーバー以外に影響が及んだことの確認がないまま、動作確認上は問題なしと判定され本番環境での実施が行われました。


デグレードチェックが甘かったんだな。これも仕方が無い。(´>ω<`)
「対象サーバはAサーバです」って言ってるんだから、みんなAサーバはしっかりチェックするけど、他のBサーバやCサーバはチェックしないのよ。
他の対象外サーバのチェックまでやってたら、時間がいくらあっても足りない。
「どうしてもやって欲しいなら工数を10倍払えよ」ってことになる。
と言っても、普段から値下げ合戦している業界だから、そんなコストはとても払えない。
これは仕方無い。

ただし、これって多分、「午前中に検証環境でテストして、午後に本番適用」とか、それくらいの短期間で一気にやったんだな。一週間くらい様子を見れば気づけた可能性が高かったのに。
きっと、忙しかったのだろう。
我がサービスの場合、「ステージング環境」と呼ばれる検証環境と本番の中間ステップがあって、そこで一週間様子見することになってるから、ここは安心だな。

原因3:メンテナンス仕様
システムを含むデータのバックアップは毎朝6時に取得しております。
しかしながら、脆弱性対策のためのメンテナンスはバックアップをしてあるシステムについても実施しておかないと、メンテナンス実施後にハードウェア障害が発生してバックアップに切り替えた途端に脆弱性対策が講じられていないシステムに戻ってしまうことが過去に発生し、脆弱性対策がなされていないシステムが動き続けていたという反省に立ち、脆弱性対策のメンテナンスに関しては対象サーバー群とそのサーバー群のバックアップ領域に対して同時に更新プログラムを適用するという構造に修正して実施しました。


これはバックアップじゃなくて「コールドスタンバイ」って言うんだよ。(´>ω<`)
バックアップは最初から無かったのだ。。。

まあ、バックアップは出来ないから無かったんだろう。
サーバ規模が巨大になるとバックアップするのも一苦労になる。1日でバックアッププロセスが終わらないくらい負荷も出てくるから、バックアップってのはイメージより難しいのよ。
もちろん、最初からバックアップ負荷を計算して分散設計になっていれば大丈夫だけど、それだどハードウェア等の費用が2倍、3倍になっちまう。予算が無かったんだな。

だが、稼働系と待機系を同時に消したのは痛かった。
しかし、文章を見ると「昔、稼働系だけにパッチを適応して、待機系に適応するのを忘れるという障害があったことへの対応」というのがある。
コレ見ると「あちゃ~」だな。

「問題があるから何か対応しなければいけない!⇒対応したらもっと悪くなりました」

こういうことがあるんだよ。我が社でも沢山ある。
「問題に対する攻撃的姿勢だけが強烈で、改善策を出す能力が無い」って姿勢の人がいると、社内の雰囲気が悪くなって「こんなことやっても無駄だよなぁ」「何もしない方がマシだよなぁ」と大勢の社員が思いつつも、改悪を実行。
結果グダグダ。
よくある話。



以上、僕の感想を言うと、「重過失致死」
トラック運転手が居眠り運転して小学生の列に突っ込むようなもの。
そりゃ過失は過失だけど「100%防ぐ手段を示せ!!」って言われても、う~んってところ。

原発もそうだけど、やっぱ世の中に安全神話なんて無いんだな。(´・ω・`)

0 件のコメント: