Amazon CloudFrontはオリジンサーバーによって生成された動的および静的Webコンテンツを世界中の方々に低レイテンシーで配信します。ユーザーが存在しないオブジェクトをリクエストした場合(404 Not Found)、または、認証されていないユーザーがオブジェクトをダウンロードしようとした場合(403 Forbidden)、CloudFrontは、以下のような短くそっけないエラーメッセージを表示していました。

本日、CloudFrontを改良し、閲覧者のリクエストに対し、エラーのレスポンスを返す際、送信するコンテンツを制御できるようになったことを発表いたします。HTTPステータスコード毎に異なるレスポンスを返すことができます。
CloudFrontのManagement Consoleに新しく、Error Responsesのタブが追加されています。

設定するには、Create Custom Error Responseボタンをクリックします。それから次のフォームを使ってエラーレスポンスを作成します。

リストに表示されている10個のHTTPステータスコード毎にそれぞれ個別のエラーレスポンスを作成することができます。Response Page Pathに返されるページを指定します。最良の結果を得るには、ここに、Amazon S3のバケットを指定するのがいいでしょう。こうすることで、オリジンサーバーにページを保存するより信頼性を高めることができます。
レスポンスページと一緒に返されるHTTPのステータスコードを選択することもできます。(ほとんどの場合、200を使いたいでしょう。)

最後に、エラーのレスポンスにError Caching Time To Live (TTL)を設定ることができます。 デフォルトでは、CloudFrontは5分間、4xx および 5xx エラーのレスポンスをキャッシュします。この値は必要に応じて変更することができます。小さい値を設定することで、オリジンサーバーへより多くのリクエストがフォワードされることに注意してください。これにより、オリジンサーバーの負荷が増大し、さらに問題を引き起こす可能性があります。
また、オリジンサーバーも、Cache-ControlやExpiresヘッダーをエラーレスポンスの一部として返すことにより、TTLを制御することができます。