SRE

エラーバジェットの計算方法と無料テンプレート2024-2026

ⓘ本ページはプロモーションが含まれています

お得なお知らせ

スポンサードリンク
まず1社、面談枠を押さえる

エンジニアの次のキャリア、30分で動き出す

正社員転職・フリーランス独立、どちらも「最初の1社登録」がスピードを決めます。無料面談で年収相場と求人を一気に把握。

Tamesy|未経験〜第二新卒の転職▶ エンジニアファクトリー|フリーランス案件▶

▶ 学習からスタートしたい方はEnjoy Tech! もチェック。


スポンサードリンク

1. エラーバジェットとは何か

用語 意味
SLI(Service Level Indicator) 実際に観測された可用性、レイテンシ、エラー率などの指標。数値は「実績」になる。
SLO(Service Level Objective) 事前に合意した目標水準。たとえば「月間稼働率 99.9 %」や「95%リクエストのレイテンシ ≤ 200 ms」など。
エラーバジェット(Error Budget) 許容ダウンタイム = (1 – SLO) × 期間 と実績ダウンタイムとの差分。
残りエラーバジェット = 許容ダウンタイム – 実障時間

ポイント
- エラーバジェットは「可用性改善のための予算」とみなせる。残高が減っていくほど、変更やリリースに伴うリスクが高まる。
- SLO が 99.9 %(=月間 43.2 分)で実績が 99.95 %(=月間 21.6 分)なら、残りエラーバジェットは 21.6 分


2. エラーバジェットの計算式

2‑1. 基本式

[
\text{許容ダウンタイム} = (1 - \text{SLO}) \times T
]

[
\text{実障害時間} = (1 - \text{SLI}) \times T
]

[
\text{エラーバジェット残量} = \text{許容ダウンタイム} - \text{実障害時間}
]

  • T は対象期間(秒・分・時間・日いずれでも単位を合わせれば可)。
  • SLO/SLI は 0〜1 の小数で表す。(例:99.9 % → 0.999)

2‑2. スプレッドシートでの実装例

セル 内容 数式(Google Sheets / Excel)
B2 期間(日) 手入力例 30
B3 SLI(小数) 手入力例 0.9995
B4 SLO(小数) 手入力例 0.999
C2 許容ダウンタイム(時間) =B2*24*(1-B4)
C3 実障時間(時間) =B2*24*(1-B3)
C4 エラーバジェット残量(時間) =C2-C3

備考
- Excel の場合は *24 を省き、期間を「時間」単位で直接入力すれば同様に計算できる。
- 小数点以下の桁数は必要に応じて ROUND 関数で調整(例:=ROUND(C4,2))。


3. 無料テンプレート一覧(2024〜2026 年版)

テンプレート名 提供元・ライセンス 対応プラットフォーム 主な機能
Error Budget Calculator(Web) dotcom‑monitor / SaaS 利用規約(2024/03 更新) ブラウザのみ リアルタイム SLI/SLO 比較、グラフ表示、CSV エクスポート
SRE 引き継ぎシート alternativework.jp / CC BY‑NC 4.0(改変可・非営利利用限定) Excel, Google Sheets SLO 根拠、エラーバジェット運用ルール、インシデント記録テンプレート
SRE Incident Response Template App‑Tatsujin / MIT License(商用利用可) Excel, Google Sheets インシデント概要・復旧手順・自動エラーバジェット消費計算
sre‑error‑budget (GitHub) open‑source community / Apache 2.0 CSV/JSON + Python スクリプト API 経由でメトリクス送信、Datadog/Prometheus 連携サンプル

利用上の注意
- 各テンプレートのライセンス条項は必ず公式ダウンロードページに記載されている最新版を確認してください。
- 商用プロジェクトで使用する場合、特に CC BY‑NC 系列は「非営利」要件に抵触しないか注意が必要です。


4. エラーバジェットを Datadog と連携させる実装手順

4‑1. 前提条件

項目 内容
Datadog API キー DD_API_KEY(システム環境変数または Secret Manager に保存)
アプリケーションキー DD_APP_KEY(書き込み権限が必要)
送信対象メトリクス名 error_budget.remaining_seconds(任意の名前で可)

公式参照:Datadog API v1 の「Submit metrics」エンドポイント https://docs.datadoghq.com/api/latest/metrics/#submit-metrics

4‑2. Google Apps Script からメトリクス送信

  • C4 は先ほど計算した エラーバジェット残量(時間)
  • gauge タイプで送信すれば、Datadog のモニタ作成画面で「閾値以下になったらアラート」を設定できる。

4‑3. Datadog 側のモニタ例

項目 設定
メトリクス名 error_budget.remaining_seconds
アラート条件 value < 300(残り 5 分未満)
通知先 Slack #sre-alert、PagerDuty Service
評価期間 5 分間の連続評価

ベストプラクティス
- 複数サービスを管理する場合は service:xxx タグで切り分ける。
– アラートノイズ防止のため、「低下率」(例:5 分間に 30 % 以上減少)でも追加モニタを設定すると有効。


5. バーンレート(消費速度)の活用

