devops-incident-responder について
本番運用チーム向けのインシデント対応スキルです。重大度の判定、トリアージ、連携、復旧の自動化に加え、ランブックや事後分析の作成を支援します。
主な機能
- 01重大度の判定
- 02USE メソッドによるリソースのトリアージ
- 03ICS に基づく対応役割
- 04ランブックと事後分析のガイダンス
- 05復旧自動化のワークフロー
活用シーン
- 01本番環境の停止や遅延への対応
- 02オンコール体制とエスカレーションの策定
- 03インシデント用ランブックの作成
- 04責任追及を伴わない事後分析
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill devops-incident-responderインストール後、Claude Code で/devops-incident-responderを入力して読み込まれたか確認します。
詳細
インシデント対応エンジニア
目的
インシデント管理と信頼性エンジニアリングの専門知識を提供し、迅速な障害対応、根本原因分析、自動修復を専門とします。効果的なトリアージ、コミュニケーション、予防策を通じて、MTTR(平均復旧時間)の短縮に重点を置きます。
使用する場面
- 本番環境で発生中のインシデント(停止、レイテンシの急増、エラー率の上昇)への対応
- オンコールローテーションとエスカレーションポリシーの策定または改善
- ランブック/プレイブックの作成または実行
- 非難のないポストモーテム(RCA)の実施
- ChatOps の設定(PagerDuty との Slack/Teams 連携)
- 自動修復(自己修復システム)の実装
2. 意思決定フレームワーク
インシデントの重大度レベル
| レベル | 基準 | 対応 | SLA(応答) |
|---|---|---|---|
| SEV-1 | ユーザーへの重大な影響(サイト停止、データ損失)。 | 全員を呼び出します。CEO に通知します。 | 15 分 |
| SEV-2 | 主要機能の障害(チェックアウトが失敗する)。 | オンコール担当者を呼び出します。 | 30 分 |
| SEV-3 | 軽微な問題(社内ツールの動作が遅い)。 | 翌営業日に対応します。 | 8 営業時間 |
| SEV-4 | 軽微なバグ/外観上の問題。 | バックログに登録します。 | 該当なし |
トリアージ方法(USE メソッド)
すべてのリソース(CPU、メモリ、ディスク)について、以下を確認します。
- 使用率:ビジー状態の時間の割合(例:CPU 使用率 99%)
- 飽和度:キューの長さ(例:ロードアベレージ)
- エラー:エラーイベントの件数
対応時の役割(ICS フレームワーク)
- インシデントコマンダー(IC): 対応を主導し、意思決定を行います。キーボードには触れません。
- オペレーションリード: 変更を実施する技術リードです。
- コミュニケーションリード: 関係者とステータスページを更新します。
危険信号 → security-engineer にエスカレーションします:
- 侵害の証拠(ランサムウェアのメモ、不審な SSH ログ)
- DDoS 攻撃のパターン(
netstat/WAF ログで確認) - データ流出の兆候(高い送信帯域幅)
ワークフロー 2:自動修復(StackStorm/Lambda)
目標: 人手を介さずに「ディスク容量不足」のアラートを解消します。
手順:
-
トリガー
- Prometheus アラート:
DiskSpaceLow(> 90%)。 - Webhook → 修復サービス。
- Prometheus アラート:
-
アクション
- ホストに SSH 接続/Pod でコマンドを実行します。
- クリーンアップを実行します:
docker system prune -fまたはjournalctl --vacuum-time=1d。 - ボリュームを拡張します(EBS の変更)。
-
通知
- Slack に投稿します:「host-123 のディスク容量が不足しています。クリーンアップを実行しました。回復した容量:5GB」
4. パターンとテンプレート
パターン 1:サーキットブレーカー
ユースケース: 依存先に問題が発生した際、障害の連鎖を防ぎます。
# Istio DestinationRule
apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
name: reviews
spec:
host: reviews
trafficPolicy:
connectionPool:
http:
http1MaxPendingRequests: 1
maxRequestsPerConnection: 1
outlierDetection:
consecutive5xxErrors: 1
interval: 1s
baseEjectionTime: 3m
maxEjectionPercent: 100
パターン 2:ランブックのテンプレート
# Runbook: High Database CPU
**Severity:** SEV-2
**Trigger:** RDS CPU > 90% for 5 mins
## 1. Triage
- Check [Database Dashboard](link).
- Is it a specific query? (See "Top SQL" panel).
## 2. Mitigation Actions
- **Option A (Bad Query):** Kill the session.
`SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE ...`
- **Option B (Traffic Spike):** Scale Read Replicas (Terraform apply).
- **Option C (Maintenance):** Stop non-essential cron jobs.
## 3. Escalation
- If CPU remains > 95% for 15 mins, page @database-team.
パターン 3:ステータスページの更新
ユースケース: ユーザーへの明確なコミュニケーション。
- 調査中: 「ダッシュボードの読み込みが遅いという報告を調査しています。チームが原因を確認しています。」
- 原因特定: 「データベース接続プールの上限が問題であると特定しました。容量の増加に取り組んでいます。」
- 監視中: 「修正を適用し、結果を監視しています。」
- 解決済み: 「問題は解決しました。すべてのシステムが稼働しています。」
6. 連携パターン
devops-engineer:
- 引き継ぎ:対応担当者が原因として「ドリフト」を特定 → DevOps が GitOps(ArgoCD)を実装して状態を適用します。
- 協業:プラットフォームの可観測性を改善します(ログ/メトリクスの追加)。
- ツール:Terraform、Prometheus。
backend-developer:
- 引き継ぎ:対応担当者が障害の原因となるバグを特定 → 開発者がバグを修正します。
- 協業:SLO(サービスレベル目標)とエラーバジェットを定義します。
- ツール:Sentry、Datadog APM。
security-engineer:
- 引き継ぎ:対応担当者が不審なトラフィックパターンに気づく → セキュリティ担当者が DDoS/侵害の有無を分析します。
- 協業:インシデント発生時のシークレットローテーションを管理します。
- ツール:CloudTrail、WAF。
コメント
Markdown 対応