こんにちは、かびらです。
本日はCloudFrontについて解説します。
CloudFrontとは?

CloudFrontは、AWSが提供しているコンテンツ配信ネットワーク、いわゆるCDNサービスです。
世界中に配置されたエッジロケーションと呼ばれる拠点からキャッシュを配信することで、利用者に近い場所からデータを届けられます。
その結果、画像や動画、静的なファイルを高速かつ安定して届けることができるのが特徴です。

イメージとしてはこのような感じです。
オリジンサーバー、例えばS3に保存されているコンテンツが、一度エッジロケーションにキャッシュされます。
そしてユーザーは、自分に最も近いエッジロケーションからコンテンツを受け取れる仕組みになっています。
これによって、どの地域からアクセスしても、快適にサービスを利用できるようになるのです。
CloudFrontを採用した理由

次にLuxucomで、CloudFrontを採用した理由についてです。
Luxucomでは、世界中で使われるSNSを目指しています。
そのためには、どの地域からアクセスしても快適に利用できる仕組みが必要でした。
特に、画像や静的なファイルを効率よく届けるために、CloudFrontのようなCDNが欠かせませんでした。
そして何よりも、とにかくユーザー体験を高めたいという思いから、CloudFrontを採用しています。
CloudFrontと関連するアーキテクチャ

次に、LuxucomでCloudFrontと関連するアーキテクチャを見ていきましょう。
ユーザーが画像ファイルをアップロードすると、まずWebサーバを経由してS3に保存されます。
その後、保存された画像や静的ファイルはCloudFrontを通して配信されます。
これにより、ユーザーは自分に近いエッジロケーションからファイルを取得できるため、より速く、快適にサービスを利用できるようになります。
CloudFrontを使って良かった点

CloudFrontを使って良かった点はいくつかあります。
まず、Webサーバに任せていた静的コンテンツを切り分けて配信できるようになったこと。
これによって、サーバーの負荷を下げられました。
次に、S3との連携がとてもスムーズで、設定もシンプルに済ませることができました。
そして一番大きいのは、海外からのアクセスでもキャッシュが効いて、表示速度が格段に速くなったことです。
CloudFrontを使って難しかった点

CloudFrontを使って難しかった点もありました。
まず一番難しかったのは、設定周りです。
設定項目が多く、それぞれの意味を理解するのに時間がかかりました。
さらに、Route53との連携や独自ドメインの設定も分かりづらく、最初はどこで何を設定すれば良いのか戸惑いました。
さいごに
今回は、LuxucomにおけるCloudFrontの仕組みを紹介しました。
世界中に配置されたエッジロケーションを活用して、ユーザーに快適な体験を届ける仕組みだということが伝わったと思います。
次回は、リクエストを効率よく振り分ける仕組みである、ALBについて取り上げます。