メニュー

デジタル庁GCASガイド

別紙2-1. 振り返りと技術的な恒久対策の具体例

2026/02/25 公開

(1) 振り返りの実施プロセス例

本項目では、振り返りを実施する場合のプロセス例を紹介する。プロセス例は、(1)振り返り会議の準備、(2)振り返り会議の実施、(3)振り返り会議の所要時間目安、の3項目に分けて説明する。必ずしもこのプロセスとおりやる必要はないが、このプロセスを参考に各々の状況に応じてカスタマイズし活用していただきたい。

振り返り会議の準備

振り返り会議を効果的に実施するために、以下の準備を行う。

1. ファシリテーターの選定

振り返り会議を中立的な立場で進行するファシリテーターを選定する。ファシリテーターは以下の役割を担う。

  • 議論が建設的に進むよう誘導する。
  • 特定の個人への批判を防ぎ、ブレームレス文化を維持する。
  • 時間管理を行い、効率的に会議を進行する。
  • 全員が発言できる環境を作る。

ファシリテーターは、全員が率直に意見を述べられる環境を整え、客観的で中立的な振り返りを実現するために、インシデント対応チームとは独立した立場の人物が望ましい。それが難しい場合はインシデント対応の現場指揮官以外の人物が担当する。

2. 事前資料の準備

以下の資料を事前に準備し、参加者に共有することが望ましい。

  • インシデント対応時のリアルタイム共有ドキュメント(2.3参照)
  • 時系列の記録(上記資料に包含されていれば別途用意する必要はない)
  • 関連するログやメトリクス
  • システム構成図
  • 影響を受けたユーザー数やサービス停止時間などの定量データ

3. 参加者の招集

以下の関係者を招集する。

  • インシデント対応チームのメンバー(職員・事業者双方)
  • 関連するシステムの担当者
  • 必要に応じて上位管理者やステークホルダー

4. 会議の目的とルールの周知

事前に以下を参加者に周知する。

  • 会議の目的(改善のための学習であり、責任追及ではない)
  • ブレームレス文化の原則
  • 会議の流れと所要時間

振り返り会議の実施例

振り返り会議の実施例を、以下で説明する。

表1 振り返り会議(2-3時間)の実施例

ステップ目安時間やること
ステップ1:
振り返り会議の心構えの読み合わせ
5分必須ではないが振り返り会議を始めた当初など参加者が慣れてない時は、予め振り返り会議の心構えとして「非難しない文化」の遵守を文書とまとめ、会議の冒頭で読み合わせを行う。
ステップ2:
インシデント概要の共有
10-15分インシデントの概要、影響範囲、対応の結果を全員で共有し、参加者全員が同じ理解を持つことを確認する。
ステップ3:
タイムラインの確認と検証
20-30分事前に準備したタイムラインを全員で確認し、不明確な点や追加すべき事象を洗い出し、タイムラインを精緻化する。そして、「何が起こったか」の事実を確定させる。
ステップ4:
うまくいった点の共有
10-15分インシデント対応でうまくいった点、効果的だった対応を共有する。これはポジティブな側面から始めることで、建設的な雰囲気を作る効果も期待したものである。

今後も継続すべきプラクティスを明確にする例:
(a)迅速な検知により影響を最小化できた
(b)チーム間の連携がスムーズだった
(c)特定のツールや手順が有効だった
ステップ5:
改善が必要な点の特定
30-40分「何が問題だったか」を網羅的に列挙する。この段階では原因の深掘りはせず、現象の列挙に留め、次のステップでの深掘り対象を明確にすることに集中する。その時に 「人」ではなく「プロセス」「システム」「ツール」に焦点を当てることに注意する。

問題点を洗い出すときの分類枠組みの例を以下に示す。ここに示した全ての観点を確認する必要はないが、検討に漏れがないかの確認などに活用いただければと考える。

問題点の分類枠組み(現象レベル)

A) インシデント発生要因(なぜ事象が起きたか)
【システム・技術面の発生要因】
  • システムがダウンした / エラーが発生した
  • データが不整合になった / 消失した
  • パフォーマンスが劣化した / タイムアウトした
  • セキュリティが侵害された
  • 容量が不足した / リソースが枯渇した
  • 設定が誤っていた
  • バグが混入していた
  • デプロイ/変更が失敗した