5‑1. 定義と計算式

[
\text{バーンレート} = \frac{\text{エラーバジェット残量}}{\text{経過期間中の累計障害時間}}
]

  • 単位時間 / 時間(無次元)または 分/分
  • バーンレートが 1.0 を超えると、残りエラーバジェットが同じ速度で消費されていることを意味し、枯渇リスクが高い

5‑2. スプレッドシート実装例

セル 内容 数式
D2 累計障害時間(分) 手入力例 12
E2 バーンレート =C4*60 / D2 (残量を「分」に変換して割る)

応用
- バーンレートが一定閾値(例:> 1.5)を超えたら、Datadog に別メトリクス error_budget.burn_rate を送信し、同様にアラート化できる。


6. エラーバジェット管理の実務シナリオ

シナリオ 手順・ポイント
① リリース前の判断 - 新機能追加で予想ダウンタイムが 5 分 → バーンレート 5 ÷ 残量 が 0.2 以下ならリスク許容。
- エラーバジェット残量が 10 分未満の場合はリリースを延期し、改善作業を先に実施。
② インシデント後のレビュー - インシデントごとに「消費エラーバジェット(分)」と「原因カテゴリ」を記録。
- 月次レポートでカテゴリ別合計を可視化し、上位 2 件を改善対象に設定。
③ 複数サービス間の予算配分 - 全体エラーバジェット(例:300 分)をサービス A/B/C に均等割り当て。
- 各サービスのバーンレートが高いものから追加予算(リトライ回数削減、キャッシュ導入など)を投下。
④ 経営層への報告 - 「残エラーバジェット = X 分(Y %)」と「今月のバーンレート = Z」だけで要点を示すスライド作成。
- 可視化は Datadog ダッシュボードか Google Data Studio のチャートで提示。

7. テンプレート利用時の注意点と更新管理

7‑1. ライセンス確認の具体例

提供元 ライセンス表記(2024/10 時点)
dotcom-monitor SaaS 利用規約 – 商用利用は無料だが、データ保存期間に制限あり。
alternativework.jp CC BY‑NC 4.0 – 改変可・非営利限定、クレジット表記必須(「© alternativework.jp」)。
App‑Tatsujin MIT License – ソースコード/シートの改変・再配布自由。商用利用も可。
GitHub sre-error-budget Apache 2.0 – 特許権付与あり、変更時は NOTICE ファイルに追記が必要。

実務的アドバイス
- 社内でテンプレートを改変して配布する場合は、必ず上記ライセンス条項に従い「クレジット」や「NOTICE」の追加を書き込むこと。
- 法務部門と事前に合意形成を取っておくと、後々のコンプライアンスリスクが低減できる。

7‑2. バージョン管理と互換性

項目 推奨手順
更新チェック 提供元の「Release Notes」や GitHub の releases ページを月1回程度閲覧。
バックアップ 変更前にシート全体を .xlsx.csv の二重保存。
互換性テスト Excel ⇔ Google Sheets 間で数式がエラーになるケースは ARRAYFORMULAIFERROR の差異が主因。簡易テスト用シートで「全セル比較」スクリプトを走らせると安心。
自動デプロイ CI/CD(例:GitHub Actions)でテンプレート更新時に社内共有フォルダへ自動コピーするフローを構築すると、手作業の漏れが防げる。

8. まとめ

  1. エラーバジェットは SLO と実績 SLI の差分であり、可用性改善予算として活用できる。
  2. 計算はシンプルな乗算・減算だけなので、Excel/Google Sheets に数式を埋め込むだけで即座に算出可能。
  3. Datadog 連携では API v1 の series エンドポイントへ gauge メトリクスとして送信し、閾値アラートで事前警告が実現できる。
  4. バーンレートを併せてモニタリングすれば、「残予算がいつ枯渇するか」を定量的に把握でき、リリース判断やインシデント後の改善策立案に有効。
  5. 無料テンプレートは ライセンス条項を必ず確認し、社内で改変・再配布する際はクレジット表記等の条件を遵守すること。

次のステップ
- まずは自チームの SLO を明文化し、上記数式をシートに落とし込む。
- スクリプトで Datadog にメトリクス送信し、閾値アラートを設定。
- 月次レビューでバーンレートとインシデント消費量を分析し、改善サイクル(Plan‑Do‑Check‑Act)へフィードバックする。

エラーバジェット管理は 可視化 → アラート → 改善 の3ステップで完結します。この記事の手順に沿って実装すれば、SRE チームだけでなく経営層にも「信頼できる可用性予算」の証拠を示せます。

スポンサードリンク

お得なお知らせ

スポンサードリンク
まず1社、面談枠を押さえる

エンジニアの次のキャリア、30分で動き出す

正社員転職・フリーランス独立、どちらも「最初の1社登録」がスピードを決めます。無料面談で年収相場と求人を一気に把握。

Tamesy|未経験〜第二新卒の転職▶ エンジニアファクトリー|フリーランス案件▶

▶ 学習からスタートしたい方はEnjoy Tech! もチェック。


-SRE