投稿日: Dec 21, 2017
本日から、Lambda@Edge で送信元からのエラーレスポンスをカスタマイズできるようになりました。Amazon CloudFront が送信元から受信した HTTP エラーに応答して、Lambda 関数を実行できます。つまり、Amazon CloudFront のオリジンレスポンスイベントに関連付けられた Lambda@Edge 関数が、現在サポートされている 2XX (成功) および 3XX (リダイレクト) ステータスコードに加えて、4XX および 5XX エラーステータスコードで呼び出されるようになりました。
この新機能を利用して、CloudFront が送信元から受信したエラーレスポンスに Lambda@Edge を使用してアクセスおよび上書きできるようになりました。リクエストの属性に基づいて、ビューワー向けにヘッダーの追加、リダイレクトの発行、レスポンスの動的生成を行うことができます。たとえば、送信元がダウンしている場合または設定されたタイムアウト値以内に接続を確立できない場合、ビューワーは現在 HTTP 5xx エラーまたは CloudFront で設定された静的なカスタムエラーページを表示します。この新機能を使用すると、代わりにビューワーをフェイルオーバーロケーションにリダイレクトしたり、Lambda 関数内でカスタマイズされたレスポンスを生成して 200 ステータスコード (OK) を返したりできます。別の例としては、この機能を使用してエラーレスポンス (200 ステータスコードレスポンスに加えて) に HSTS セキュリティヘッダーを追加し、ウェブサイト全体のセキュリティを改善できます。
この新機能を使用しても追加料金は発生しません。Lambda@Edge の詳細については、製品ページを参照してください。この新機能の使用方法に関する詳細については、以下のリソースを参照してください。
- オリジンレスポンストリガーでエラーレスポンスをカスタマイズする方法をご覧ください。
- 別のロケーションへのリダイレクトの例およびオリジンレスポンストリガー内での 200 ステータスコード (OK) を伴ったレスポンス生成の例。