AWSのCDN(Cloudfront)を利用した構成の場合、
- Cloudfrontのキャッシュにヒットしたのか?
- Origin(オリジン)にアクセスしたのか?
ちゃんとキャッシュ動作が出来ているか確認する方法は何かないでしょうか?
結論、レスポンスヘッダーのx-cacheでキャッシュ判別可能(Cloudfrontの動作確認)
ユーザーに返るHTTPレスポンスヘッダーの「x-cache」の値を確認することにより、cloudfrontのキャッシュにヒットしたか、ヒットしていないかが動作確認できます。
- Hit from cloudfront (キャッシュヒット)
- Miss from cloudfront
ちなみに、「x-cache」値は他にも
- cloudfrontによってhttpからhttpsへリダイレクトされた場合の、x-cacheの値は「Redirect from cloudfront」です。
- cloudfrontよりエラーが起きた場合は、x-cacheの値は「Error from cloudfront」です。
以下、裏を取り確認した詳細情報です。
環境・前提条件
ユーザー → Cloudfront → ALB
で、ALBで固定レスポンス本文をコンテンツとして返す設定をし、動作を確認しました。
HTTPレスポンスヘッダーを確認するにはchromeが便利
このcloudfrontキャッシュにヒットしたかどうかの動作確認は、ユーザー側のブラウザchromeを利用すると簡単に確認できます。
chromeの右上「…」から「その他ツール」「デベロッパーツール」を開きます(ctl+shift+iでも開きます)。
この状態で、目的にcloudfrontにブラウザアクセスし、デベロッパーツール上の「Networks」タブのNameでcloudfrontのFQDNを選択し、「Headers」を表示させます。そのHTTPヘッダーの中にレスポンスヘッダー情報もあり、「x-cache」の値が確認できます。