ワクワクしながらページを見ていると、急に現れた「503 Service Unavailable」の文字。
せっかくの気分も台無し。これってなんとかならないの?
そんな残念な体験を解消するためにも、ユーザーができる解決方法、サイト管理者ができる解決方法、具体的な事例をまとめました。
このページの目次
503 Service Unavailableとは、ウェブサイトのサーバーがリクエストを処理する準備ができていないことを示すエラーメッセージです。
サーバーは、ウェブサイトの情報を提供する仕組み(ソフトウェア・機械)です。
レストランにおける、注文された料理をテーブルまで運んでくる店員をイメージすると分かりやすいかと思います。
503エラーの場合、サーバー自体は稼働しているものの、メンテナンスや過負荷によって、ウェブページを表示する準備ができません。
レストランの例で言うと、店員さん(サーバー)が休憩中だったり、他のお客さんの対応に追われて、注文した料理が出てこない状態です。
「503 Service Unavailable」の仕様は、 RFC 7231 「Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content」にて次のように定められています。
6.6.4. 503 Service Unavailable
The 503 (Service Unavailable) status code indicates that the server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. The server MAY send a Retry-After header field (Section 7.1.3) to suggest an appropriate amount of time for the client to wait before retrying the request.
Note: The existence of the 503 status code does not imply that a server has to use it when becoming overloaded. Some servers might simply refuse the connection.
日本語訳
6.6.4. 503 Service Unavailable
503 (Service Unavailable) ステータスコードは、一時的な過負荷や予定されたメンテ ナンスのために、サーバーが現在リクエストを処理できないことを示しますが、おそらくいくらかの遅延の後に緩和されるでしょう。サーバーは、クライアントがリクエストを再試行する前に待つための適切な時間を示唆するために、 Retry-Afterヘッダーフィールド (セクション7.1.3) を送ってもよい(MAY)。
注意: 503ステータスコードの存在は、サーバーが過負荷になったとき にそれを使用しなければならないことを意味しない。 サーバによっては、単に接続を拒否する場合もあります。
ブラウザの互換性など、より専門的な情報が必要であれば mozilla の MDN Web Docs 「503 Service Unavailable - HTTP | MDN」もご確認ください。
503 Service Unavailable は、ウェブサイトのサーバー側のエラーなので、ユーザー側では解決できません。
このエラーに遭遇した場合は、ウェブサイト管理者の対応を待つことになります。
503 Service Unavailable の場合に、次の方法で解決できるという説明もあります。
ただし、ページの更新はウェブサイトのサーバー負荷を高めるのでNGです。
503 Service Unavailable の原因のひとつは、ウェブサイトへのアクセス集中などによる、サーバーの過負荷です。
そんなとき、ページを更新したらウェブサーバーに更なる負荷がかかってしまいます。
最悪、DDoS攻撃とみなされることもあるので、時間を置いてサイト管理者が解決するのを待ちましょう。
あなたがサイト管理者であるならば、まず落ち着いて問題の原因を突き止めましょう。
よくある問題想定と対処法は次の通りです。
特に起こりがちなのが、最後のユーザーのアクセス数がサーバー処理能力を超えるケースです。
キャンペーンなどで急激にユーザーのアクセスが集中することで、サーバー処理能力が不足すると「503 Service Unavailable」が表示されます。
長期休暇期間や新規サービス開始当日など、ユーザー数が急激に増えるタイミングでは、余裕を持ったサーバー設定にしておきましょう。
実際にあった 503 Service Unavailable の具体的な事例を見ていきましょう。
Slackが全世界でサービスダウン、503 Service Unavailable!pic.twitter.com/lzWWk8KMA9
— Ayato Nakagawa (@AyatoNakagawa)May 13, 2020
今朝はSlack先生が寝坊しているらしく、仕事が始まらなくて困る。よく見ると"503 Service Unavailable"って表示されているんだけど、これHTTPで動いてたのか。pic.twitter.com/UtYmQLOhSv
— 幡谷ぬこ三郎 (@N_Hataya)May 13, 2020
昔、Twitterで過負荷になるとクジラの絵が出たんだけど、slackは文字で503 Service Unavailableと出るだけ。なので、今頃Slack社では、過負荷時やサービス停止時のクールな画像をコンペしていると思いますよ(そんなわけない)
— 徳丸 浩 (@ockeghem)May 13, 2020
55分くらいからYouTubeが動かない
— 高尾民 @色々あって停止中 (@takao_min)December 14, 2020
503 Service Unavailable
YouTubeのサーバーが過付加で落ちるとは考えにくいから緊急のメンテナンスかな?pic.twitter.com/iYoySGLVWA
あっ、本当につべ落ちてら_(:3」∠)_
— ΚΩ@SkyLeapマン (@kalpha780710)December 14, 2020
503てことはService Unavailableか…pic.twitter.com/BV6jMBgswx
(´-`).。oO(YouTubeが"503 Service Unavailable"で落ちてるっぽいけど、これはZaif伝統芸"502 Bad Gateway"とは似て非なるエラーなのでこれ豆な…)pic.twitter.com/tpPnvURd9r
— おけら@臆トレManager4545 (@okera1127)October 17, 2018
特許庁のJ-PlatPatがメンテ中でメンテナンス情報になってる (こういうことを避けるためにみなさんは503 Service Unavailableを返しましょうね)pic.twitter.com/WH6CYXmfjJ
— クリスチーネG (@tadsan)September 18, 2020
きちんと503エラーを返していないせいで、Googleにメンテナンスページを登録されてしまった特許庁。
なかなか珍しいことですが、ウェブサイト管理者としては教訓にしていきたいですね。