LESSON 30分

ストーリー

田中VPoE
エスカレーションフローを設計した。次は「対応者が何をするか」の手順書だ。ランブックとプレイブック — この2つの違いを理解しているか?
あなた
ランブックは具体的な手順書、プレイブックはもう少し高レベルの対応方針…でしょうか?
田中VPoE
概ね正しい。ランブックは「この手順通りに実行すれば解決する」もの。プレイブックは「この状況ではこのアプローチで調査・判断する」もの。前者は自動化の候補、後者は判断力が必要なものだ
あなた
使い分けが重要なんですね
田中VPoE
そうだ。そして、ランブックは書いて終わりではない。テストされていないランブックは「ないのと同じ」だ

ランブックとプレイブックの違い

定義

概念定義特徴
ランブック(Runbook)特定の問題に対する手順化された対応マニュアル判断不要、手順通りに実行すれば解決
プレイブック(Playbook)状況に応じた調査・判断のガイドライン判断が必要、フレームワークを提供

使い分け

状況適切なドキュメント
既知の問題で対応手順が確立ランブックDBコネクション枯渇時のプール再起動
未知の問題で調査が必要プレイブックレイテンシ劣化時の原因調査手順
定型的な運用作業ランブックデプロイ手順、証明書更新
複合的なインシデントプレイブック複数サービスにまたがる障害の切り分け

ランブックの設計

テンプレート

# ランブック: [問題名]

## メタ情報
- 最終更新: YYYY-MM-DD
- 作成者: [名前]
- レビュアー: [名前]
- 関連アラート: [アラート名]
- 想定対応時間: XX分

## 症状
- [どのような症状が出ているか]

## 影響
- [ユーザーへの影響]
- [ビジネスへの影響]

## 前提条件
- [必要な権限]
- [必要なツール]

## 手順
1. [具体的なコマンドや操作]
2. [次のステップ]
3. [確認方法]

## 確認方法
- [問題が解決したことの確認手順]

## エスカレーション
- [この手順で解決しない場合の連絡先]

## 根本原因対応
- [この問題の再発を防ぐための長期的な対策]

良いランブックの条件

条件説明
コピーペースト可能コマンドはそのままコピーして実行できる
前提知識不要初めての人でも手順通りに実行できる
確認ステップ付き各手順の後に「正しく実行されたか」の確認方法がある
最新である定期的にテスト・更新されている
自動化候補の明示将来的に自動化すべき手順にマークがある

プレイブックの設計

テンプレート

# プレイブック: [状況名]

## メタ情報
- 最終更新: YYYY-MM-DD
- 対象: [どのような状況で使用するか]

## 症状パターン
- パターンA: [症状の説明] → セクション1へ
- パターンB: [症状の説明] → セクション2へ

## セクション1: [調査アプローチ名]
### 調査手順
1. [何を確認するか]
2. [どのツールを使うか]
3. [結果の解釈方法]

### 判断基準
- [結果がXの場合] → [アクションA]
- [結果がYの場合] → [アクションB]

## 判断のフレームワーク
- [影響度の評価方法]
- [緊急度の評価方法]
- [対応方針の決定基準]

プレイブック例: レイテンシ劣化

# プレイブック: レイテンシ劣化の調査

## 症状
P99レイテンシがSLO閾値を超過

## 調査フロー

1. 影響範囲の特定
   - 全エンドポイント or 特定エンドポイント?
   - 全ユーザー or 特定リージョン?

2. 原因の切り分け
   ├── アプリケーション層
   │   ├── 最近のデプロイ → デプロイ履歴を確認 → ロールバック検討
   │   ├── メモリリーク → ヒープダンプ解析
   │   └── スレッド枯渇 → スレッドダンプ解析
   ├── データベース層
   │   ├── スロークエリ → クエリログ分析
   │   ├── ロック競合 → ロック状態確認
   │   └── 接続プール枯渇 → コネクション数確認
   ├── インフラ層
   │   ├── CPU/メモリ逼迫 → リソースメトリクス確認
   │   ├── ネットワーク遅延 → traceroute / ping
   │   └── ディスクI/O → I/Oメトリクス確認
   └── 外部依存
       ├── CDN → CDNステータス確認
       ├── 外部API → 外部APIのレスポンスタイム
       └── DNS → DNS解決時間

3. 対応方針の決定
   - 即座に復旧可能(ロールバック等)→ 実行
   - 調査が必要 → SMEを招集
   - 外部要因 → 回避策の検討

ランブックの運用

ライフサイクル管理

フェーズ活動頻度
作成インシデント対応後に新規作成インシデント発生時
レビュー技術的正確性のピアレビュー作成時
テスト手順通りに実行して動作確認四半期ごと
更新環境変更に伴う手順更新変更時
廃棄不要になったランブックの削除年次レビュー

ゲームデイ(訓練)

項目内容
目的ランブックの有効性とチームの対応力を検証する
頻度月1回
進め方模擬インシデントを発生させ、ランブック通りに対応
評価対応時間、手順の正確性、改善点の発見
成果物ランブックの更新、新規ランブックの作成

まとめ

ポイント内容
ランブック手順化された対応マニュアル。自動化の候補
プレイブック調査・判断のガイドライン。判断力が必要な場面用
運用の鍵定期的なテストとゲームデイによる検証

チェックリスト

  • ランブックとプレイブックの違いを理解した
  • ランブックのテンプレートと品質基準を理解した
  • ゲームデイの重要性を理解した

次のステップへ

次は「オンコールの健全性管理」です。オンコール体制を持続可能に維持するためのメトリクスと改善手法を学びましょう。


推定読了時間: 30分