【CloudFront】Terraformでカスタムエラーレスポンスを設定する

Terraform

 

CloudFront+S3の構成でエラーになったときに特定のページを表示させたーいーー!

ということで、エラーページを設定していきます

 

Terraformを使って設定していきます

・バージョン

 

ゴール

 

404エラーになったときに、エラーページを表示させる

ことをゴールとします。

 

現状は

となっています。

 

設定後は

を表示させます

 

方針

 

CloudFront にカスタムエラーレスポンスを設定すれば実装できます

 

特定のエラーコードに対して、

指定したエラーページやステータスコードを返すよう設定できます

 

公式ドキュメントはこちらです

 

実装

エラーページ

 

・404.html (404に対して表示させるページ)

 

S3へアップロード

 

先ほど作成したエラーページをCloudFrontのオリジンであるS3にアップロードします。

AWS CLIでアップロードしましたが、コンソールからアップロードしても大丈夫です!

 

Terraform

 

 

aws_cloudfront_distribution 内の custom_error_response ブロックで定義します

プロパティ 説明
error_caching_min_ttl  エラーページのキャッシュを保持する時間
error_code  設定したいエラーコード
response_code ブラウザへ返すレスポンスコード
response_page_path エラーページのパス

は必須項目

 

plan , apply

 

 

ダウンタイムはなかったと思います。。。

 

動作確認

 

https://<CloudFrontのドメイン>/<S3にないフォルダ名>/

にアクセスして、↓が表示されればOKです!

 

 

もし表示されない場合は、403が返ってきている可能性があります。

下記を参考に404が返ってくるように設定してみてください

 

参考記事

 

カスタムエラーレスポンスの生成 - Amazon CloudFront
リクエストされたコンテンツを CloudFront が配信ができない場合の、カスタムエラーレスポンスを生成します。
Terraform Registry
Help with defining custom_error_responses · Issue #40 · cloudposse/terraform-aws-cloudfront-s3-cdn
Hello Gents, I am struggling with defining custom_error_responses using your module. Can you please guide how to create custom error response with values kept i...

 

コメント

タイトルとURLをコピーしました