2011年6月7日火曜日

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

スズキです。

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.

バケット全体に設定できたらいいのになー...
--------
http://www.suz-lab.com

0 コメント: