エラーバジェット計算: ダウンタイム許容量の追跡と活用方法
SREチーム向けのエラーバジェットの計算と管理方法を学びます。SLAパーセンテージを実用的なダウンタイムバジェットに変換し、実践的な例とバーンレート追跡を解説。
SRE Practices
詳細な説明
エラーバジェットとは?
エラーバジェットは、SLAを満たしながらサービスが許容される最大ダウンタイムまたはエラー量です。SLAの数学的補数:SLAが99.9%なら、エラーバジェットは0.1%です。
エラーバジェットの計算
計算式はシンプルです:
エラーバジェット = (1 - SLA/100) x 期間の合計分数
一般的なSLAレベルの月間エラーバジェット:
| SLA | エラーバジェット% | 月間バジェット(分) |
|---|---|---|
| 99% | 1.0% | 438分(7時間18分) |
| 99.5% | 0.5% | 219分(3時間39分) |
| 99.9% | 0.1% | 43.8分 |
| 99.95% | 0.05% | 21.9分 |
| 99.99% | 0.01% | 4.38分 |
| 99.999% | 0.001% | 0.44分(26秒) |
エラーバジェットポリシー
適切に定義されたエラーバジェットポリシーは以下の質問に答えます:
- バジェットが枯渇したらどうなるか?(通常:デプロイ凍結、信頼性に集中)
- 何がバジェットにカウントされるか?(ユーザー向けエラー、レイテンシSLO違反、完全停止)
- バジェットはどう測定されるか?(リクエスト成功率、合成監視、実ユーザーメトリクス)
- 誰がバジェットを所有するか?(通常、製品チームとSREチームで共有)
バーンレートモニタリング
エラーバジェットの消費速度を追跡します:
バーンレート = 実際のエラー率 / 許容エラー率
- バーンレート = 1.0: 期待通りの速度でバジェットを消費
- バーンレート = 2.0: 期間の半分でバジェットが枯渇
- バーンレート = 10.0: 重大インシデント — 数日でバジェットが消失
ユースケース
エラーバジェット計算は、ステークホルダーとのSLAターゲット交渉、デプロイメントポリシーの設定、インシデント重大度閾値の定義、SREチームにおける機能開発速度と信頼性投資のバランスに使用します。