IT運用・統制

エラーバジェットとは|全面停止なら1.4時間で、月ぶんを使い切る

エラーバジェットとは何かどれくらいの速さで減るのか使い切ったらどうするのか

目標99.9%・月10万件なら、許される失敗は100件です。数字としては小さく見えます。

ところが全面的に停止すると1.4時間で使い切ります。気づいて直すまでの時間が、この枠を超えると目標を割ります。

この記事の要点

  • 目標99.9%・月10万件なら余裕は100件
  • 全面停止なら1.4時間で使い切る
  • 5%の失敗なら14.4時間
  • 1%の軽い劣化でも3.0日

全面停止なら1.4時間で、月ぶんを使い切る

障害の重さごとに、使い切るまでの時間を数えました。軽い劣化でも数日で尽きます。

エラーバジェットがどれくらいの速さで減るのかを、実際に走らせて数えました。目標99.9%・月10万件という条件です。

この条件で許される失敗は100件です。ここから、障害の重さごとに使い切るまでの時間を出しました。

javascript
const allow = Math.round(MONTH_REQ * (1 - SLO));   // 月に許される失敗
const PER_HOUR = MONTH_REQ / (30 * 24);            // 1時間あたりの要求数

for (const rate of [0.5, 0.1, 0.05, 0.01, 0.002]) {
  const perHour = PER_HOUR * rate;
  const hours = allow / perHour;                   // 使い切るまでの時間
}
text
目標 99.9%・月 100,000件のとき、月に許される失敗は 100件

障害の重さ    失敗の割合  1時間あたりの失敗  使い切るまで  月の何%を消費(1時間で)
全面的に停止             50.0%             69.4件         1.4時間                 69.4%
大きく劣化              10.0%             13.9件         7.2時間                 13.9%
一部で失敗               5.0%              6.9件        14.4時間                  6.9%
軽い劣化                1.0%              1.4件          3.0日                  1.4%
ほぼ正常                0.2%              0.3件         15.0日                  0.3%

1時間あたりの平均の要求数: 138.9件

上の表を見てください。全面的に停止すると1.4時間で月ぶんを使い切ります。

気づく時間と釣り合わせる

1.4時間という数字は、気づいて直すまでの時間と直接比べられます。夜間に起きて朝まで気づかないなら、その時点で目標を割ります。

右端の列も同じ話です。全面停止の1時間で月ぶんの69.4%を消費します。1時間の対応の遅れが、月の大半を持っていきます。

軽い劣化のほうが怖い

1%の軽い劣化なら3.0日で使い切ります。全面停止より長いですが、こちらは気づきにくい形です。

100件に1件が失敗している状態は、利用者からの苦情も散発的になります。気づかないまま3日経つほうが、はるかに起こりやすいことです。

重い障害は速く、軽い劣化は静かに枠を食う。

単位: 時間軽い劣化72時間一部で失敗14.4時間大きく劣化7.2時間全面的に停止1.4時間目標99.9%・月10万件での数え上げ。許される失敗は100件、1時間あたりの要求は138.9件。
図1 ── 障害の重さと使い切るまでの時間
出典Google SRE Book「Embracing Risk」2026-08-18 確認
The difference between these two numbers is the "budget" of how much "unreliability" is remaining for the quarter.
原文Google SRE Book「Embracing Risk」 この内容の有効期限2027-02-18

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

目標と100%の差が、その期間に許される失敗の量です。使い切ってよい枠として扱います。

エラーバジェットは、目標に対して許される失敗の量です。日本語では失敗の予算と呼ばれます。

差が枠になる

計算は単純です。Googleの資料も、この2つの数字の差が、その四半期に残っている信頼できなさの予算であるとしています。

目標が99.9%なら、差は0.1%です。前の節の条件では月10万件に対して100件でした。

100%を目指さない

そもそもなぜ枠を設けるのか。同じ資料は100%はおそらく正しい信頼性の目標ではない。達成できないだけでなく、利用者が望む水準や気づく水準を超えていることが多いとしています。

つまり失敗をゼロにすることは目的ではありません。決めた枠のなかに収めることが目的です。

枠は使ってよい

