助け合いフォーラム
この問題はプレミアムコンテンツです。
CloudFrontで動的コンテンツを配信する理由がわかりません
在庫情報などの動的コンテンツで構成される
問題文にある、在庫情報のような定期的に情報が変わるようなコンテンツをCloudFrontから配信したら、古い在庫情報が表示されてしまうかと思い、
動的コンテンツはALBから直接配信するのが正解かと思いました。
CloudFrontで動的コンテンツも対応しているようですが、内容が頻繁に変わることが予想される動的コンテンツに対して使う理由がどうしてもわかりません。
ご教授いただけると幸いです。
キーポイントとしては
会社は今後、Webサイトを複数言語に対応させて、 世界中に 製品を販売していく予定である。
世界中のユーザー に対して、製品カタログを 高速に配信する にはどうすればよいか。
から「世界中に」「高速に」とある部分ですかね。この時点で世界各地にキャッシュされて高速に配信されることが期待される CloudFront が正解なのかなというのは想像はつくというのはご認識されていると思います。一方でこの問題の回答に対する疑問として「動的コンテンツ」を CloudFront で扱う理由がわからないということなのだと思うのですが、まず今は多くの CDN (Contents Delivery Network) で動的コンテンツの配信をサポートしています。参考 URL の1つ目もそうですが、他にもありますね。
https://aws.amazon.com/jp/cloudfront/dynamic-content/
https://www.cloudflare.com/ja-jp/learning/cdn/caching-static-and-dynamic-content/
https://www.stream.co.jp/blog/blogpost-36616/
https://learn.microsoft.com/ja-jp/azure/cdn/cdn-dynamic-site-acceleration
https://www.fastly.com/jp/blog/serving-truly-dynamic-content-with-a-modern-cdn-and-edge-first-delivery
理由としては本当にシンプルで「動的に生成するコンテンツのためにオリジンに取りに行っていては遅くて仕方がない」から、ですかね。いかにオリジンにデータをとりにいかず、ユーザーにはエッジからの配信だけで完了させるかが高速化のポイントなので、CloudFront を含む CDN がサポートしているのにその機能を使わないのはもったいないとも言えるかなって感じですね。
コメント
ご丁寧な回答誠にありがとうございます。以前はできなかった動的サイトのキャッシュができるようになり、高速化のために動的サイトもCDNを使うこと理解しました。
しかし、一点どうもわからない部分があります。例えば今回の例だと在庫情報ですが、在庫数が変わった直後はどうなるのでしょうか?
オリジンサーバーに最新の在庫データがあり、ユーザーはキャッシュされている古い在庫数を見ることになるのでしょうか。リアルタイムに変更されるわけではなく、ある程度ラグがあると考えて良いのでしょうか?
コメント
この投稿に対して返信しませんか?
r rysk777
2024/12/16 21:57
ご丁寧な回答誠にありがとうございます。以前はできなかった動的サイトのキャッシュができるようになり、高速化のために動的サイトもCDNを使うこと理解しました。 しかし、一点どうもわからない部分があります。例えば今回の例だと在庫情報ですが、在庫数が変わった直後はどうなるのでしょうか? オリジンサーバーに最新の在庫データがあり、ユーザーはキャッシュされている古い在庫数を見ることになるのでしょうか。リアルタイムに変更されるわけではなく、ある程度ラグがあると考えて良いのでしょうか?