CloudFront がオブジェクトをキャッシュする期間の指定については、Amazon が公開している下記ドキュメントをご覧ください。
CloudFront のキャッシュ時間はオリジン HTTP ヘッダーの「Cache-Control: max-age」により設定が可能で、 AWS_S3プラグインが S3 にオブジェクトを配置する際、メタデータ「Cache-Control」を設定しています。「Cache-Control」の初期値は 86400
(1日)で、プラグイン設定の「キャッシュ有効期限」において一括、もしくは拡張子毎に設定できます。
例えばプラグイン設定で下記のようにキャッシュ有効期限を設定した場合は、テキストファイルのメタデータには Cache-Control: max-age=30
が設定される事になります。
default=86400,txt=30
この状態でテキストファイルに対しリクエストを発行する検証を行うと、レスポンスヘッダーの X-Cache
の値は以下のようになりました。(CloudFront のキャッシュポリシーは「Managed-CachingOptimized」…つまり最小TTL 0
、最大TTL 31536000
です。)
Miss from cloudfront
Hit from cloudfront
Miss from cloudfront
(S3 にオブジェクトの更新確認や取得を行うため、オブジェクトが更新されている場合は新しいコンテンツが表示される)なお、 AWS_CloudFrontプラグイン等を利用し有効期限切れになる前に CloudFront エッジキャッシュからファイルを削除できますが、 1つのAWS アカウントあたり月間1,000パスを越える無効化リクエストには料金が発生します。キャッシュ有効期限設定等は慎重に検討する必要があります。
更新日:2025年01月17日
解決しなかった場合は
下記よりお問い合わせください