LOG IN SIGN UP
Documentation

よくある 503 エラー

オリジンサーバからデータを取得する際に、さまざまな理由から Fastly CDN 上で動作する Varnish が標準化された 503 のエラーレスポンスを返すことがあります。

503 エラーが返す汎用的な status text は、"Service Unavailable." です。このエラーレスポンスが意味する対象は広範囲に及び、表示される最もよくある理由として、以下が挙げられます。

  1. オリジンで 503 エラーが発生し、そのまま通している。
  2. オリジンがレスポンスヘッダなしで 503 エラーを返したため、デフォルトのレスポンスが使用された。
  3. オリジンからの HTTP レスポンスの Status 行をパースできなかった。
  4. 適切なレスポンス status を含まない "error" 文を含む VCL コードが実行された (例: error 503 "_broken thing_" ではなく error 503 など)。

次に、最もよくある標準化された非汎用的な 503 レスポンスと、各レスポンスの基本的な説明を一覧で説明します。

503 Backend Read Error

このエラーが発生するのは、コンテンツをキャッシュする際、バックエンドにタイムアウトの問題がある場合です。また、Fastly のキャッシュサーバがオリジンからコンテンツを取得しようとした際、read ができなくなる別のネットワークエラーが存在する場合にも発生します。これらのエラーは、ルーターのフェイルオーバー、パケットロス、オリジンの過負荷などの過渡的なネットワークの問題により一定の間隔で発生します。オリジンサーバまたは特定のファイルに「503 Backend Read Error」が繰り返し発生する場合は、簡単な設定をいくつか変更することで、エラーの発生を防止できます。

バックエンドのレスポンスタイムをベンチマークする。 バックエンドのレスポンスタイムは様々な外的要因により変化しますが、次のコマンドを実行することで、ベンチマーク用途に適切なレスポンスタイムを測定することができます。

curl -s -w "%{time_total}\n" -o /dev/null http://example.com/path/to/file

バックエンドのレスポンスタイムを延長する。 遅めのパスをベンチマークすることによって、チューニングに最適なバックエンドのレスポンスタイムがわかります。バックエンドの設定は、Hosts ペイン上の Advanced Configuration 設定で調整できます。ベンチマーク結果をもとに、First Byte フィールドの値を設定しましょう。First Byte フィールドは、タイムアウトするまでの先頭バイトの待ち時間をミリ秒単位で表します。

503 Backend Write Error

「Backend Read Error」と同様ですが、Fastly を介して POST リクエストをバックエンドに送信する際に発生します。

503 Client Read Error

「Backend Read Error」と同様ですが、情報をクライアントから read する際に発生します。通常、このエラーはクライアントと Fastly 間のネットワークの問題によるため、エラーがクライアントに到達することはありません。

503 Connection Refused

オリジン IP に TCP 接続しようとして、接続を拒否された際に発生します。通常、このエラーは Web サーバが稼働していないか、ファイアウォールの設定に誤りがある場合に発生します。

503 Network Unreachable

指定された IP 範囲へのルートが見つかりません。通常、このエラーはルーターの設定に誤りがあるか、ルーターが故障している場合に発生します。

503 Backend Is Unhealthy

このエラーは、エッジサーバがクライアントのリクエストを受信し、オリジンにリクエストを送信する必要があるものの、カスタム・ヘルス・チェックによりバックエンドの故障が報告されている場合に発生します (この場合、Fastly は試行すら行いません)。Fastly には、現時点で "Backend.max_conn Reached" (下記参照) の代わりにこのエラーがスローされるバグがあります。これが発生するのは、初めて最大接続数に達したときのみです。

503 Backend.max_conn Reached

Fastly のサービスは、バックエンドごとに対応する最大接続数があります。Varnish は、定義された上限数に達したバックエンドにリクエストを送った際に、このエラーを返します。デフォルトでは、オリジンが過負荷にならないように、1 つのキャッシュノードからオリジンへの接続数を 200 までに制限しています。接続数を変更する場合は、管理画面の Hosts ペインにアクセスし、バックエンドの横にある歯車アイコンから Advanced Configuration 設定を選択します。Advanced Configuration ウィンドウ上の Max Connection フィールドからより大きな値に変更できます。

503 Illegal Vary Header From Backend

Vary ヘッダは、オブジェクトの異なるバージョンを配信すべきかの判断用途に使うべきヘッダを中間キャッシュに伝えます。一般的な例が "Accept-Encoding" で、キャッシュはヘッダのバリエーションごとに個別のコピー (gzip 形式を使うか使わないかなど) を保持します。このエラーは、バックエンドが不正な形式のリスト (誤った空白、カンマ区切りなど) をキャッシュに返した場合に発生します。

503 No Stale Object Available

Fastly CDN は、バックエンドに故障がある場合に古いオブジェクトを配信するように設定することができます。このエラーは、古いオブジェクトが失効していて、なおかつバックエンドが引き続き故障している場合に発生します。

503 Quorum Wait Not Reached

このエラーは、Fastly API を介してのみ利用可能な "Director" オブジェクトに関連して発生します。一般的に、このエラーはグループ内のバックエンド不足によって、トラフィックを捌けない場合に発生します。

503 No Healthy Backends

このエラーも、Director 設定オブジェクトに関連して発生します。このエラーは、指定されたコンテンツのキャッシュを処理する Director 下に健全なバックエンドがないことを意味しています。

503 All Backends Failed or Unhealthy

このエラーが発生するのは、Director 関連のすべてのバックエンドが不安定であるか、または Director 内の複数のバックエンドから情報をフェッチしようとして、どれも同じエラーにより失敗した場合です。


Translations available [EN] English

翻訳についての注意事項Back to Top