Amazon CloudFront
Overview
AWSが提供するマネージド型のCDNサービス。
台数不明で性能不明だがグローバルに配置されたキャッシュサーバ。
デフォルトでリージョンがグローバルに展開されている。
CDNとは
CDN(Content Delivery Network)は、地理的に分散されたサーバーグループであり、コンテンツをビューワー(Webサービスの利用者のこと)の所在地に近づけるためのサービス。
利用者がWebサービスを利用する際、近くのサーバーを通じてコンテンツにアクセスできるようにするために、キャッシング(一時的にファイルのコピーを保存するプロセス)が使用される。
CDNでは、Webページ・画像・動画などのコンテンツが利用者の物理的所在地に近いサーバーにキャッシュされ、利用者は動画を見たり 、SNSに投稿したりWebで何かを購入したりするときの読み込み時間を減らすことができる。
配信元のWebサーバーのことをオリジンサーバーといい、キャッシュされた情報を保持するサーバーのことをエッジサーバーと呼ぶ。
エッジロケーション
CloudFrontは、エッジロケーションと呼ばれる拠点にエッジサーバーを設置することで、利用者は地理的に近いエッジロケーションからキャッシュされたコンテンツを取得することが可能となる。
これにより、利用者はオリジンサーバーまで通信することなく迅速にコンテンツにアクセスできます。
メリット
ユビキタス
ディストリビューション : ひとつのCloudFront(EC2やRDSがインスタンスと呼んだように)
ビヘイビアー : キャッシュルールのこと
オリジン : キャッシュ元データを配置するサーバのこと(ELB、EC2、S3、その他のサーバ)
インバリデート : キャッシュクリア
昔のCloudFront 無しの構成
EC2のローカルディスクにすべてがあり、静的コンテンツ、動的ページ、すべてのアクセスをEC2で捌く必要があった。
ApacheとかNginxでキャッシュを効かせると、負荷は軽くなるかも。みたいな涙ぐましいノウハウがあったのです。
invalidationとは(訳: 無効化)
サーバー側でキャッシュをクリアして再構築してあげないと、エッジロケーションへの反映が、設定されたキャッシュの有効期限まで置き換わらないとのこと
Invalidation(キャッシュのクリア). これは、エッジロケーションなどにキャッシュされているファイルを一度消して作成すること。