用語辞典・エラー・運用

503 Service Unavailable

503 Service Unavailableとは

503 Service Unavailable(ファイブ・オー・スリー・サービス・アンアベイラブル)は、過負荷や保守などでサーバーが一時的に要求を処理できないことを示すステータスです。

サーバーは現在処理できませんが、状態は一時的で、後に回復する見込みがあります。推定できる場合はRetry-After ヘッダーで再試行までの時間を示せます。

503は「サーバープロセスが完全に停止した」とは限りません。負荷分散装置やエッジサーバーが処理余力を守るため、意図的に要求を落とすこともあります。

過負荷と計画保守のどちらでも一時的な処理不能になる新規通信を止めたり制限したりし、健康な処理余力を守りながら復旧させる
要求集中によるサーバー群の過負荷と、計画的に一台を保守する場面を分け、負荷分散装置が一部を拒否し再試行を分散する様子を示すピクトグラム図解
図1全要求を限界まで受けるより、早く503を返して正常処理できる利用者と復旧余力を守る方が安全な場合があります。

主な発生場面

過負荷CPU・メモリー・待ち行列・接続の飽和

入口で負荷制限し、処理可能量へ絞ります。

メンテナンス計画作業中の一時停止

新規通信のドレイニングと告知を行い、作業対象へ新規要求を送りません。

依存先の保護下流障害の連鎖を止める

サーキットブレーカーで失敗を早く返し、処理スレッド・接続枯渇を防ぎます。

起動待ちの処理余力起動・台数追加待ち

受け入れ準備に達する前のサーバー実体を振り分け先へ加えません。

429・502・504との違い

コード中心となる状態
429特定利用単位が要求数の上限を超えた
502ゲートウェイが上流サーバーから不正な応答を受けた
503サービスが一時的に要求を処理できない
504ゲートウェイが期限内に上流サーバーの応答を得られない

再試行を新しい障害にしない

クライアントはRetry-Afterを読み、指数バックオフ、待ち時間のばらつき、再試行回数上限を使います。POST等は冪等性を確認し、同じ処理の重複を防ぎます。サーバー側も再試行予算を処理余力計画へ含めます。

503応答は通常キャッシュすべきではありません。メンテナンスページをCDNへ長時間保存すると、復旧後も停止表示が残ります。明示的な短いキャッシュ方針と削除手順を設計します。

復旧は稼働確認だけで終わらない

  1. 新規通信の流入を止める処理中の要求の完了時間を考慮します。
  2. 原因を除き処理余力を戻す切り戻し、台数追加、依存サービス復旧を行います。
  3. 受け入れ準備を検証するポート番号だけでなく代表要求と依存先を確認します。
  4. 段階的に通信を増やすエラー・遅延・飽和度を見ながら再投入します。

503はサービス全体または対象サーバーが一時的に処理不能な状態です。Retry-After、負荷制限、ドレイニング、受け入れ準備、段階復帰を組み合わせ、再試行集中と障害連鎖を防ぎます。

一時的な過負荷・メンテナンス・Retry-After:RFC 9110「503 Service Unavailable」

関連用語