高まり続けるウェブサーバーの負荷を軽減する目的で、昨今注目を集めているのがCDNです。しかし、CDNとは実際何をするもので、どう使うとよいか正確に説明できる方は多くないでしょう。
この記事では、そもそもCDNとはどういったものかといった基本から、その技術的な仕組み、利用のメリット・デメリットなどを解説しています。CDNを利用する際に必ず把握しておきたい知識をまとめているので、利用を検討されている方は是非参考にしてください。

目次
CDNとはなに? 何をするもの?
CDNとは「Content Delivery Network(コンテンツデリバリーネットワーク)」の略で、ウェブコンテンツを効率的かつスピーディーに配信できるように工夫されたネットワークのことです。

インターネットを利用するユーザーが急激に増加していることに加え、動画配信などインターネットに流れるウェブコンテンツが大容量化する昨今、ネットワークの負荷は高くなり続けています。アクセスが集中して、ホームページが表示できなくなったり、コンテンツのダウンロードに時間がかかったりすることも少なくありません。
そういった問題を解決するために作られたネットワークの仕組みがCDNです。CDNではウェブコンテンツ配信用にネットワークを最適化することによって、アクセスが集中したりコンテンツが大容量化したりしても、ホームページの表示やコンテンツの配信に問題が起こらないようにすることが可能です。
CDNの仕組み
それでは、どうしてCDNを使うことでウェブコンテンツが効率的に配信できるようになるのでしょうか。ここでは、その仕組みについて解説します。
世界中に配置された「代理サーバー(キャッシュサーバー)」を利用

CDNを利用しない場合、ウェブコンテンツは当然ながらそれが保存されているサーバーに直接アクセスしてダウンロードすることになります。CDNでは、オリジナルのウェブコンテンツが存在するサーバーのことを「オリジンサーバー」と呼びます。
一方でCDNでは、ウェブコンテンツを配信するのはオリジンサーバーだけではありません。オリジンサーバーからウェブコンテンツのコピーを取得した複数の「キャッシュサーバー」が、オリジンサーバーの代理でウェブコンテンツを配信します。オリジンサーバーの負荷を分散することで、効率なウェブコンテンツ配信を実現するわけです。
CDNの仕組みとしてもう1つ注目すべきなのは、キャッシュサーバーが世界中に配置されているということです。オリジンサーバーと比べネットワーク的に距離が近いキャッシュサーバーにアクセスすることから、ウェブコンテンツの配信がより高速になります。

DNSの設定で、代理(キャッシュ)サーバーへアクセスを向ける
それでは、どうしてオリジンサーバーでなく、キャッシュサーバーからウェブコンテンツを配信できるようになるのでしょうか。この仕組みを実現しているのは、DNSの設定です。
通常は、ウェブサーバーなどでは以下のようにDNSのAレコードを設定することでインターネットからアクセスできるようにしています。
www.example.jp IN A 192.168.100.10
これは「www.example.jpのウェブコンテンツを取得したい場合は、192.168.100.10というIPアドレス(インターネット上の住所)にアクセスして下さい」といった意味のDNSの設定です。
たいしてCDNでは、以下のようにDNSのCNAMEレコードを利用することによって、キャッシュサーバーへアクセスが向くように設定します。
www.example.jp IN CNAME cache.exampe.com
「www.example.jpのウェブコンテンツは、cache.exampe.comという名前のサーバー(キャッシュサーバー)からダウンロードできます」というのが、このDNSレコードの意味です。

CDNを使うメリット
CDNの概要や仕組みを見てきました。これらを踏まえ、CDNを使うとどんなメリットやデメリットがあるのか見ていきましょう。まずはメリットから簡単に解説します。
サーバーやネットワークの負荷を軽減できる
CDNを利用すると、オリジンサーバーだけでなく、オリジンサーバーからウェブコンテンツの複製を取得したキャッシュサーバーがアクセスを受け付けます。そのためオリジンサーバーやオリジンサーバーにつながるネットワークの負荷を、大幅に軽減することが可能です。
サーバーのレスポンスを改善できる可能性がある
CDNを利用することで、オリジンサーバーにかわって世界中に配置されたキャッシュサーバーにその負荷が効率的に分散されます。その結果、サーバーのレスポンスも改善する可能性があります。
CDNを使うデメリット
それではCDNではどんなデメリットが考えられるでしょうか。こちらも1つずつみていきましょう。
ファイルの更新が遅れる場合がある
オリジナルのコンテンツが更新されているにも関わらず、キャッシュサーバーが更新前のウェブコンテンツの複製を保持したままだと、結果的に古いデータが配信されてしまいます。このようなことが起こらないよう、複製を保持する時間を調整するなどの設定が必要です。
設定を誤ると「キャッシュ事故」が起きる
会員サイトにあるような個人情報が掲載されたページをキャッシュすると、それが他人に見られてしまう可能性があるので注意しましょう。これを「キャッシュ事故」と呼び、キャッシュ事故を防ぐためには、キャッシュするコンテンツの対象を正しく選択する必要があります。
アクセスログを取得できない可能性がある
CDNのサービスによっては、キャッシュサーバーに対するアクセスログを提供していない場合があるので注意しましょう。なかにはログのダウンロード機能を提供しているサービスもあります。
CDNの利用に適した具体的なケース
CDNを使うメリット・デメリットを見てきましたが、実際にどのようなケースで利用すれば有効なのでしょうか。ここでは、CDNを使うことで高い効果が得られる具体的なケースを紹介します。
WordPressのレスポンスを高速化する

