【仕事】システム障害が発生した際の対応の進め方について解説

エンジニア

Webサイトなどシステムを運用している際に障害が発生することは多々あります。

それの規模や内容は様々です。

  • Webサイトにアクセスできなくなった(サイト自体が見つからない)
  • Webサイトにアクセスできなくなった(サイトのエラー画面がでる)
  • 特定の画面だけ開かなくなった
  • 画像が全てNoImageとなった
  • 表示しているデータが異なるものになった

これが自分個人で扱ってるサービスもあれば、仕事にてお客様のシステムを預かっているものもあります。

ここでは障害が発生した際にどのような優先度で手順で対応を行っていけばよいかについて解説します。

内容としては以下です。

サービス影響確認と復旧作業

障害が発生した際に、まず何が起こっているかの把握をしますがその中でもサービス影響がどれだけでているかを最優先に確認します。

要するにユーザーに対して何の影響が発生しているかです。

「障害が発生しました!」

ではよくわかりません。

「xxxページのxxx画像が全て表示されておらずNoImage状態となっています。」

など、どこで何が発生して、ユーザーの見え具合としてどうなのか。を確認します。

そして連絡です。

状況を必要な箇所(顧客、上司、メンバー)に連絡しましょう。

そしてその状態を説明しましょう。

その後、何をするか。

復旧です。

できるだけ早くユーザー影響が出ない状態へ戻します。

それは恒久対応ではなくて構いません。

暫定対応として早くに復旧することを最優先として動きます。

恒久対応

永続的な対応。

発生した障害について根本的に対処して修正を行うこと。

暫定対応

根本的な対策ではなく、一時的な対策。

以降に根本対応を行わないといけないが、まずは早急の対応として実施する。

暫定対応として復旧できた後にどうするか。

次は恒久対応を実施しなければなりません。

恒久対応が完了するまでには時間がかかる場合があります。

その恒久対応が完了するまでに、再度、同様の障害が発生しないか。

(暫定対応だけでは、何か運用上フォローしておかなければならないこと)

これがあれば実施をしておきましょう。

発生原因の調査と再発防止策

システム上の対処が暫定対応まで終わった後、報告をする必要があります。

自分一人で作って運営しているサービスであれば不要ですが、顧客システムを受託している場合には必ず必要となります。

顧客は何が発生して何が行われたかがわかりません。

したがって以下のような内容を報告する必要があります。

  • 何が起こったのか。
  • どのくらい影響があったのか。
  • その障害に対してどの様に対処したのか。
  • 障害が発生したシステム的原因は何か。
  • システム的原因はどうして発生したか。
  • 今後同様の事象が発生したい為の対策何か、それをいつまでに実施可能か。

これらを取りまとめて報告をするのです。

報告に関しても早めが求められます。

顧客としては、いったい何が起こっているかわからない。

そのような状態で待たせれているのですから。

障害時の再発防止に関しての考え方は以下の記事を参考にしてください。

障害におけるナレッジの蓄積と共有

暫定対応、恒久対応、報告書作成など一通り行ってきました。

それを経て、対応したメンバーにはそれなりの経験が蓄積されているはずです。

これを今後のために利用しないのはもったいないですね。

そのメンバーのため、また他のメンバーや会社全体のためにも、この経験をしっかりと蓄積して共有することが良いです。

報告書を作っているのであれば、障害の大半の内容が書かれているかと思います。

それに付け加えて、現場での判断や状況(報告書に記載しなかった内容)、またさらにこのような対処をしておけば良かったなどの反省ポイント。それらを合わせて蓄積、共有するのがよいでしょう。

障害はマイナスな事ととらえがちですが、とても大きな経験となります

そのため、有効活用して、今後に活かせるようにしていくことが良いでしょう。

まとめ

障害が発生してどのような順序で何をしていくか。

大枠のお話をしてきました。

内容は以下でした。

  • サービス影響確認と復旧作業
  • 発生原因の調査と再発防止策
  • 障害におけるナレッジの蓄積

これらの障害における手順については、あらかじめプロジェクトごとにまとめてすぐに見れるようにしておくことが重要です。

障害が発生した場合、どうしても慌ててしまい、次何をするかが適正に判断できない場合もあります。

それを防ぐために、しっかりと何をするかを定めたフローを準備しておきましょう。

それに沿って動けば的確な対処がなされるはずです。

システム運用をする際に障害はつきものです。

ただ、それに対してどう対処を行い、それを今後にどう活かすか。

良い経験として活かせるようにしましょう。

以上です。

コメント

タイトルとURLをコピーしました