【外部要因】
  • 依存サービスが停止した
  • ネットワーク障害が発生した
  • 攻撃を受けた
  • 予期しない負荷が発生した
【人的要因(現象レベル)】
*この段階では「なぜ誤操作したか」は問わない
  • 誤操作があった
  • 手順を間違えた
  • 確認を怠った


B) インシデント対応の問題(なぜ影響が拡大したか)
【検知フェーズ】
  • アラートが発報しなかった / 遅かった
  • アラートに気づかなかった / 見落とした
  • 重要度判断を誤った
  • ユーザーからの報告で初めて気づいた
【トリアージ・初動対応フェーズ】
  • 状況把握に時間がかかった
  • 影響範囲の特定が遅れた
  • 初期対応の判断を誤った
  • エスカレーション判断が遅れた
【調査・原因特定フェーズ】
  • ログが見つからなかった / 不足していた
  • 調査ツールがなかった / 使えなかった
  • 原因特定に時間がかかった
  • 再現ができなかった
【復旧フェーズ】
  • 復旧手順が不明確だった / 手順書がなかった
  • ロールバックが失敗した
  • 復旧後の確認が不十分だった
  • 想定した復旧方法が機能しなかった
【コミュニケーション】
  • 情報共有が遅れた
  • 関係者への連絡が漏れた
  • ユーザーへの通知が遅れた / 不適切だった
  • 職員と事業者の連携に問題があった
【体制・リソース】
  • 対応できる人がいなかった / 不足していた
  • 権限がなく対応できなかった
  • 必要なツールやアクセス権がなかった
ステップ6:
根本原因の特定
20-30分ステップ5で洗い出した改善点から、根本原因を特定する。表面的な原因だけでなく、より深層の組織的・構造的な原因を探る。複数の根本原因がある場合は、それぞれを明確にする。

根本原因の分析には、5 Whys(なぜを5回繰り返す)や、特性要因図、タイムライン分析なども必要に応じて活用する。
ステップ7:
改善策の立案
30-40分根本原因に対する具体的な改善策を立案する。改善策は、「人手に依存した運用改善」ではなく「技術的な恒久対策」を優先する。
各改善策については、以下を明確にする。
  • 具体的な対策内容
  • 実施責任者
  • 実施期限
  • 優先度(Critical / High / Medium / Low)
  • 期待される効果
ステップ8:
まとめとアクションアイテム決定
10分振り返りの結果と決定事項を確認し、アクションアイテムの追跡方法を確認する。検討結果をレポートとしてまとめるための作成担当と期限を決定する。
なお、このレポートは、ポストモーテムレポートと呼ばれるものである。

(2) 技術的恒久対策の例

具体的な技術的恒久対策の例を、インシデントのフェーズごとに示す。なおここで提示する技術的恒久対策の中には、本番稼働中の現行システムでの適用は難易度が高く次期システム更改などの大規模改修時の導入が現実的であるものも含まれている。

検知フェーズの技術的対策例:

課題運用回避の例(推奨しない)技術的恒久対策(推奨)
アラート疲れ(*1)オペレーターを増員して対応
  • アラートの閾値を見直しノイズを削減する
  • 機械学習を用いた異常検知の導入。
  • アラートの優先度付けと自動フィルタリング
重要な異常の見逃しチェックリストを作成し確認を徹底
  • 重要メトリクスの可視化ダッシュボード構築
  • 異常パターンの自動検知
  • SLO(Service Level Objective)ベースの監視
検知の遅れ監視頻度を上げる(手動確認)
  • リアルタイム監視の導入
  • 合成監視(Synthetic Monitoring)の実装
  • 分散トレーシングの導入

(*1) アラート疲れ防止のためのアラート通知の頻度は一般的に、通知を確認する担当者一人あたり5件/週以内が目安とされている。

トリアージ・初動対応フェーズの技術的対策例:

課題運用回避の例(推奨しない)技術的恒久対策(推奨)
手動対応の遅延オペレーターのスキル向上研修
  • 自動復旧スクリプトの実装
  • 自動スケーリングの導入
  • 運用管理の自動化(運用手順の自動化実装)
判断基準の不明確さ判断フローチャートを作成
  • インシデント重大度の自動判定ロジック
  • 事前定義されたエスカレーションポリシーの自動適用
