LoginSignup
1
1

More than 5 years have passed since last update.

CloudFrontで~を含むInvalidation

Last updated at Posted at 2015-05-22

これまでCloudFrontを利用している際に ~ を含んだパスでInvalidationがうまくいかない現象*1が有りました。
本日(5/22)にCloudFrontのアップデートによりワイルドカード( * )利用したInvalidationが可能になったので、 ~ を含むパスも削除出来るかテストを実施しました。
*1:CloudFrontが準拠しているRFC1738の仕様 詳細はこちら

準備

環境

  • apacheやnginx、IISを入れたサーバ
  • curlコマンドを叩くPC
  • AWSアカウント

CloudFrontの準備

テスト用に以下のパスでページを準備する

  • /
  • /sample/
  • /sample/~/
  • /sample/~/sample2

検証

CloudFrontへキャッシュをさせる

初回の為 Miss from cloudfront になることを確認

# curl --verbose http://HOGEHOGE.cloudfront.net/ 1> /dev/null
< X-Cache: Miss from cloudfront

# curl --verbose http://HOGEHOGE.cloudfront.net/sample/ 1> /dev/null
< X-Cache: Miss from cloudfront

# curl --verbose http://HOGEHOGE.cloudfront.net/sample/~/ 1> /dev/null
< X-Cache: Miss from cloudfront

# curl --verbose http://HOGEHOGE.cloudfront.net/sample/~/sample2 1> /dev/null
< X-Cache: Miss from cloudfront

キャッシュが行われていることを確認

# curl --verbose http://HOGEHOGE.cloudfront.net/ 1> /dev/null
< X-Cache: Hit from cloudfront

# curl --verbose http://HOGEHOGE.cloudfront.net/sample/ 1> /dev/null
< X-Cache: Hit from cloudfront

# curl --verbose http://HOGEHOGE.cloudfront.net/sample/~/ 1> /dev/null
< X-Cache: Hit from cloudfront

# curl --verbose http://HOGEHOGE.cloudfront.net/sample/~/sample2 1> /dev/null
< X-Cache: Hit from cloudfront

CloudFrontでInvalidationを実施

Object Pathsに /sample/~/* を指定してInvalidation

Invalidation後の確認

削除していないパスを確認
# curl --verbose http://HOGEHOGE.cloudfront.net/ 1> /dev/null
< X-Cache: Hit from cloudfront

削除対象のパスを確認(/sample/*)
# curl --verbose http://HOGEHOGE.cloudfront.net/sample/ 1> /dev/null
< X-Cache: Miss from cloudfront

# curl --verbose http://HOGEHOGE.cloudfront.net/sample/~/ 1> /dev/null
< X-Cache: Miss from cloudfront

# curl --verbose http://HOGEHOGE.cloudfront.net/sample/~/sample2 1> /dev/null
< X-Cache: Miss from cloudfront

結果

今回のCloudFrontの更新によりパスに ~ を含んでいてもInvalidationが可能になりました。
これでミドルウェアの仕様上 ~ を含んでいた場合でも使用しやすくなったと思います。

1
1
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
1
1