システム障害! あなたはどう行動しますか?

コラムカテゴリー:

心臓に悪いタイトルで申し訳ありません。

システムに携わる方でしたら、システム障害対応に関わった
ご経験があるのではないでしょうか。
そのようなときに慌てずに対処するのは難しいもので、
普段からルールや行動原則を考えておく必要があります。

今回のコラムでは、私が考える行動原則を説明致します。

1.緊急事態を宣言する
2.役割を決め、それに徹する
3.定期共有会を開く・仮説と事実を分ける
4.対策実行は慎重に

■1.緊急事態を宣言する

あるレベル以上(※)のシステム障害が発生した場合、私はまず緊急事態を宣言します。
※例:レベル2以上の障害が発生した場合、緊急事態を宣言する
レベル1. 直ちに業務影響はない / 特定社員の業務に影響を及ぼす
レベル2. 特定部門の業務に影響を及ぼす
レベル3. 企業全体の業務に影響を及ぼす
レベル4. 一般利用者に影響を及ぼす
必要な関係者全員に伝わるよう、
その場にいない方には電話で伝えます。

緊急事態が宣言されたら、
・関係者は全員席に戻る。打合せ等は中止する
・全員、システム障害対応に専念する
・通常業務は後回しにする
・勝手に席を離れない
というルールを定めています。

システム障害が発生しても、その重要度・優先度を判断できず、
自分が加わるべきなのか、通常業務を止めて良いのか分からない
関係者もいます。
また、会議中で障害発生を知らず、
会議から戻らない関係者もいます。

システム障害は業務やサービスに重大な悪影響を及ぼす場合もあり、
1分1秒でも早く解決したいものです。
緊急事態宣言を出すことで、関係者は通常業務を脇によけ、
障害対応に専念することを明確にします。
また、メンバーの緊張感を高め、意識の共有を図ります。

■2.役割を決め、それに徹する

システム障害においては、
なかなか原因がわからず焦りが募る場合もあります。
そんなときは全員でシステムの仕様やソースを調査したくなりますが、
ちょっと待ってください。

私の失敗談をお話しします。

システム障害対応で、
あるプログラムを再実行する必要がありましたが、
そのための手順書がありませんでした。
そこで担当者に再実行手順の調査を依頼しましたがなかなか進まず、
焦ったリーダーや関係者全員が調査に加わりました。

その結果、全員が「そのまま再実行すればよい」
という結論に至りましたが、それは誤りでした。
必要な事前作業を見落としていた為、
再実行により不要な重複データを作成してしまうという、
二次障害が発生しました。

全員、自分が調べたから大丈夫という気持ちになり、
確認がおざなりで、俯瞰的・網羅的な視点が欠けていたのです。

調査を実行する人と、
第三者としての確認や判断を行う人は別であるべきでした。

普段からシステム障害発生時の役割を明文化しておき、
いざというときは最初に役割分担を確認してから
対応にあたるとよいでしょう。

■3.定期共有会を開く・仮説と事実を分ける

大きなシステム障害になると、
多くの関係者、複数のチームが対応に動きます。
電話・メール・redmine/tracのチケットなどで情報が交錯し、
同じような調査を複数の人が進めてしまったり、
方針とはずれた対策を一生懸命考えたり、
無駄な作業を進めてしまうこともあります。

それを防ぐために定期共有会を開きましょう。
障害内容にもよりますが、
30分または1時間に一度といったところでしょうか。
ホワイトボードの周りに集まり、
現在の状況や調査結果をホワイトボードに書き出し、
今後の方針や各人の役割を調整・決定します。

この際、注意したいのは仮説と事実を分けることです。
システム障害対応の現場では、
ああではないか、こうではないか、という推測が飛び交います。
調査の取っ掛かりとして仮説を立てることは重要です。
ただし、これを事実と誤認し以降の対応を進めると、
対応のやり直しや二次的なシステム障害につながってしまいます。

対応状況をホワイトボードに書き出すときは、
仮説と事実を分け、混同しないようにしましょう。

■4.対策実行は慎重に

調査や対策手順もまとまり、さて対策実行!
ちょっと待ってください。
本当にその対策を実行して大丈夫ですか?

障害対策で失敗をすると泣きっ面に蜂です。
あと一歩、急ぎたくなりますが、ここは慎重に進めましょう。
私は対策を実行に移す前に必ず判定会議を開きます。

<判定会議の確認ポイント(例)>
・どのような範囲をどのように調査したか。
・対策の内容が「確実」であることをどのように確認したか。
・リスクはあるか。リスクが顕在化した場合の対策はあるか。
・対策を実行する際のシステムへの影響はあるか
(例:サービス停止が必要)
・対策作業の手順、実施メンバー

関係者が集まり一つ一つチェックします。
時間は少々かかりますが、
二次的な障害の発生確率を下げることができます。
最後は「急がば回れ」です。

2016年12月15日 (木)

青山システムコンサルティング株式会社

山口晃司