残っている枠は、変更を出すために使えます。資料は測定した稼働率がSLOを上回っている限り、つまりエラーバジェットが残っている限り、新しいリリースを出せるとしています。

  1. 枠が大きいとき。変更を積極的に出せる
  2. 枠が減ってきたとき。出す間隔を空ける
  3. 枠を使い切ったとき。変更を止めて信頼性を戻す
  4. 枠が余ったまま期末。目標が緩すぎる可能性がある

4番目も判断材料です。使い切らないなら、もっと速く出せたということになります。

余談 この計測での注意

前の節の表は実測ではなく数え上げです。目標99.9%・月10万件という条件を置いて計算しています。自分の環境では、月の要求数と目標の水準を入れ替えて同じ計算をしてください。目標そのものの決め方はSLO/SLIの記事で扱っています。

出典Google SRE Book「Embracing Risk」2026-08-18 確認
100% is probably never the right reliability target: not only is it impossible to achieve, it's typically more reliability than a service's users want or notice.
原文Google SRE Book「Embracing Risk」 この内容の有効期限2027-02-18

使い切ったときの動きを先に決めておく

枠が尽きたときに何を止めるかを、あらかじめ決めておきます。決めていなければ、ただの数字で終わります。

エラーバジェットは数えるだけでは意味がありません。尽きたときに何が変わるかが決まっていて、初めて働きます。

止めるものを決める

いちばん分かりやすいのは新しい変更を止めることです。枠が戻るまで、信頼性を上げる作業に振り向けます。

決めておかないと、枠が尽きても何も起きません。数字だけが報告されて終わります。

立場をそろえる仕掛け

この決め方には副次的な効果があります。Googleの資料は、エラーバジェットは動機をそろえ、運用側と開発側の共同の責任を強めるとしています。

同じ資料は続けて、予算が大きいときは開発側がより多くの危険を取れる。予算がほぼ尽きたときは、開発側自身がより多くの検査や、出す速さを落とすことを求めるようになると述べています。

止める判断が数字で決まるので、立場ごとの主張のぶつかり合いになりません。

始め方

  1. 目標の水準を決める。ここが決まらないと枠も出ない
  2. 月の要求数を数える。枠を件数に直す
  3. 過去の障害を当てはめる。実際にどれだけ使ったか
  4. 尽きたときの動きを決める。何を止めるか、誰が決めるか

3番目をやると水準の妥当さも分かります。過去の障害で毎月使い切っているなら、目標が高すぎるか、直すべき箇所があるということです。

尽きたときに何が起きるかが決まって、初めて働く。

充足 2 / 4尽きたときに止めるものを決めている決めていないと、枠が尽きても何も起きず数字だけが残る気づくまでの時間と枠を比べている全面停止なら1.4時間で使い切る。気づくのが遅ければ間に合わない失敗をゼロにすることを目標にしている100%は達成できないうえ、利用者が求める水準を超えていることが多い軽い劣化を数えていない1%の失敗でも3.0日で使い切るが、苦情が散発的で気づきにくい目標99.9%・月10万件での数え上げにもとづく。許される失敗は100件だった。
図2 ── エラーバジェットの点検項目
出典Google SRE Book「Embracing Risk」2026-08-18 確認
An error budget aligns incentives and emphasizes joint ownership between SRE and product development.
原文Google SRE Book「Embracing Risk」 この内容の有効期限2027-02-18

よくある質問

エラーバジェットとは何ですか
目標と100%の差が、その期間に許される失敗の量です。目標99.9%なら0.1%が枠になります。
どれくらいの速さで減りますか
この計測では、全面停止で1.4時間、5%の失敗で14.4時間、1%の軽い劣化で3.0日でした。
使い切ったらどうするのですか
新しい変更を止めて、信頼性を戻す作業に振り向けます。あらかじめ決めておくことが前提です。
100%を目指してはいけないのですか
達成できないうえ、利用者が求める水準を超えていることが多いと指摘されています。

まとめ

  • 目標に対して許される失敗の量
  • 全面停止なら1.4時間で使い切る
  • 軽い劣化でも3.0日で尽きる
  • 使い切ったときの動きを先に決めておく

今日から始められること

  1. 目標の水準から、月に許される失敗の量を出す
  2. 過去の障害で、どれだけ失敗したかを数える
  3. 気づいて直すまでにかかった時間を並べる
  4. 使い切ったときに何を止めるかを決めておく

実務で組んだエラーバジェットのワークフローには、値段が付きます

同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。

出品の仕組みを見る