メニュー
Amazon CloudFront
開発者ガイド (API Version 2016-09-29)

HTTP 503 ステータスコード (Service Unavailable)

通常、HTTP 503 ステータスコード (Service Unavailable) は、オリジンサーバーのパフォーマンスの問題を示します。まれに、エッジロケーションでリソースが制限されているため、CloudFront が一時的にリクエストを満たせないことを示している場合もあります。

オリジンサーバーにリクエスト率をサポートする十分な容量がない

CloudFront は、受信されるリクエストをオリジンサーバーが処理しきれなくなったときに、このエラーを生成します。この場合、CloudFront はエラーをユーザーに中継します。この問題を解決するには、以下の手順をお試しください。

  • Amazon S3 をオリジンサーバーとして使用する場合は、キー命名規則のベストプラクティスに従って Amazon S3 のパフォーマンスを最適化します。詳細については、Amazon Simple Storage Service 開発者ガイドの「リクエスト率およびリクエストパフォーマンスに関する留意事項」を参照してください。

  • オリジンサーバーとして Elastic Load Balancing を使用している場合は、「503 エラークラシック」を参照してください。

  • カスタムオリジンを使用している場合は、アプリケーションログを調べて、オリジンにメモリ、CPU、ディスクサイズなどのリソースが十分にあることを確認します。Amazon EC2 をバックエンドとして使用している場合は、受信されるリクエストを満たす適切なリソースがインスタンスタイプにあることを確認します。詳細については、「インスタンスタイプ」 (Linux インスタンス用 Amazon EC2 ユーザーガイド) を参照してください。

DNS の問題により、CloudFront がオリジンドメインを解決できなかった

CloudFront は、期限切れのオブジェクトやキャッシュに保存されていないオブジェクトをリクエストされると、オリジンにリクエストして更新されたオブジェクトを取得しようとします。オリジンに対して正常なリクエストを行うため、CloudFront はオリジンドメイン名で DNS 解決を実行します。ただし、ドメインをホストしている DNS サービスで問題が発生している場合、CloudFront はドメイン名を解決して IP アドレスを取得できず、503 エラーが発生します。この問題を解決するには、DNS プロバイダにお問い合わせください。Amazon Route 53 を使用している場合は、「Amazon Route 53 DNS」を参照してください。

この問題の詳しいトラブルシューティングを行うには、オリジンのルートドメインまたは zone apex (example.com など) の権威ネームサーバーが正しく機能していることを確認します。権威ネームサーバーはリクエストを受け取り、ドメインに関連付けられた IP アドレスを返し、CloudFront ディストリビューションを設定したときに使用した DNS サーバーと同じになります。apex オリジンのネームサーバーを見つけるには、以下のコマンドを使用します。

Copy
dig OriginAPEXDomainName NS +short nslookup –query=NS OriginAPEXDomainName

ネームサーバーの名前がある場合、次のコマンドを使用して、それらに対してオリジンのドメイン名のクエリを実行し、各サーバーが応答して答えを返すことを確認します。

Copy
dig OriginDomainName @NameServerFromAbove nslookup OriginDomainName NameServerFromAbove

エッジロケーションのリソースが制限されているために CloudFront でエラーが発生した

このエラーは、CloudFront から次の最も利用可能なエッジロケーションにリクエストをルーティングできるという限定された状況で発生します。まれに、CloudFront はリクエストを満たせない場合があります。その場合は、AWS サポートにお問い合わせください。

このエラーは CloudFront ディストリビューションで負荷テストを実行するときによく発生します。これを回避するには、「CloudFront の負荷テスト」のガイドラインに従って 503 (キャパシティー超過) エラーが発生しないようにします。通常、このタイプのエラーは、リクエスト時にエッジロケーションにオブジェクトに対応する十分な容量がなかったことを意味します。