いつもお世話になっております。
AWSのCloudFrontに関してお聞きしたいです。
CloudfrontはユーザーがS3にある画像にアクセスするとCloudFrontにキャッシュがたまり、二度目以降のアクセスではS3まで行かずCloudFrontから画像を取得してくれます。
しかし、ユーザーがその画像にアクセスする前にCloudFront上にキャッシュを作成しておき、ユーザーにとって一度目のアクセスでcloudfrontのキャッシュを読みこませるようにしたいと思っています。
よくあるのが画像をアップロードする際にキャッシュを作成する方法だと思うのですが、
プロキシサーバ(IPは日本)を介して画像にアクセスし、キャッシュをためたいです。
しかし、同じmacで二度アクセスすると画像のheaderにHit from Cloudfrontとなりキャッシュから読み込んでいるのですが、
日本にあるプロキシサーバで画像を読み込んだ後に(curl や mechanizeで)、日本にあるmacで同じ画像を読み込むとMiss from cloudfrontとなってしまい、キャッシュではなくS3から読み込まれます。
以下、検証内容です。
【検証:ある画像へ二度アクセスしてHit from Cloudfrontなのか見る】 日本macでアクセス→日本mac(同じmac or 違うmac)で再度アクセス→(Hit from Cloudfront) 日本macでアクセス→プロキシサーバ(IPは日本)でアクセス→(Miss from Cloudfront) プロキシサーバ(IPは日本)でアクセス→同じプロキシサーバ(IPは日本)でアクセス→(Hit from Cloudfront) プロキシサーバ(IPは日本)でアクセス→違うプロキシサーバ(IPは日本)でアクセス→(Miss from Cloudfront) プロキシサーバ(IPは日本)でアクセス→日本macでアクセス(Miss from Cloudfront)
こちらで考えた原因としては
・そもそもプロキシサーバからアクセスしてもcloudfrontにキャッシュがたまらないのではないのか ・日本からアクセスしているが実際は異なるエッジロケーションのcloudfrontにアクセスしておりキャッシュが溜まっていないのではないか
と考えています。
どなたかご教授いただけないでしょうか。
よろしくおねがいいたします!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/12 09:33
2016/02/12 09:49
2016/02/12 10:16