CloudFrontでキャッシュされている?

AWSの料金(2017/11)で書いたような金額なんだけどCloudFrontってちゃんとキャッシュされているか確認していなかった^^;;

  • 本当にキャッシュされている?
  • Hit率ってどれぐらい?
  • どれぐらいの容量を捌いている?

もろもろが気になったので調べてみた。
使ってはいるけど確認はしていなかったというやつ^^;;

キャッシュの有無

レスポンスヘッダのx-cacheを見たらキャッシュされているかわかります。

コマンドは

curl -svo /dev/null https://www.barasu.org/

これでOKです。

1回目(キャッシュなし)

curl -svo /dev/null https://www.barasu.org/
* Trying 54.230.108.126...
* TCP_NODELAY set
* Connected to www.barasu.org (54.230.108.126) port 443 (#0)
(略)
< cache-control: max-age=604800
< x-cache: Miss from cloudfront
< via: 1.1 7727d44fd16a7a76bb8fa7045a2983b0.cloudfront.net (CloudFront)
(略)
* Connection #0 to host www.barasu.org left intact

2回目(キャッシュあり)

curl -svo /dev/null https://www.barasu.org/
* Trying 54.230.108.126...
* TCP_NODELAY set
* Connected to www.barasu.org (54.230.108.48) port 443 (#0)
(略)
< cache-control: max-age=604800
< x-cache: Hit from cloudfront
< via: 1.1 7727d44fd16a7a76bb8fa7045a2983b0.cloudfront.net (CloudFront)
(略)
* Connection #0 to host www.barasu.org left intact

キャッシュにHitしている場合にはx-cache: Hit from cloudfrontって表示されるのね。

2回目からはキャッシュされるのがわかる。
これはExpireは1dayだったはず。

容量確認

どれぐらいの容量をEdge Locationから配っているかはAWS CloudFront Managementから確認できます。

Data Transferred By Destinationは下記の通り

一月のTotalがT14,453.6519 MBまじ?14GB?ちょっとおかしくない?
請求書を調べてみるとCloudFrontの転送料と料金は下記の通りだった

Edge Location 転送量 転送料
Asia Pacific 0.234GB $0.03
Australia 0.002GB $0.01
Canada 0.014GB $0.01
Europe 0.766GB $0.07
India 0.104GB $0.02
Japan 10.179GB $1.42
South America 0.008GB $0.01
United States 2.809GB $0.24

1ヶ月で14GBというのはあながち嘘ではない気がしてきた・・・
日本のEdge Locationから10GBなのね・・・

このサイトで10GBってNetwork帯域を無駄に使っている気がして大変申し訳ありません。反省・・・

うーん。画像のCDNをCloudinaryに変更しようかと思っていたけど無料プランで収まりそうだなぁ。画像だけCloudinaryというのはアリかも知れない。

CloudinaryのEdge Locationが日本にあるかわからないけど。

Hit率

Report & Analytics → Cache Statisticsで観ることができます。

11月のレポートでは下記のような感じでした。

PVは低いのに思ったよりもHit率が高い。同じページへのアクセスが多いっていうこと?

1ヶ月Totalでグラフ化したら下記の通りになった

75%以上ヒットしているように見えるんだけどこれ本当???なにか見方かグラフの作り方間違っているか心配になるぞ^^;;

このグラフ通りに75%がヒットするなら嬉しいね。