ホームページを運営するにあたって、WordPressを利用する例が増えています。その一方で、WordPressはサーバーに高い負荷をかけるため、ページ表示(レスポンス)が遅くなることも少なくありません。
WordPressで作成したホームページの負荷が高い主な原因は、アクセスを受け付けるごとにHTMLファイル(ウェブページ)を生成する「動的コンテンツ」だからです。一方、あらかじめサーバーにHTMLファイルが保存されているコンテンツのことを「静的コンテンツ」と呼びます。
CDNを利用することによって、HTMLファイルの複製がキャッシュサーバーに保存されるため、オリジンサーバーではHTMLファイルの作成を繰り返す機会が減ります。そのためWordPressを使ったホームページの負荷が減ると共に、レスポンスを高速化できるわけです。
安定的に動画配信を行う

HTMLファイルや画像ファイルに比べ、動画データはデータ容量が格段に大きくなります。そのため、動画配信はサーバーに大きな負荷をかけることになるのです。
サーバーの負荷が大きくなると、動画の再生ボタンをクリックしても再生までに時間がかかったり、そもそも再生すらできなかったりすることも多いでしょう。その結果、せっかく集まったユーザーが、動画視聴を諦めて離脱してしまうことも少なくありません。
そこでCDNにて動画コンテンツを有するオリジンサーバーの負荷を分散することで、安定的に動画配信が行えるようになるわけです。スムーズに動画が再生されるようになることから、サイトを見にくる訪問者の満足度も向上します。
jQueryなどのライブラリーを多用したサイトを運営する

jQueryとは、JavaScriptが簡単に記述できるようになるライブラリーのことです。jQueryにはJavaScriptでよく使われるプログラムの記述がまとめてあり、インターネット上に保管されています。jQuery上のプログラムをインターネットから部品のようにして取り出して使うことで、JavaScriptの記述が簡単になり手間も少なくなるわけです。jQuery以外にも、プログラムの記述を簡単にするライブラリーは複数存在します。
そしてCDNを活用し、jQueryなどのライブラリーのデータがキャッシュサーバーに保存されることにより、オリジンサーバーの負荷が軽減されるわけです。訪問者の端末からネットワーク的に距離が近いキャッシュサーバーから、データがダウンロードされるようになることから、ホームページの表示速度の向上も期待できます。
また、はじめからライブラリーをキャッシュサーバーに保存しているCDNもあり、そういったサービスを利用することよっていちいちライブラリーを自社サーバーにアップロードする手間もかかりません。
CDNを利用する簡単な方法
CDNを利用する方法はいくつかありますが、なかでも簡単なのはCDNに対応したレンタルサーバーを利用する方法です。たとえばカゴヤのレンタルサーバーは「オリジンアシスト」というCDNに対応しており、DNSレコードを書き換えるだけですぐに導入できます。オリジンアシストには、悪意がある第三者からの攻撃を検知・遮断するセキュリティサービス「クラウドロッカー」も標準で搭載されています。

CDNなしでイベントサイトも快適運用 | クラウドとレンタルサーバーの KAGOYA
実際に KAGOYA のサービスをご利用いただいたお客様の導入事例をご紹介します。
まとめ
CDNとは、ウェブコンテンツをより効率的に配信できるよう設計されたネットワークです。CDNを利用すればウェブサーバーの負荷を軽減できる上に、ホームページの表示速度も上がり、ユーザーにホームページを見てもらいやすくなります。負荷が高いWordPressを使ったホームページを運用する際や、ウェブサイトで動画配信を行う際にCDNを利用すると特に効果的です。