503エラーとは?原因と対処法、復旧までの時間や回避方法など解説! | Strategy by ipe (original) (raw)

503エラーとは、「Service Temporarily Unavailable」とも呼ばれ、訪問者の閲覧制限を表すHTTPレスポンスステータスコードです。今回は503エラーに焦点を当て、その概要や発生原因、対処方法、混同しやすいHTTPレスポンスステータスコードなどをご紹介します。気になるポイントを一挙確認してしまいましょう。

503エラーとは?

503エラーとは、「Service Temporarily Unavailable」とも呼ばれ、訪問者の閲覧制限を表すHHTTPレスポンスステータスコードです。

例えば、あるアーティストのライブチケット一般販売当日、チケット販売ページにユーザーアクセスが集中し、サーバーダウンする恐れがあるため、閲覧人数を制限するために503エラーが出されることがあります。

HTTPレスポンスステータスコードとは、ユーザーリクエストにたいして、Webサーバーからのレスポンス結果を表す3桁の数字コードです。
HTTPレスポンスステータスコードは、100番台〜500番台まであり、数字ごとに示す意味は異なります。

特に、500番台のHTTPレスポンスステータスコードは、「サーバーエラー」と呼ばれており、サーバーがブラウザからのリクエスト処理に失敗した状態を表すエラーコードです。

なお、HTTPレスポンスステータスコードはHTTP/1.1の仕様にて決められています。
気になる方はぜひ読んでみてください。

503エラーはサーバーダウンではない

503エラーはサーバーダウンを防ぐための予防的な措置であり、アクセス制限を受けるのは特定のサイトだけとなります。仮にサーバー自体がダウンしてしまうと、サーバー上の全てのWebサイトが閲覧不可となってしまいます。そのように影響範囲が広がるのを防ぐため、サイトごとにサーバーへのアクセス上限が存在しています。そのアクセス上限を超えた時に発生するのが、503エラーとなっています。そのため、503エラーはサーバーダウンではありません。

503エラーによる影響

503エラーは一度発生してしまうと、対策なしでは再発する可能性が高くなってしまいます。また、一度でも503エラーで閲覧できなかったユーザーは、再訪することをせずに他サイトに流れていってしまう可能性があります。その結果として、CVが低下する、ECサイトやクリック広告などの収益が上がらないといったことに繋がってしまう可能性があるので、エラーが起こる原因を知り、対策をとっておくことが重要です。

503エラーの発生原因

503エラーの発生原因について知っておくことで対策を立てることができます。発生原因について詳しく見ていきましょう。

一時的なアクセスの集中

SNSやニュースで取り上げられるなどした場合に、一時的にアクセスが集中することがあります。そのようなアクセスの集中が起こった場合に、サーバーを守るために503エラーが生じます。エラー自体は一時的なものですだが、その間に沢山のユーザーの訪問機会を逃すことに繋がりかねません。

向上的なサーバーへの過負荷

発生するアクセス数に見合ったサーバー契約になっていない場合、常にサーバーに負荷がかかっている状態となります。また、サイトに使用されている画像やプログラムなどが重たく、サーバーの処理能力にあっていない場合も過負荷の原因となります。そうすると、アクセスがサーバーの許容範囲を超えやすく、恒常的に503エラーが発生する状態になってしまいます。

すぐにできる503エラーの対処方法

503エラーが起きた場合、できるだけ早く対処する必要があります。すぐにできる対処方法について確認していきましょう。

サーバーのログを調べる

まずサーバーのログを調べてエラーの原因を確認します。プログラムの誤記によってエラーが発生している場合には、まずプログラムコードを修正しましょう。その他設定ミスによるものでも、早期に対応することが大切です。

ホスティング会社の情報を確認する

503エラーは、ホスティング会社のサーバーメンテナンスによって発生している場合もあります。ホスティング会社のWebサイトやSNSを確認し、サーバーメンテナンスのお知らせがないか確認しましょう。また、メンテナンスでなくても、エラーによるものもあるので、問い合わせも検討してみてください。

プラグインを一時的に停止する

プラグインの一時停止はワードプレスやECキューブなどのCMSを利用している場合に可能になる対処方法です。一部のプラグインが重たく、サーバー負荷を上げている可能性がある場合に有効な方法です。思い当たるプラグイン機能をひとつずつ無効にしてみることで解消される可能性があります。

サーバーを再起動する

サーバーを再起動することで、503エラーを解消できることもあります。例えば、該当サイトがホストされているサーバーチェーン内で、データ処理関連の問題が起きている場合に有効な方法です。複数のサーバーにホストされている場合、それぞれのサーバーで再起動を行う必要がある点に注意してください。

アクセス集中の改善を待つ

503エラーが発生した際は、アクセス集中の改善を待ちましょう。

ネットニュース・SNSなどによる話題性が原因で、一時的にWebサイトやページのアクセス数が急増し、503エラーが表示されることがあります。

通常時、問題なく使用できるWebサイトやページで503エラーが表示された場合はアクセス集中が収まるのを待ちましょう。

時間をかけて取り組む503エラーの対処方法

