Amazon CloudFront
開発者ガイド (API バージョン 2016-09-29)

特定の HTTP ステータスコードのカスタムエラーページを作成する

デフォルトメッセージはなく、お客様のウェブサイトの他のページと同じ書式設定のカスタムエラーメッセージなどを表示する場合は、カスタムエラーメッセージを含むオブジェクト (HTML ファイルなど) が CloudFront からビューワーに返されるようにすることができます。

 AWS の 404 ページ。

サポートされている HTTP ステータスコードごとに異なるオブジェクトを指定することができます。または、サポートされているすべてのステータスコードに同じオブジェクトを使用することもできます。一部のステータスコードにオブジェクトを指定して、それ以外には指定しないことも可能です。

CloudFront を通して供給されているオブジェクトは、様々な理由で使用できなくなることがあります。理由は、大きく 2 つに分類できます。以下にそれぞれを説明します。

  • クライアントエラーは、リクエストに問題があります。たとえば、指定した名前のオブジェクトを取得できない、または Amazon S3 バケット内のオブジェクトを取得するために必要な許可をユーザーが持っていないという場合です。クライアントエラーが発生すると、オリジンは 400 番台の HTTP ステータスコードを CloudFront に返します。

  • サーバーエラーは、オリジンサーバーに問題があります。たとえば、HTTP サーバーが混雑していたり使用不能であったりする場合です。サーバーエラーが発生すると、オリジンサーバーから 500 番台の HTTP ステータスコードが CloudFront に返されるか、または一定の時間オリジンサーバーから CloudFront へのレスポンスがなくなり (ゲートウェイタイムアウトと見なされて) 504 ステータスコードが返されます。

CloudFront がカスタムエラーページを返すことのできる HTTP ステータスコードは、以下のとおりです。

  • 400、403、404、405、414、416

  • 500、501、502、503、504

注記

リクエストされた範囲は不適格であることを示す HTTP ステータスコード 416 (Requested Range Not Satisfiable) のカスタムエラーページを作成したり、オリジンが CloudFront にステータスコード 416 を返すと CloudFront がビューワーに返す HTTP ステータスコードを変更したりできます。 (詳細については、「レスポンスコードを変更する」を参照してください)。ただし、CloudFront はステータスコード 416 のレスポンスをキャッシュしないので、ステータスコード 416 の [Error Caching Minimum TTL] の値を指定することはできますが、CloudFront はそれを使用しません。

CloudFront がオリジンからのエラーレスポンスを処理する方法の詳細な説明は、「CloudFront がオリジンからの HTTP 4xx および 5xx ステータスコードを処理してキャッシュに保持する方法」を参照してください。