【朗報】Amazon CloudFrontのキャッシュ削除(Invalidation)が速くなりました【5秒で90%】
ども、大瀧です。
本日、AWSのCDNサービスCloudFrontのキャッシュ無効化(Invalidation)高速化のアナウンスがありました。
試してみた様子をレポートします。
CloudFrontのキャッシュ削除にかかる時間
CloudFrontのキャッシュ削除は、コンテンツのパス単位(ワイルドカード指定も可)で従来10〜15分程度かかっていたものです。今回のアップデートで、CloudFrontエッジロケーション(キャッシュサーバー)の90%には5秒で、全体には1分で削除が行われるようになりました。同時リクエスト数や料金などのルールは従来通りです。
では、手元のCloudFront Distributionで試してみます。キャッシュ設定は以下の通り、60秒キャッシュする状態(Default TTL
)です。
手元から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== $
では、キャッシュ削除を実行してみます。
削除の前後で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
- AWS Developer Forums: Announcing Fast Invalidations
- Invalidating Objects (Web Distributions Only) - Amazon CloudFront (3/31 10:00時点ではまだ今回のアップデートは反映されていません)