すぐにできる503エラーの対処方法を試しても改善しない場合もあります。そのような場合には時間をかけて対策する必要があります。

サーバーの強化

503エラーはいわばサーバーの問題といえるので、サーバーを強化することで503エラーの発生をなくすことができます。
では、サーバーを強化するには、何をすればよいのでしょうか。

例えば、企業が社内にサーバーを設置していて、そのサーバーでWebサイトを動かしている場合、より性能が高いサーバーにすることで解決できます。クラウド経由のサーバーなど、サーバー・サービス会社が提供しているサーバーを使っている場合は、利用プランをより上位のものに切り替えることで解決できるかもしれません。上位のプランなら、使用するクラウド・サーバーの性能や容量が上がり503エラーが出にくくなります。

そして、クラウド・サーバーを利用していて上位プランに切り替えても問題が解決しないときは、別の会社のサーバー・サービス会社に切り替えることも検討したほうがよいでしょう。
503エラーが出にくいクラウド・サーバーを探すことで解決できます。

サーバープランやWebサーバー自体を変更する

503エラーが発生した際は、サーバープランやWebサーバー自体の変更を検討しましょう。

サーバープランやWebサーバーを変更する際は、エラーの原因を特定し、それに準じた対策方法を試みましょう。

原因 対策方法
データ転送量がWebサイトやページの上限を超えた ・サーバープランを変更し、転送量の上限を上げる・転送量の上限が高いサーバーに換える
サーバーのスペック的に同時接続数を処理しきれていない ・スペックが良いサーバーに換える
共用サーバーを使用した際、複数の利用者がサーバーに負担をかけすぎている ・サーバー会社の対応を待つ・スペックが良いサーバーに移行する

上記が原因で503エラーが発生した場合、仮に今回解決できたとしても、サーバーの利用状況から今後も日常的に503エラーが発生する可能性が高いです。

この機会に、Webサーバーやサーバープランを変更し、快適な作業環境を検討してみてください。

Webページをキャッシュする

503エラーが発生した際は、Webページのキャッシュを検討しましょう。

キャッシュとは、ブラウザが一度表示したページデータを保存することで、次回同じページを表示する際、素早く表示してくれる仕組みのことです。

WordPressなど「ページにアクセスするため、データベースへのアクセスが発生する」CMSシステムを利用している場合、データベースへの過負荷が原因で503エラーが起きる場合があります。

Webページをキャッシュしておけば、データベースの負担が軽くなり、503エラーを改善できる可能性があります。

ページキャッシュは、レンタルサーバー側の機能やWordPressの場合は、プラグインの使用が一般的です。

【ページキャッシュ方法】

HTML/CSS/JavaScriptを圧縮する

503エラーが発生した際は、HTML/CSS/JavaScriptを圧縮して改善を図りましょう。

ページデータを圧縮することで、サーバーへのデータ転送量が減り、503エラーを解決できる可能性があります。

HTML/CSS/JavaScriptを圧縮をする際は、無駄なソースコードを削除することで軽量化しましょう。

『Online JavaScript/CSS/HTML Compressor』などの圧縮ツールを活用すると、簡単に圧縮することができます。

データ転送量の軽量化

自社サーバーを買い替えたり、クラウド・サーバーの上位プランに切り替えたり、キャッシュを導入したりするとコストがかかります。
しかし、サーバーがWebページの閲覧者に送信するデータ量を軽量化する方法なら、コストはそれほどかかりません。
例えばWebページに掲載している画像を縮小したり、そもそも掲載する画像の数を減らしたり、HTML/CSSを圧縮したりすると、データ転送量が軽量化され、その結果サーバーへの負担が減り503エラーが出にくくなります。

ファイアウォールの設定を修正する

ファイアウォールは悪意のあるユーザーやサイバー攻撃からウェブサイトを守る役割を持っています。しかし、設定に何かしらの誤りがあると、正常なリクエストが危険なサーバーへの攻撃とみなされブロックされてしまいます。そのため、ログなどを調べてファイアウォールが原因である場合は、ファイアウォールの設定を見直す必要があります。

503エラーに強いサーバーを選ぶための指標

503エラーの改善にはサーバーの見直しも有効です。503エラーに強いサーバーを選ぶための指標について見ていきましょう。

サイトの月間アクセス数

まず初めに、自社サイトの月間アクセス数を調べます。月間アクセス数10万PVを一つの目安として、それ以下であれば共用型サーバーでも問題が起こることは少ないです。一方で、10万PVを超えるようであれば専用サーバーの導入を検討するべきです。

同時接続できるユーザー数

次に最大で何人のユーザーが同じタイミングでアクセスできるかを調べます。その数を同時接続数と言い、計算方法は以下のようになっています。
アクセスしているユーザー数 × アクセスされているファイル数
つまり、ファイル数が多いサイトの場合は同時接続数が高くなるので注意が必要です。この同時接続数を確認して、それに対して余裕を持ったサーバープランを導入するようにしましょう。

共用サーバーで発生する503エラー

