第41章: 修復

修復(レメディエーション)とは、インシデント後にシステムを完全な健全性に戻す作業です。3つの時間スケールで動作します:出血を止めるための即時軽減、システムを安定化するための短期修正、根本原因に対処するための長期是正措置。各時間スケールでは、速度と徹底さの間で異なるトレードオフが必要です。

即時軽減は完璧さよりも可用性を優先します。不良デプロイメントのロールバック、健全なレプリカへのフェイルオーバー、非クリティカルな負荷のシェディング、フィーチャーフラグによる不具合機能の無効化——これらのアクションは根本原因がまだ理解されていなくてもサービスを迅速に回復します。デグラデーションロードバランシングの技術は軽減ツールキットにおける必須のツールです。

短期修正は直接的な技術的原因に対処します。メモリリークがサービスをクラッシュさせた場合、短期修正はリークをパッチします。設定変更がカスケード障害を引き起こした場合、短期修正は設定を元に戻しバリデーションを追加します。これらの修正は通常のリリースプロセスを通じてデプロイされます。

長期是正措置はポストインシデントレビューから生まれ、インシデントの発生を許したシステム的条件をターゲットにします。以前に観測されていなかった障害モードのモニタリング追加、キャパシティプランニングの改善、障害のクラスを排除するためのコンポーネントの再設計などが含まれます。アクションアイテムは完了まで追跡されなければなりません——割り当てられたが完了しないアクションアイテムは再発に対する保護を提供しません。