503 Service Unavailableとは
503 Service Unavailable(ファイブ・オー・スリー・サービス・アンアベイラブル)は、過負荷や保守などでサーバーが一時的に要求を処理できないことを示すステータスです。
サーバーは現在処理できませんが、状態は一時的で、後に回復する見込みがあります。推定できる場合はRetry-After ヘッダーで再試行までの時間を示せます。
503は「サーバープロセスが完全に停止した」とは限りません。負荷分散装置やエッジサーバーが処理余力を守るため、意図的に要求を落とすこともあります。
過負荷と計画保守のどちらでも一時的な処理不能になる新規通信を止めたり制限したりし、健康な処理余力を守りながら復旧させる

主な発生場面
入口で負荷制限し、処理可能量へ絞ります。
新規通信のドレイニングと告知を行い、作業対象へ新規要求を送りません。
サーキットブレーカーで失敗を早く返し、処理スレッド・接続枯渇を防ぎます。
受け入れ準備に達する前のサーバー実体を振り分け先へ加えません。
429・502・504との違い
| コード | 中心となる状態 |
|---|---|
| 429 | 特定利用単位が要求数の上限を超えた |
| 502 | ゲートウェイが上流サーバーから不正な応答を受けた |
| 503 | サービスが一時的に要求を処理できない |
| 504 | ゲートウェイが期限内に上流サーバーの応答を得られない |
再試行を新しい障害にしない
クライアントはRetry-Afterを読み、指数バックオフ、待ち時間のばらつき、再試行回数上限を使います。POST等は冪等性を確認し、同じ処理の重複を防ぎます。サーバー側も再試行予算を処理余力計画へ含めます。
503応答は通常キャッシュすべきではありません。メンテナンスページをCDNへ長時間保存すると、復旧後も停止表示が残ります。明示的な短いキャッシュ方針と削除手順を設計します。
復旧は稼働確認だけで終わらない
- 新規通信の流入を止める処理中の要求の完了時間を考慮します。
- 原因を除き処理余力を戻す切り戻し、台数追加、依存サービス復旧を行います。
- 受け入れ準備を検証するポート番号だけでなく代表要求と依存先を確認します。
- 段階的に通信を増やすエラー・遅延・飽和度を見ながら再投入します。
503はサービス全体または対象サーバーが一時的に処理不能な状態です。Retry-After、負荷制限、ドレイニング、受け入れ準備、段階復帰を組み合わせ、再試行集中と障害連鎖を防ぎます。
一時的な過負荷・メンテナンス・Retry-After:RFC 9110「503 Service Unavailable」