この記事何の記事?
この記事は、CDN(Content Delivery Network)について何も知らない方が、これを読んで「CDNってこんな感じなんだな」と思ってもらえる記事です。
すでに知っている方は対象に含まれません。。
また、後編はCDNを何も知らない人に朗報です(後編)になります。
併せて読んでいただけますと幸いです。
CDNとは
ざっくりですが、CDNとは、大容量のウェブコンテンツでも配信に問題が起きないようにするための最適化したネットワークのことです。
…といった感じのことを書きましたが、こんな概要だけではよくわからないと思うので、説明していきたいと思います(説明については前編・後編の記事に分ける予定です)。
CDNの仕組み
ウェブコンテンツを利用する際、サーバーにアクセスしてコンテンツをダウンロードします。
この時アクセスするサーバーは**「オリジンサーバー」**と呼ばれるサーバーがあり、オリジンサーバーにはオリジナルのウェブコンテンツが存在します。
CDNを利用しない場合で、仮にあるウェブコンテンツに大量のアクセスがあった際、オリジンサーバーに負荷がかかってしまいます。
そうなったとき、ページの表示速度が遅くなったり、画面が表示されなくなったりなどの問題が生じます。
CDNではこのような問題が起きないよう、**「キャッシュサーバー」**と呼ばれるオリジンサーバーからウェブコンテンツをコピーしたサーバーに代理でウェブコンテンツを配信してもらいます。こうすることでオリジンサーバーの負荷が減り、早くて効率的なコンテンツ配信が可能となります。
また、キャッシュサーバーへのアクセスはネットワーク的に距離が近いところになるため、さらに高速化が期待できます。
例えば、日本からアメリカの企業のウェブサイトにアクセスしてファイルをダウンロードするとします。
その場合、日本から遠いサーバーにアクセスしてダウンロードするため遅くなります。
CDNを利用するとキャッシュサーバーは世界中に配置しており、アメリカからではなく日本に設置されたキャッシュサーバーからダウンロードすることができ、高速にダウンロードが可能となります。
メリット
CDNの仕組みについて述べてきたことも含めて、メリットについて列挙します。
サーバーアクセスを分散して負荷を軽減できる
オリジンサーバーからウェブコンテンツをコピーしたキャッシュサーバーのおかげでオリジンサーバーへのアクセスを代わりに受け付けて負荷を分散します。その結果、オリジンサーバーへの負荷が軽減されます。
アクセスに対してのレスポンスの遅延を防ぐ
アクセスが分散されることで、アクセスが集中してコンテンツのダウンロード時間が長くなるなどの問題が生じないようにすることができます。
デメリット
古いコンテンツが配信される可能性がある
オリジンサーバーには最新のファイルが配置されていたとしても、キャッシュサーバーは古いファイルを保持したままの時があります。
これはオリジンサーバーが最新のファイルを配置しても、キャッシュサーバーはオリジンサーバーに新しいファイルを取得しにいかなければ、キャッシュサーバー自身の保持しているデータは更新されないため起こります。
キャッシュ時間(オリジンサーバーのファイルを再取得しにいく間隔)が長すぎると起こりやすくなるため、その時はキャッシュ時間の設定の見直しなど行う必要があります。
キャッシュ事故が起きる可能性がある
個人情報が掲載されたページをキャッシュしてしまうと、他の人に個人情報が漏洩してしまう危険性があります。
このような事故を防ぐために、「キャッシュファイルの選定」が大切になってきます(どのファイルをキャッシュして、どのファイルはキャッシュしないなどの設定をすること)。
終わりに
ウェブサイトが重かったり、表示速度が遅いなどの問題があるとユーザーが離脱しやすくなりますし、そうなってくるとgoogleから「ユーザーにとって使いにくいサイト」認定され検索順位も下がりいいことがないです。
当記事を読んで、ユーザーが快適にサイトを使うことができる手段のひとつとしてCDNという方法があるということを知っていただけたら何よりです。
(後編はCDNを何も知らない人に朗報です(後編)になりますのでこちらも読んでみてください。)