🪜
DevOps・運用 2026年4月4日

段階的デプロイ

📁 パターン 👁 -- 閲覧

段階的デプロイ

定義

リリースを複数の段階に分割し、各段階で影響を確認しながら進めるデプロイ戦略。問題が検知されれば即座にロールバックできる。

コード変更
  → Stage 1: 1台(または1%トラフィック)
  → Stage 2: 10%
  → Stage 3: 50%
  → Stage 4: 100%

なぜ重要か

一括デプロイは:

  • 問題が100%ユーザーに影響する
  • 問題の特定が難しい(何が変わったかが広すぎる)
  • ロールバックも全ユーザーに影響

段階的デプロイは:

  • 影響範囲が限定される
  • 問題の早期検知が可能(1%でエラー率が跳ね上がれば止められる)
  • 各段階でロールバックが容易

適用場面

  • 本番トラフィックで初めて試す変更
  • データベーススキーマ変更(後方互換性に注意)
  • 大規模なリファクタリング後の最初のリリース

設計の要点

段階数と比率

ステップトラフィック比率待機時間
11%15〜30分
210%1〜2時間
350%数時間
4100%

評価メトリクスの選定

  • 比率を見る(Canary vs Control の差分)
  • 絶対値より「対照グループとの比較」が重要
  • ビジネスメトリクス(購入完了率、セッション数)も含める

自動中止の条件を事前定義

  • エラー率がControlの2倍を超えたら自動停止
  • P99レイテンシが閾値を超えたら停止

関連パターン

出典

Google SRE Workbook(Betsy Beyer他)第16章「Canarying Releases」