話題の記事

【朗報】Amazon CloudFrontのキャッシュ削除(Invalidation)が速くなりました【5秒で90%】

2017.03.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ども、大瀧です。
本日、AWSのCDNサービスCloudFrontのキャッシュ無効化(Invalidation)高速化のアナウンスがありました。

試してみた様子をレポートします。

CloudFrontのキャッシュ削除にかかる時間

CloudFrontのキャッシュ削除は、コンテンツのパス単位(ワイルドカード指定も可)で従来10〜15分程度かかっていたものです。今回のアップデートで、CloudFrontエッジロケーション(キャッシュサーバー)の90%には5秒で、全体には1分で削除が行われるようになりました。同時リクエスト数や料金などのルールは従来通りです。

では、手元のCloudFront Distributionで試してみます。キャッシュ設定は以下の通り、60秒キャッシュする状態(Default TTL)です。

cloudfront-fastinvalidation01

手元からcURLでリクエストを送ると、2回目以降はx-cacheヘッダがHit from CloudFrontとなり、キャッシュが効いていることがわかります。

$ curl -I https://ipv6deployedtoyouredgelocation.com/index.html
HTTP/2 200
content-type: text/html
content-length: 12349
date: Fri, 31 Mar 2017 00:45:51 GMT
last-modified: Wed, 29 Mar 2017 04:26:45 GMT
etag: "993c5300d46c3970cca496a402248aeb"
accept-ranges: bytes
server: AmazonS3
age: 5
x-cache: Hit from cloudfront
via: 1.1 86232f3e7171d72cbd25064a993639d3.cloudfront.net (CloudFront)
x-amz-cf-id: OsdaAymVy2EO-dX_H4kYWV_i40gqUdPnn1P5Q9w8dcBKYhyJy4DZcA==

$ curl -I https://ipv6deployedtoyouredgelocation.com/index.html
HTTP/2 200
content-type: text/html
content-length: 12349
date: Fri, 31 Mar 2017 00:45:51 GMT
last-modified: Wed, 29 Mar 2017 04:26:45 GMT
etag: "993c5300d46c3970cca496a402248aeb"
accept-ranges: bytes
server: AmazonS3
age: 7
x-cache: Hit from cloudfront
via: 1.1 171d3bd7ed02f868a62075a1caaa7993.cloudfront.net (CloudFront)
x-amz-cf-id: 0Qm_Sl6YLuNT5QB24fhV04jPO2IYrJ-tKXlQkPOx3GmrBNfXt8pDNw==
$

では、キャッシュ削除を実行してみます。

cloudfront-fastinvalidation02

削除の前後でcURLを実行してみると。。。

$ curl -I https://ipv6deployedtoyouredgelocation.com/index.html
HTTP/2 200
content-type: text/html
content-length: 12349
date: Fri, 31 Mar 2017 00:45:51 GMT
last-modified: Wed, 29 Mar 2017 04:26:45 GMT
etag: "993c5300d46c3970cca496a402248aeb"
accept-ranges: bytes
server: AmazonS3
age: 12
x-cache: Hit from cloudfront
via: 1.1 267da846920abda366cb546e2d1bcf36.cloudfront.net (CloudFront)
x-amz-cf-id: SBjk3A-3fttRvsQ9GgczNJzUFMC2fJqX436cDkBOZRkWtqC_o4qbdA==

$ curl -I https://ipv6deployedtoyouredgelocation.com/index.html
HTTP/2 200
content-type: text/html
content-length: 12349
date: Fri, 31 Mar 2017 00:46:10 GMT
last-modified: Wed, 29 Mar 2017 04:26:45 GMT
etag: "993c5300d46c3970cca496a402248aeb"
accept-ranges: bytes
server: AmazonS3
x-cache: Miss from cloudfront
via: 1.1 e8604f361da7dc464552f4142ac9dbda.cloudfront.net (CloudFront)
x-amz-cf-id: BeColIIks6XlMlHb11yX1Ky-2FoVGBkVnX8T4IFqs6IMKD1haLDWcQ==
$

有効期限にならない(60秒経たない)うちにMiss from cloudfrontのレスポンスが返ってきました。キャッシュ削除が実行されたことがわかります。

まとめ

CloudFrontのキャッシュ無効化が速くなった様子をご紹介しました。誤ったコンテンツを公開してしまったときに迅速に対応できるようになり、CloudFrontの使い勝手が大きく向上した印象です。ただしキャッシュ無効化機能は回数が多いと課金されることからも、定常的に利用する機能ではありません。非常時のオペレーションとして覚えておくようにしましょう。

参考URL