share facebook facebook twitter menu hatena pocket slack

2011.06.10 FRI

CloudFrontのキャッシュ有効期限を1時間にする(S3オリジン)

鈴木 宏康

WRITTEN BY 鈴木 宏康

CloudFrontのキャッシュ有効期限は基本的に1日なのですが、Cache-ControlやExpiresなどのHTTPヘッダを追加することで、最短1時間にまで変更することができます。

AWS Management Consoleで設定する場合は、S3タブにて対象ファイルを下記のように変更すればOKです。
(※ただしCloudFrontのオリジンがS3であることが前提です)

ただExpiresで、1時間後の時刻を指定し続けるのは非現実的なので、Cache-Control: max-age=3600を使う形になると思います。

実際に確認してみると、下記のようにレスポンスを確認すると、上記のヘッダが追加されていることが確認できます。

# telnet s3.amazonaws.com 80
Trying 207.171.187.117...
Connected to s3.amazonaws.com.
Escape character is '^]'.
GET /cdn.suz-lab.com/sample.txt HTTP/1.1
Host: s3.amazonaws.com
Connection: close

HTTP/1.1 200 OK
x-amz-id-2: DzguznSCW0CPEbxAG7i7B9/1f/c/awpKch/sCjMlL5xO4t3gH++RCADEKGWhNYfi
x-amz-request-id: 634C9FC0C961E3A8
Date: Tue, 07 Jun 2011 11:40:40 GMT
Cache-Control: max-age=3600
Expires: Tue, 07 Jun 2011 16:00:00 GMT
Last-Modified: Tue, 07 Jun 2011 11:19:26 GMT
ETag: "5e8ff9bf55ba3508199d22e984129be6"
Accept-Ranges: bytes
Content-Type: text/plain
Content-Length: 6
Server: AmazonS3

sample
Connection closed by foreign host.

この設定は、バケット全体に設定できたらいいですね。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。