この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
CloudFrontについて
お疲れ様です、第三システム部の稲村です。
3月末より新しいプロジェクトに参加しまして、その際にCloudFrontに触れる機会に恵まれましたので、改めて発表用に向けた資料の1回目となります。
参考資料
いわずもがなメインはBlackBeltを参考にしています(こっちの方が詳し(以下ry)
参考サイト:[AWS Black Belt Online Seminar] Amazon CloudFront deep dive 資料及び QA 公開
CloudFrontとは
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive より
- コンテンツの配信を高速化する
- AWS global networkにより、非キャッシュも高速化する
- オリジンへの負荷をオフロード(肩代わりしてけ軽減してくれる)
CloudFront設定する際に押さえておきたい用語
- Distribution(ディストリビューション):CloudFront自身の設定
- Origin(オリジン):コンテンツ提供元のサーバの設定
- Behavior(ビヘイビア):キャッシュの動作設定
CloudFront料金モデル
- CloudFrontの料金以外にも、ブラウザキャッシュにおける考えも考慮してアーキテクトを考えなければいけない
ブラウザキャッシュについて
大きくブラウザには2つの強いキャッシュと弱いキャッシュというものがあります。
強いキャッシュ
ブラウザ側でリソースを保持して、期限が切れるまでサーバにHTTPリクエストを発効しません。そのため、一度ブラウザにキャッシュされると、サーバ側からハンドリングすることができなくなります
- Cache-Controlヘッダー
- Expiersヘッダー
弱いキャッシュ
アクセスに対して都度リソースが更新されているかチェックをおこないます、ブラウザ側でキャッシュされていても、リソースを更新すればブラウザに更新情報を届けられ、サーバ側でハンドリングできる。
- Last-Modifiedヘッダー
- ETagヘッダー
ブラウザのキャッシュ戦略
弱いキャッシュをハンドリングするような設定にして、CloudFrontで全体的なキャッシュの設定を行う。
料金について:Amazon CloudFrontの料金
最後に
新しいメンバも増え、技術的な話などをチーム内でも増やすキッカケとしてもブログ投稿続けていきたいと思います。
次回はCloudFrontのキャッシュを交えた挙動と、キャッシュキー・オリジンリクエストポリシーについて説明したいと思います。