CloudFront では Minimum TTL という設定項目でキャッシュ時間を指定できますが、S3 に CloudFront を適用する場合、何もしなければ Minimum TTL は有効に働かず、キャッシュ時間はデフォルトの「24時間」になってしまうことがあります。
CloudFrontのキャッシュ時間(TTL)はどの程度なのか
こちらの表にまとまっているように、キャッシュ時間はオリジンサーバーのヘッダの返却値と Minimum TTL との掛け合わせによって算出されます。
S3 ではデフォルトではこれらのヘッダは設定されないため、メタデータに「Cache-Control: max-age=0」を設定する必要があります。
CloudFront の Minimum TTL は必ず有効に働くわけではないことに注意しましょう。