医療系システムのバックエンドを運用している現場で、「障害対応訓練のシナリオを作りたい」という相談から一緒に整備を進めたことがあります。
画面側は別のメーカー、バックエンドはクラウドで自社運用という構成でした。監視はクラウド側のアラートに加えて、連携先からの死活監視と自前のヘルスチェックも動いている。二重に見ている分、備えは十分そうに聞こえます。
ただ、訓練シナリオを書き始める前に、先に決めておくべきことがいくつか残っていました。これは特殊な話ではなく、訓練を作ろうとすると大体この順で出てきます。
訓練シナリオより先に決まっていないもの
障害が起きたとき、誰に最初に連絡するか。「指定の連絡先へ」までは決まっていても、そこから先に誰へ上げるかまでは決まっていないことが多い。シナリオを書く前に、そもそも誰がどこへ報告するのかが要ります。
続報のフォーマットも同じです。定例の報告はあっても、障害の最中にどんな内容をどのタイミングで共有するかの形式は、意外と用意されていません。形式がないと、シナリオに「連携先へ状況報告する」という手順を入れても「何を書けばいいか分からない」で止まります。
監視ツールも、入っていることと使えることは別です。ログが保存されていても、見方を知っている人がいなければ、障害の最中には開けません。
そして、対応できる管理者が複数いる場合に、そのうち誰が動くか。人数の把握はできていても、初動の担当までは決めていないことがよくあります。
フォーマットが「書きづらい」と言われた
私が続報フォーマットの叩き台を出したとき、「続報フォーマットが書きづらいかな」と返ってきました。
障害の最中に記入するフォーマットですから、書きやすさは大事です。選択肢で選べる部分と、自由記述が必要な部分を分けて、状況が一目でわかる構造にしないと、焦っているときに使えない。実際に使う場面を想像しながら何度か直しました。
フォーマットは「作った」で終わりじゃなく、書けるかどうかまで確認しないと意味がないということです。
シナリオの中身で判断が分かれた場面
訓練シナリオの案をいくつか出す中で、「アプリ側の作りに起因する障害」を題材にするかどうかで意見が分かれました。結論としては外しています。
障害対応の訓練でやりたいのは「連絡フローの確認」と「対応手順の確認」であって、原因調査のデバッグではありません。修正作業が必要になるシナリオを入れると、訓練の焦点がそちらへずれます。プラットフォーム側で起きうる事象を題材にしたほうが、訓練としては素直です。
別の案では「同じ基盤に相乗りしている他の利用者の影響で性能が落ちる」というシナリオも出ました。これには「こんなケース、あり得るの?過去あった?」と確認が入ります。そこは正直に「構成上あり得るが、実際に起きたかは推測になる」と伝えて、別の切り口(基盤側のメンテナンスや計画外の再起動)に変えました。
実際に起きうる事象かどうかを確認するのは、シナリオ作りで重要なステップです。あり得ない事象を前提にした訓練をやっても、本番で使えない。
訓練の前にやること
今回の経験を整理すると、訓練を始める前に最低限これだけは必要です。
障害時の第一報先と連絡フォーマット。誰が最初にどこへ何を伝えるか、あらかじめ決めておくこと。形式がないと、焦っているときに書けない。
役割の確認。対応できる人が少人数なら、どちらがシステムを見て、どちらが連携先とやり取りするか、初動だけでも決めておく。訓練でやることはここの確認です。
監視ツールの使い方。入っているのに使えていないなら、訓練の前に1回触っておく。アラートを見てどこを確認すればいいかを手順として持っていないと、訓練シナリオを消化できません。
シナリオは2本で十分
訓練シナリオは「アクセス過多による応答遅延」と「サービス停止」の2パターンで進めました。
応答遅延は、連携先の死活監視には引っかからないタイプです。タイムアウト内に応答は返るので落ちてはいない。でも遅い。こういうケースは利用者から「遅い」と言われて気づくことが多い。自社のアラートと利用者からの連絡、どちらで先に知るか、誰がどう動くかを確認する訓練です。
サービス停止のほうは、連携先の死活監視も止まりますから、ほぼ同時に向こうから連絡が来ます。そのときの連携フローを訓練する。
このくらいのシナリオ数から始めるのが現実的です。最初から複合障害や時間外発生を入れると、基本の確認ができないうちに訓練が崩れます。
手順書より先に「誰が何をするか」
障害対応で一番詰まるのは技術的な問題じゃないことが多いです。誰が動いていいか分からない、何を伝えればいいか決まっていない、ツールは入っているけど使ったことがない。
これらは訓練を1回やれば見えてきます。見えてから直す、でも構いません。ただ、訓練を「シナリオが良ければうまくいく」と思って準備すると、訓練中に動けない場面が出て時間が溶けます。
先に「フォーマットがあるか」「連絡先が決まっているか」「ツールを一度触ったことがあるか」だけ確認してから訓練に入る。この順序が大事だと思っています。
