運用・監視 レッスン6

ポストモーテム

障害から学びを得て再発を防ぐための、非難のない振り返りであるポストモーテムの書き方と進め方を学ぶ

ポストモーテムとは何か

ポストモーテムとは、障害やインシデントが収束した後に行う 振り返りのプロセスと、その成果物であるドキュメントを指します。目的は個人の責任を追及することではなく、 何が起きたかを正確に記録し、同じ原因で再び障害が起きないよう組織として学ぶことです。

非難のない(Blameless)文化

「誰が間違えたか」を追及する文化では、ミスをした人が事実を隠したり報告を避けたりするようになり、 根本原因の分析に必要な情報が集まらなくなります。「なぜその判断が当時は合理的に見えたのか」 「どうすれば仕組みとして防げたか」に焦点を当てることで、正直な情報共有が促されます。

ポストモーテムに書くべき項目

形式はチームによって異なりますが、一般的に以下の項目を含めます。

# ポストモーテム: 注文APIのエラー率上昇 (2026-03-01)

## 概要
- 影響時間: 09:12 〜 09:47 (35分間)
- 影響範囲: 注文APIの約12%のリクエストが失敗
- 検知経緯: エラー率上昇アラートにより自動検知

## タイムライン
- 09:05  新バージョンのデプロイを開始
- 09:12  エラー率上昇アラートが発火
- 09:15  オンコール担当が対応を開始、トリアージ
- 09:20  直前のデプロイが原因と推測しロールバックを実施
- 09:35  エラー率が正常値まで低下
- 09:47  完全復旧を確認、インシデントを終息とみなす

## 根本原因
- 新バージョンで追加した外部APIクライアントのタイムアウト設定が
  誤って極端に短い値になっていた

## 寄与要因
- ステージング環境の負荷がテスト時と本番で大きく異なっていた
- タイムアウト設定値に対する自動テストが存在しなかった

## 良かった点
- アラートにより7分で異常を検知できた
- ロールバック手順が整備されており、迅速に復旧できた

## 再発防止のアクションアイテム
- [ ] タイムアウト設定値の妥当性を検証する自動テストを追加する
- [ ] ステージング環境の負荷を本番に近づける
- [ ] デプロイ後の自動ロールバック条件(エラー率の急上昇)を設定する

良い例と避けたい例

避けたい書き方

「担当者がタイムアウト設定を確認せずにデプロイしたことが原因」のように、 個人の不注意を原因として断定する書き方は、次に同じミスをしないための 仕組みの改善につながりにくく、報告する側の心理的な抵抗も生みます。

推奨する書き方

「タイムアウト設定値を検証する自動テストが存在せず、誤った値がレビューをすり抜けた」 のように、個人ではなく仕組みの不足として記述すると、具体的な改善策(自動テストの追加)につながります。

アクションアイテムのフォローアップ

ポストモーテムを書いて終わりにせず、洗い出した再発防止のアクションアイテムには 担当者と期限を設定し、通常のタスク管理と同様に追跡します。すべてのアクションアイテムを 一度に完了させる必要はなく、影響度や実現コストをもとに優先順位をつけて、 着実に消化していくことが重要です。

ポイント

  • ポストモーテムの目的は個人の責任追及ではなく、組織としての再発防止
  • タイムライン・根本原因・寄与要因・良かった点・アクションアイテムを記録する
  • 原因は個人の不注意ではなく仕組みの不足として記述する
  • アクションアイテムには担当者と期限を設定し、優先順位をつけて追跡する

確認クイズ

1 / 3

ポストモーテムを「非難のない(blameless)」ものにする理由として最も適切なものはどれか?