LoginSignup
31
26

More than 5 years have passed since last update.

CloudFront エッジサーバのキャッシュ時間の制御

Last updated at Posted at 2014-04-07

CloudFront エッジサーバのキャッシュ時間の制御

2014.4.7

既知の内容ですがメモしておきます(・.・)
エッジサーバのキャッシュ時間を指定する方法とそのキャッシュをクリアする方法です.

今回使うサーバの構成

オリジン(AWS S3) -- CDN(CloudFront) -- クライアント(web ブラウザなど)

エッジサーバのキャッシュ時間の設定方法

  • CloudFront はデフォルトでオリジンサーバのコンテンツを 24 時間キャッシュするようになっている.(*1)
  • このキャッシュ時間を変更したい場合は, 例えば, オリジンサーバのレスポンスヘッダに Cache-Control: max-age=300 などキャッシュ時間を設定する. すると CloudFront はこちらの指定を優先してこの指定した時間に変更する.

エッジサーバのキャッシュをクリアする

ドキュメントによると(*2), CloudFront の設定画面で Invalidations へ進み Create Invalidation を選択, キャッシュをクリアしたいファイルのパス及びファイル名を明記し Invalidate を実行することでエッジサーバのキャッシュをクリアすることができる. 実行後, Status が Completed に変わったら処理が終わりキャッシュがクリアされる.

cdn.png

入力例

ドメインを xxx.cloudfront.net とし, xxx.cloudfront.net/test/index.html のキャッシュをクリアする場合.

/test/index.html

または

test/index.html

と明記する. ルートディレクトリからのパス指定となっている.

  • 反映には 20 分程度かかる.
  • ファイル指定に wildcard は使えない.
  • 一度実行すると取り消しができない.
31
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
26