mcpField
D
devops-incident-responder

devops-incident-responder

github.com/404kidwizクラウド・DevOps104 回インストール
リポジトリ

devops-incident-responder について

本番運用チーム向けのインシデント対応スキルです。重大度の判定、トリアージ、連携、復旧の自動化に加え、ランブックや事後分析の作成を支援します。

主な機能

  1. 01重大度の判定
  2. 02USE メソッドによるリソースのトリアージ
  3. 03ICS に基づく対応役割
  4. 04ランブックと事後分析のガイダンス
  5. 05復旧自動化のワークフロー

活用シーン

  1. 01本番環境の停止や遅延への対応
  2. 02オンコール体制とエスカレーションの策定
  3. 03インシデント用ランブックの作成
  4. 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、メモリ、ディスク)について、以下を確認します。

  1. 使用率:ビジー状態の時間の割合(例:CPU 使用率 99%)
  2. 飽和度:キューの長さ(例:ロードアベレージ)
  3. エラー:エラーイベントの件数
対応時の役割(ICS フレームワーク)
  • インシデントコマンダー(IC): 対応を主導し、意思決定を行います。キーボードには触れません。
  • オペレーションリード: 変更を実施する技術リードです。
  • コミュニケーションリード: 関係者とステータスページを更新します。

危険信号 → security-engineer にエスカレーションします:

  • 侵害の証拠(ランサムウェアのメモ、不審な SSH ログ)
  • DDoS 攻撃のパターン(netstat/WAF ログで確認)
  • データ流出の兆候(高い送信帯域幅)


ワークフロー 2:自動修復(StackStorm/Lambda)

目標: 人手を介さずに「ディスク容量不足」のアラートを解消します。

手順:

  1. トリガー

    • Prometheus アラート:DiskSpaceLow(> 90%)。
    • Webhook → 修復サービス。
  2. アクション

    • ホストに SSH 接続/Pod でコマンドを実行します。
    • クリーンアップを実行します:docker system prune -f または journalctl --vacuum-time=1d。
    • ボリュームを拡張します(EBS の変更)。
  3. 通知

    • 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。

コメント