第11章:障害対応とトラブルシュート

障害はゼロにはできません。重要なのは「検知→影響限定→復旧→学習」を継続できる運用設計です。
本章では、インシデント対応の型と、Kubernetes で頻出する事象の切り分け方を Runbook/Playbook として標準化するための論点を整理します。

学習目標

  • インシデント対応の基本プロセス(役割、Severity、コミュニケーション)を定義できる
  • 証跡(メトリクス/ログ/イベント/監査ログ/変更履歴)を確保しながら復旧できる
  • 典型事象の切り分けフローをテンプレ化し、運用物として継続改善できる
  • ポストモーテムを通じて、監視/標準/変更管理へ改善を戻せる

扱う範囲 / 扱わない範囲

扱う範囲

  • インシデント対応の型(体制、手順、証跡、復旧、学習)
  • 切り分けの優先順位(変更点、影響範囲、Control Plane/Node/アドオン)
  • Runbook/Playbook のテンプレと維持運用
  • 付録B(フロー集)を起点にした標準化

扱わない範囲

  • アプリケーション固有のデバッグ(コード/依存サービスの深掘り)
  • すべての障害シナリオの網羅

インシデント対応の型(最小)

「復旧を急ぐ」ほど証跡が失われ、再発防止が難しくなります。最低限、以下の型を統一します。

1) 検知(監視/通報)と Severity 判定
2) 影響限定(変更凍結、迂回、スケール、隔離)
3) 証跡確保(ログ/メトリクス/変更履歴、必要ならスナップショット)
4) 復旧(暫定復旧→恒久対応の切り分け)
5) 事後レビュー(ポストモーテム、改善のバックログ化)

役割分担(例)

  • Incident Commander(IC): 全体判断、優先順位付け、コミュニケーション統制
  • Tech Lead: 技術切り分け、復旧手順の実行管理
  • Comms: 対外/対内連絡、ステータス更新、影響説明
  • Scribe: 時系列と判断根拠の記録(後のポストモーテムに必須)

切り分けの優先順位(実務)

  • 直近の変更(デプロイ、設定変更、アップグレード)を最優先で確認します。
  • 影響範囲を「どのテナント/namespace か」「Control Plane か Node か」「ネットワーク/ストレージか」で分類します。
  • 復旧操作の前に、ログ/メトリクス/イベント/監査ログの保存方針を確認します(証跡が揮発しやすい環境では特に重要)。

典型事象とフロー(付録Bを起点にする)

頻出の事象はフロー化しておくと、初動のばらつきが減ります。

  • API Server に到達できない
  • Node が NotReady
  • DNS(CoreDNS)が不安定
  • Pod が Pending のまま(リソース不足、ノード制約、ストレージ)
  • Ingress 到達性障害(LB/Controller/DNS/TLS)
  • ストレージ I/O 劣化、Volume Attach 失敗

詳細は 付録B:トラブルシュートフロー集 のフロー雛形を起点に、実運用の事例で更新してください。

Runbook/Playbook テンプレ(雛形)

最低限、以下の項目を埋めると「復旧に繋がる」Runbook になります。

  • 目的/適用条件(症状、影響、対象範囲)
  • 連絡/エスカレーション(Sev、関係者、顧客影響の扱い)
  • 事前条件(権限、break-glass の手順、監査)
  • 観測ポイント(ダッシュボード、主要メトリクス、ログ、イベント)
  • 切り分け手順(最小の分岐)
  • 暫定復旧(影響限定の選択肢)
  • 恒久対応(根本原因の除去、再発防止)
  • 復旧確認(smoke test、SLO 影響確認)
  • 証跡(チケット、時系列、変更内容、ログの保管先)

実務チェック観点(最低5項目)

  • Severity 定義と役割分担(IC/Comms/Scribe)が整備され、定期的に演習されている
  • 監視/ログ/イベント/監査ログが復旧に使える形で収集され、証跡を残せる
  • break-glass(特権操作)の利用条件/承認/証跡/事後レビューが運用されている(第7章)
  • 典型事象のフロー(付録B)と Runbook が整備され、オンコールが参照できる
  • ポストモーテムからの改善(監視/標準/変更管理への反映)が継続運用されている

よくある落とし穴

  • 証跡を取らずに再起動や再デプロイを繰り返し、根本原因の特定と再発防止ができない
  • 復旧後に改善がバックログ化されず、同種障害を繰り返す(Runbook が更新されない)

まとめ / 次に読む