初期復旧の失敗手順書を詳細化
  • 操作を1回でも複数回繰り返しても、最終的な結果や状態が変わらない性質である冪等性を持った復旧スクリプト
  • ロールバック機能の自動化

インシデント対応フェーズの技術的対策例:

課題運用回避の例(推奨しない)技術的恒久対策(推奨)
ログ収集の遅延ログ収集手順を詳細化
  • 集中ログ管理システムの導入
  • 構造化ログの実装
  • ログの自動アーカイブと検索機能
原因特定の困難さ調査スキル向上研修
  • メトリクスの相関分析ツール
  • Observabilityの向上(ログ、メトリクス、トレースの統合)
復旧手順の複雑さ手順書の整備
  • 自動復旧機能の実装
  • Infrastructure as Code導入による構築の自動化

システム設計・アーキテクチャレベルの技術的対策例:

課題運用回避の例(推奨しない)技術的恒久対策(推奨)
単一障害点(SPOF)手動での切り替え手順整備
  • 冗長化構成の実装
  • 自動フェイルオーバーの導入
スケーラビリティー不足サーバーやストレージのキャパシティプランニングの精緻化
  • オートスケーリングの実装
  • マイクロサービス化
  • 非同期処理の導入
データ損失リスク(手動を前提とした)バックアップ取得運用の徹底
  • 自動バックアップとリストアの仕組み
  • レプリケーションの導入
  • Point-in-Time Recovery(PITR)の実装
変更による障害変更前のレビュー強化
  • CI/CDパイプラインの整備
  • 自動テストの拡充
  • カナリアリリースやBlue-Greenデプロイメントの導入
  • Feature Flagの活用
依存サービスの障害波及依存関係の文書化と事象発生時の手動での切り離し運用
  • サーキットブレーカーパターンの実装
  • タイムアウト設定の最適化
  • フォールバック機構の実装
  • 障害影響を局所化するバルクヘッドパターン(Bulkhead Pattern)設計の適用

技術的恒久対策の実装における考慮事項

技術的恒久対策を実装する際は、技術論に傾倒するのでなく、コスト、本番影響、開発/保守チームのスキルとのマッチングなども含め、対策方針を総合的に評価し採用することが肝要である。具体的な考慮事項を以下に示す。

  1. コストと効果のバランス
    1. 全ての対策を一度に実装することは現実的ではない。
    2. 投資対効果(ROI)を考慮し、優先度を付ける。
    3. 影響度と発生頻度で評価し対策の要否や優先順位を決める。
  2. 段階的な実装
    1. 一度に全てを変更せず、段階的に実装する。
    2. 各段階で効果を検証し、次のステップを判断する。
    3. 小さな成功体験を積み重ねることで、組織の理解と協力を得る。
  3. 既存システムへの影響
    1. 対策の実装が新たな問題を引き起こさないよう慎重に設計する。
    2. 十分なテストを実施する。
    3. ロールバック計画を用意する。
  4. 保守性の確保
    1. 実装した対策が将来の負債にならないよう、保守しやすい設計を心掛ける。
    2. ドキュメントを整備する。
    3. 技術選定は慎重に行う。
  5. 組織のスキルとのマッチング
    1. 導入する技術が組織のスキルレベルと合致しているか確認する。
    2. 必要に応じて教育・研修を実施する。
    3. 外部の専門家の支援を検討する。
  6. 契約・予算制約への対応
    1. 年度内の予算や契約の制約により技術的恒久対策の実装が困難な場合は、次年度以降の契約内容や予算要求に反映する。
    2. 振り返りで特定した恒久対策を次年度以降の調達仕様書に盛り込むことで、継続的な品質向上を実現する。
    3. 年度をまたぐ対策については、暫定的な運用回避策を併用しつつ、次年度以降での根本的解決を計画する。

暫定対応としての運用回避策の取り扱い

技術的恒久対策の実装が困難な場合、暫定的にチェックリストやレビュー体制で対応することがある。その場合でも、運用回避策が形骸化や肥大化しないよう務めることを推奨する。

  • 定期的にチェックリストの精査を行い、不要な項目の削除や自動化への移行を検討する。
  • レビュー体制についても、形骸化を防ぐため定期的に見直しを行い、効率化を図る。
  • これらの暫定対応は、将来の技術的恒久対策への移行を前提として位置づけ、次期更改等で確実に解消する計画を立てる。