共用のレンタルサーバーでは、自社のサイトに原因がない場合でもエラーが発生してしまうことがあります。その場合、サーバーのホスティング会社が対処を行うまでエラーが解消されません。場合によってはエラーが解消されるまでに数時間から数日という非常に長い時間がかかることもあります。共用サーバーの対処や恒久的な改善がされる場合は問題ありませんが、対応に疑問がある場合は変更を検討するようにしましょう。

503エラーの復旧時間は?

503エラーの復旧にかかる時間は、原因によって異なります。
ここでは、復旧に時間がかかる場合とすぐに復旧する場合には分けて紹介します。

復旧に時間がかかる場合

503エラーの原因が下記の場合は、復旧に時間がかかるでしょう。

アクセス過多やサーバーメンテナンスの場合は、こちらから対処することができないのでアクセス集中が落ち着くのを待ちましょう。
サーバーのスペック不足の場合は、前述した対処法であるサーバーの強化やプランの変更によって解決できる場合があります。
まずは、原因を調査して対処法を選択しましょう。

すぐに復旧する場合

503エラーの原因が、下記のような個人的な問題の場合はすぐに復旧できる可能性が高いです。

使用しているネット環境が問題で、503エラーが発生した場合はネットやデバイスを再起動することで復旧する可能性があります。
また、ファイアウォールやCDNなどの設定を変更した際に503エラーが発生することもあります。
手動でいじった記憶のある人は、設定が間違っていないか確認しましょう。

503エラーが起きているか確認する方法

アクセスができないけど、何のエラーが起きているのか分からない場合もあるでしょう。
そのような時は、「httpstatus.io」というサービスで確認できます。

「httpstatus.io」は、URLを入力するとサーバから返ってくるHTTPステータスコードを表示してくれるツールです。
HTTPステータスコードによって対処法も異なるので、何のエラーが出ているのかわからない場合は、「httpstatus.io」を使って確認するとよいでしょう。

503エラーと混同しやすいHTTPレスポンスステータスコード

ここでは、503エラーと混同しやすいHTTPレスポンスステータスコードについていくつか解説します。

ちなみに500番台は2021年11月現在で、10種類あります。
以下に、よくみられるHTTPレスポンスステータスコードについてまとめたので、ぜひ参考にしてみてください。

エラー名 詳細
100番台 情報レスポンス
200番台 成功レスポンス
300番台 リダイレクションメッセージ
400(Bad Request) 不正なリクエスト。400番台のエラーコードのどれにも当てはまらない場合に表示される漠然としたエラーコード
401(Unauthorized) 未認証。Webサイトへログインする際、認証に失敗した場合やそのサイトへのアクセス権限がない場合に表示されるエラーコード
403(Forbidden) 権限なし。アクセス権限を持っていないユーザーを除外する場合に表示されるエラーコード
404(Not Found) 見つかりません。サーバーがリソースを見つけられなかった場合に表示されるエラーコード
408(Request Timeout) リクエストが時間切れ。サーバーが設定している時間内にリクエストの返事を返せなかった場合に表示されるエラーコード
426(Upgrade Required) アップグレードを要求。サーバーを新しいバージョンのHTTPの方式で接続して欲しい場合に表示されるエラーコード
500(internal server error) サーバー内部にエラーが発生した場合に表示されるエラーコード
501(Not Implemented) 未実装のメソッドを使用した場合に表示されるエラーコード
502(Bad Gateway) あるサーバーが別のサーバーから受け取ったレスポンスが有効でなかった場合に表示されるエラーコード
503(Service Unavailable) あるサーバーが別のサーバーから受け取ったレスポンスが有効でなかった場合に表示されるエラーコード
511(Network Authentication Required) クライアントがネットワークでアクセスするために認証が必要な場合に表示されるエラーコード

HTTPレスポンスステータスコードには、他にも多数の種類があるため、気になる方は以下の公式サイトを参照してみてください。

【公式ページ|HTTPレスポンスステータスコード

503エラーに関するよくある質問

503エラーとは?

503エラーとはアクセスの過多に対してサーバーが落ちるのを防ぐために出されるエラーです。そのため、503エラーが表示されてもサーバーダウンというわけではありません。

503エラーの原因は?

503エラーはアクセスがサーバーの処理能力を超える場合に発生します。そのため、能力を超えるような突発的なアクセスが発生した場合に生じやすくなっています。それ以外に、常態的にサーバーが過負荷になっていると発生しやすくなります。

500エラーと503エラーの違いは?

500はInternal Server Errorで、サーバー内部でエラーが発生したときに表示されます。一方で503はService Unavailableで、アクセスが集中してしまいサーバーが処理できない場合に表示されます。そのため、503はサーバーのエラーというわけではない点が異なります。

503エラーは適切な対処で改善しよう!

このページでは、503エラーに焦点を当て、その概要や発生原因、対処方法、混同しやすいHTTPレスポンスステータスコードなどについて解説しました。

Webサイトに503エラーが発生しているとユーザーがページを閲覧できなかったり、SNSでページをシェアできなかったりとデメリットが多いです。

このような状態が続くとWeb集客に大きな影響をきたすため、503エラーは可能な限り、改善・対策する必要があります。

もし、503エラーが発生した際は、ぜひ本記事を参考にしてみてください。