Help us understand the problem. What is going on with this article?

CloudFrontのエラーキャッシュのTTLを変更する

More than 5 years have passed since last update.

CloudFrontを使ってるとオリジンサーバで404などのエラーレスポンスが発生すると、暫くの間(デフォルトは5分間)CloudFrontは裏にリクエストを投げなくなります。その暫くの間ユーザには常にエラーページが返されます。

よくある光景

このデフォルトの挙動は、

1回エラーになっちゃったけどもう裏は正常化してるのにまだエラーが返ってくる。もぅヤダァ…早く元に戻ってよぉ……。

っていう経験を産み、その体感時間はとても長く感じて心臓に悪いです。ていうか数分レベルなんで実際長いです。

解決!

で、この時間を短くするにはどうすればいいんだろう?裏で404の時もCache-Controlヘッダーとか投げたら効いてくれるのかな?などと悩んでみましたが、実はコレ Custom Error Response で出来ました!

僕は Custom Error Response って、てっきり独自デザインのエラーページを返すための機能だと思ってたんですが違いました。これ実は カスタムページのパスは必須じゃなかった んですね!単にエラーになったときの 復帰までのTTLをカスタムするだけの用途 でも使えたということに遅まきながら気がついた(^^;

なので例えば↓こんな設定をしておけば、例えファイルを置く前に間違えてアクセスして404をキャッシュされちゃったとしても10秒ですぐにオリジンを確認してもらえるようになります。

Kw6jKM-h5v4a-7fgYX6xUt_1MwJbiUkJDRPgIjP5u34.png

ヤッター、めでたしめでたし。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away