Amazon CloudFront
AWSのサービスの一つで、静的、動的なウェブコンテンツ(データ、動画、アプリケーションなど)の配信を高速化する、安全性の高さが魅力のサービスです。
有名なサービスですと、Amazon primeやHuluにも使用されています。
メリット
● 安全性が高い
HTTPS接続などフィールドレベルの暗号化ができ、機密データのセキュリティ強化ができます。
● コストの削減
無料枠が設けられているほか、利用した分の料金のみが課せられるため余分な費用はかからない。
つまり、最低料金や一定額の料金のお支払いがありません。
● 可用性の向上
DDoS対策やトラフィックの分散という点からサービスの可用性を向上させています。
※ DDoS(Distributed Denial of Service)
特定のネットワークやWebサービスを、意図的に利用できないようにする攻撃行為です。
※ トラフィック
通信回線やネットワーク上で送受信される信号、データ、その量や密度のことを指します。
※ 可用性
一定時間のうち、システムを稼働可能な割合(%)を意味する「稼働率」で表現されます。
● 高速な配信(低レイテンシー) / サーバの負荷軽減
CDNが組み込まれているため、ウェブコンテンツの高速な配信やサーバーの負荷軽減に繋がります。
エッジサーバを活用することで、HTTPリクエスト時に毎回サイトの作成元まで辿る必要が無くなるため、低レイテンシーでの素早いレスポンスができます。
この詳細については、次の題目で取り上げます。
※ レイテンシー
要求を出してから実際にデータが送られてくるまでに生じる、通信の遅延時間
CDN(Content Delivery Network)
ファイルをダウンロード配信するための技術です。
アクセス元から距離的に一番近い場所にあるサーバーを自動で選択し、コンテンツをダウンロードさせるということです。
(用語)
オリジン(オリジンサーバ)
元のデータが入っているサーバを指します。
エッジ(エッジサーバ)
データを代わりに配信してくれるサーバを指します。
※ キャッシュサーバと呼ぶこともあるそうです。
キャッシュ
(下図のストレージ部分に)Webサイトのコンテンツを保存することを指します。
それでは、このCDNがどうしてメリットに繋がるのか考えてみます。
例えば、あるサイトを全世界に向けて公開していたとき、作成元(オリジン)が日本であるとします。この時同じ日本国内から閲覧されるのと、海外から閲覧されるのでは物理的な距離の違いから、通信によるレイテンシーが異なります。つまり、同じ日本国内から閲覧をするよりも、距離の離れた海外から閲覧をする方がレイテンシーが高く(遅延時間が長く)なります。
これを解決するのが、CDNの仕組みです。
1つ目のメリットは、レイテンシーの軽減
です。
閲覧者(デバイス)とサイト(ネットワーク)の間にエッジサーバというものを設けます。
エッジには、初回は何もデータが入っていない状態です。しかし、初回にオリジンからデータを取得した際に、そのデータがエッジに保存されるようになっており、2回目以降は毎回オリジンからデータを取得する必要がなくなります。ただし、エッジ(ストレージ)にデータがあれば、その中から取得しますが、2回目以降の通信でも保存されていないデータであれば、オリジンから取得します。つまり、遠く離れたオリジンからデータを取得するよりも、世界各地にある距離の近いエッジ(ストレージ)からデータを取得するので、レイテンシーの軽減
に繋がるという訳です。
2つ目のメリットは、負荷分散
です。
上記での説明内容と重複しますが、サイトの閲覧者全員がオリジンからデータを取得していた場合、アクセスが集中してしまいます。しかし、それぞれの閲覧者が一番近いエッジを活用することにより、オリジンへのアクセス集中を防ぐことができるため、システムの負荷分散へと繋がります。
結果的に、安定したサービスを供給することが可能となります。
終わり
CloudFrontについてのまとめを書くつもりが、CDNについての説明が長くなってしまいました...
普段利用しているネットの裏側が少し理解できて、個人的には興味が深まりました!
今回の記事は以上となります。
最後までご覧いただきまして、ありがとうございます。
また、もし内容に誤りなどがございましたら、ご指摘いただけますと幸いです。