
【最近よく聞く】CDNってなあに?
先日、Cloudflareが大障害を起こしましたね。
pixivやDiscordが一斉にダウンして、てんやわんやでした。
約1時間で復旧したのは、さすがでしたが。
CloudflareはアメリカのCloudflare社が提供するCDNサービスです。
ここでCDNって何?となった方向けに、本投稿では最近よく聞くCDNを技術的な要素を出来るだけ省いて解説します。
1.CDNってなあに?
CDNはコンテンツデリバリーネットワークの略で、WEB上のコンテンツ(画像や動画など)を高速でユーザーに配信するためのサービスです。
本来、WEBコンテンツを利用しようとするとオリジンサーバーと呼ばれる大元のサーバーに直接アクセスして、そこに保存されているデータをダウンロードする必要があります。

CDNはキャッシュサーバーと呼ばれるオリジンサーバーからデータを複製したサーバーを世界中に配置し、ユーザーは一番近くのキャッシュサーバーからデータをダウンロードできるようにするサービスです。

特に関西の方であれば、ピンと来るかもですが・・・
オリジンサーバー:伏見稲荷大社
キャッシュサーバー:全国の稲荷神社
のようなイメージをしていただくと分かりやすいと思います。
2.CDNを利用するメリット
CDNを利用することで得られるメリットは大きく2つです。
(1)WEBコンテンツの表示速度が速くなる
CDNを利用すると、ユーザーは一番近くのキャッシュサーバーからデータをダウンロードすることが出来るため、オリジンサーバーから物理的に距離が離れていても、表示速度は低減しません。
(2)サーバーへの負荷を低減できる
CDNを利用すると、ユーザーのリクエストはキャッシュサーバーに分散して集まるため、オリジンサーバーに高負荷がかかることはありません。
CDNを導入することにより高負荷が原因の障害を大きく減らすことが出来ます。
3.CDNを利用するときの注意点
CDNを利用することで得られるメリットは大きいですが、注意すべき点もあります。
(1)コンテンツの変更に時間がかかる
オリジンサーバーとキャッシュサーバーはリアルタイムで同期している訳ではありません。
オリジンサーバー上で稼働しているWEBコンテンツに変更を加えても、キャッシュサーバーに変更内容が反映されるまでには、時間がかかります。
リアルタイムでの情報を提供し続けたい場合はCDNだと、要件を満たせない可能性があります。
(2)キャッシュ事故のリスクが発生する
キャッシュ事故とは、公開してはいけない情報がキャッシュサーバーを通じてユーザーに公開されてしまうアクシデントです。
実際、会員制のコンテンツにおいて通常であれば他のユーザーが閲覧することのできない個人情報が公開されてしまう、といったキャッシュ事故も数多く発生しています。
キャッシュ事故の原因はほとんどが設定ミスのため、個人情報を取り扱うようなコンテンツでCDNを導入する場合は、細心の注意を払うことが大切です。
株式会社ディーネット(https://www.denet.co.jp/)
■大阪本社
〒541-0041 大阪府大阪市中央区北浜2-6-11 北浜エクセルビル5F
TEL:06-6231-8887 FAX:06-6231-8897
■東京本社
〒105-0001 東京都港区虎ノ門2-3-22 第一秋山ビル5F
TEL:03-3591-8887 FAX:03-3591-8886
ディーネットはアマゾン ウェブ サービス (AWS) のAWS アドバンストティア サービスパートナーです。
AWSに関するご相談はコチラまで。