CDNとは?仕組みや導入方法、おすすめサービスを分かりやすく解説
CDN(Contents Delivery Network)は、容量が大きな通信や物理的に離れた場所からのアクセスでも、素早くページを読み込ませることができるサービス。
オリジナルのデータが存在する「オリジンサーバー」から様々な場所に散らばった「キャッシュサーバー」にあらかじめキャッシュ(要するにデータ)を保管しておき、ユーザーは自分に一番近いキャッシュサーバーにアクセスする、という仕組みとなっています。
しかし、CDNは複雑で実装の手順もややこしいもの。
そこで本記事では、実際に事業でCDNを利用しているニューラルオプトが、CDNについて解説。海外向けサイトのコンサルティングや自社サイトの運営においてCDNを常から利用している知見を含めて解説していきます。
- CDNとは・仕組み
- CDNを使うべきケース
- CDNを利用するメリット・デメリット
- CDNの実装手順
- おすすめのCDNサービス
- CDNを導入した活用事例
CDNとは|通信を高速化&サーバー負荷を軽減できる
CDN(Contents Delivery Network)は、Web上のコンテンツを迅速かつ効率的にユーザーに配信するためのサービス。日本語では「コンテンツ配信ネットワーク」とも呼ばれています。
CDNを利用することで、以下のようなケースでもアクセス速度を落とすことなく安定した通信を行うことが可能に。
- 容量の大きな通信
- 一時的なアクセス増加
- 物理的に離れた場所からのアクセス
例えば、動画配信サービスでは、大容量の動画データを多数のユーザーに同時に配信する必要があります。CDNを使わない場合、サーバーへの負荷が高くなり、動画の再生が遅延したり、途切れたりする可能性があります。
しかし、CDNを導入することで、ユーザーに近い場所にあるキャッシュサーバーから動画データを配信できるため、ユーザーからするとスムーズに動画を読み込めるように。
また、グローバルにビジネスを展開している企業のWebサイトでは、世界各地のユーザーからのアクセスに対応する必要があります。
CDNを利用することで、ユーザーに近い地域のキャッシュサーバーからコンテンツを配信できるため、遠方からのアクセスでも高速な表示が可能に。結果的に、ユーザーエクスペリエンスの向上&SEO評価の向上に繋がるでしょう。
CDNの仕組み|オリジンサーバーとキャッシュサーバー
CDNの主な構成要素は、「オリジンサーバー」と「キャッシュサーバー」の2つです。
オリジンサーバーは、コンテンツのオリジナルを生成する場所であり、Webサイトの基本的なデータが格納されています。
一方、キャッシュサーバーは、これらのコンテンツのコピーを保持(キャッシュ)しており、ユーザーからアクセス要求があると、オリジンサーバーに代わってコンテンツを返します。
例えば、あるWebサイトのトップページに画像が含まれている場合、初めてそのページにアクセスしたユーザーに対しては、オリジンサーバーから画像データを送信。
同時に、その画像データはキャッシュサーバーにもコピーされます。次に別のユーザーが同じページにアクセスした場合、キャッシュサーバーに保存されている画像データが使用されるため、オリジンサーバーの負荷を軽減できます。
こうしたCDNの仕組みにより、データの転送時間が短縮され、Webサイトの読み込み速度が改善されます。また、オリジンサーバーへの負荷分散によって、アクセス集中時もサーバーダウンを防ぐことができるため、安定したサービス提供が可能となります。
CDNを利用すべきケースは?
以下のようなケースでは、CDNを利用することで、Webサイトのパフォーマンスを改善できます。積極的に活用しましょう。
- 容量の大きいコンテンツを配信する時
- 事前にアクセスの集中が予測できる時
- 海外SEOなどグローバルなサイトの時
- サーバーに負荷がかかる機能がある時|Webアプリなど
1. 容量の大きいコンテンツを配信する時
動画や高解像度の画像など、容量の大きいコンテンツを配信する場合、CDNを使うことで、ユーザーへの配信速度が向上します。
CDNのキャッシュサーバーから近い場所のユーザーにコンテンツを配信できるため、データ転送時間が短縮されます。例えば、動画配信サービスでCDNを利用することで、ユーザーはスムーズに動画を再生できるようになります。
逆に、CDNを使っていない場合、オリジンサーバーから直接コンテンツを配信することになるため、サーバーへの負荷が高くなり、配信速度が低下する可能性があります。その結果、ユーザーは動画の読み込みに時間がかかったり、途切れたりするなど、ストレスを感じることになってしまうでしょう。
2. 事前にアクセスの集中が予測できる時
新商品の発売日や、イベントの開催時など、事前にアクセスの集中が予測できる場合、CDNを利用することで、サーバーへの負荷を分散し、安定したサービス提供が可能に。キャッシュサーバーがユーザーからのリクエストを処理するため、オリジンサーバーへの負荷が軽減されます。
CDNを使っていない場合、アクセスが集中するとオリジンサーバーへの負荷が高まり、レスポンス速度が低下したり、最悪の場合はサーバーダウンにつながったりする可能性があります。
3. 海外SEOなどグローバルなサイトの時
海外からのアクセスが多いWebサイトでは、CDNを利用することで、世界各地のユーザーに高速にコンテンツを配信できます。各地域に配置されたキャッシュサーバーから、ユーザーに近い場所でコンテンツを配信できるため、表示速度が向上し、ユーザーエクスペリエンスが改善されます。
CDNを使っていない場合、遠方からのアクセスに対してオリジンサーバーから直接コンテンツを配信することになるため、通信距離が長くなり、表示速度が低下。
このような状況は、海外からのユーザーにとっては嫌なものでしかなく、SEOにも悪影響を及ぼす可能性があります。
実際、弊社でも海外向けサイトを展開しておりますが、海外からのアクセス速度を最適化するためCDNサービス(CloudFlare)を利用しています。
なお海外SEOについては以下の記事で解説しています。
4. サーバーに負荷がかかる機能がある時|Webアプリなど
複雑な処理を行うWebアプリケーションなどサーバーに負荷がかかる機能を持つサイトの場合では、CDNを利用することで、サーバーへの負荷を軽減できます。
CDNのキャッシュサーバーがJavaScriptファイルなどの静的コンテンツを配信することで、オリジンサーバーの負荷が下がり、アプリケーションの処理速度が向上します。
CDNを使っていない場合、すべてのリクエストがオリジンサーバーに集中するため、サーバーへの負荷が高まります。
その結果、アプリケーションの処理速度が低下し、ユーザーは待ち時間を強いられることになります。さらに、サーバーの負荷が限界に達すると、サービスが停止する可能性も。
サービスが停止するとユーザーの離反にもつながるため、こういったケースではCDNを利用するべきです。
CDNを利用する4つのメリット
CDNを利用することで、以下のようなメリットが得られます。
- サーバーの負荷を軽減できる
- 表示速度改善によりSEO評価が高まる
- 新しくサーバーを契約するより安い
- サイバー攻撃に強くなる|DoS/DDOSなど
【メリット1】サーバーの負荷を軽減できる
CDNでは、キャッシュサーバーの稼働によってオリジンサーバーや関連ネットワークの負荷を大幅に軽減できます。
例えば、大規模なキャンペーン・イベントを実施する際、アクセス集中によるサーバーダウンを防ぐことができるでしょう。
逆にCDNを使わないと、アクセス集中時にオリジンサーバーへの負荷が高まり、レスポンス速度の低下やサーバーダウンにつながるリスクが。結果的に機会損失につながってしまう可能性があります。
【メリット2】表示速度改善によりSEO評価が高まる
CDNを利用することで、オリジンサーバーの負荷軽減や、ユーザーとサーバーの物理的距離の短縮によってコンテンツの表示・配信速度を改善できます。
なぜ表示・配信速度を改善すべきかというと、検索順位の向上につながる可能性があるため。
実際、Googleはページの読み込み速度がデスクトップ・モバイルの検索における検索順位を決める要素に使用していると公開しています。
検索ユーザーはできるだけ早く質問に対する答えを見つけたいと考えています。研究によると、ユーザーはページの読み込み速度を非常に気にかけています。読み込み速度これまでもランキング シグナルとして使用されていましたが、デスクトップ検索を対象としていました。そこで 2018 年 7 月より、ページの読み込み速度をモバイル検索のランキング要素として使用することになりました。
Google検索セントラル
特に海外からのアクセスが予測される場合、CDNの利用は有効です。
海外から日本のサーバーにアクセスを行うと、物理的に距離が遠く速度が極端に遅くなります。なかなかページが表示されないとユーザーは「あれ?」と思って別のサイトに移ってしまうでしょう。(実際そういった経験は皆様にもあるはずです)
特にこういった海外SEOを行うケースでは、CDNを積極的に利用しましょう。
【メリット3】新しくサーバーを契約するより安い
CDNは基本的に安価なサービスで、中にはCloudFlareのように無料プランから始められるものもあります。
とりわけ海外SEOでは、現地のサーバーを利用して現地からのアクセス速度を最適化する必要がありますが、国・地域ごとにサーバーを契約していると費用がどんどん積み上がっていくでしょう。
CDNを使うことで、最低月0円からグローバルにアクセス速度を最適化できるため、新たにサーバーを契約するよりも費用を抑えることができます。
【メリット4】サイバー攻撃に強くなる|DoS/DDOSなど
CDNを使うことで、DoS/DDOSなどのサイバー攻撃に対する耐性が向上します。
DoS(Denial of Service)やDDoS(Distributed Denial of Service)攻撃は、Webサイトに大量のデータを送信してサーバーをダウンさせるサイバー攻撃のこと。最近では、「攻撃をやめてやるかた金払え」と金銭を要求するケースもあるようです。
CDNでは、送られてきたデータをキャッシュサーバーが受け止めるため、オリジンサーバーがダウンする可能性は低くなります。
ただ、CDNそのものはセキュリティ対策を主目的としたサービスではないため、攻撃の検知・遮断ができません。セキュリティレベルをさらに向上させるには、WAF(Web Application Firewall)を別で導入するのがおすすめです。
なお利用するCDNサービスによってはセキュリティ対策も同時に可能です。弊社が利用しているCloudFlareでは、サイバー攻撃を受けた時のために”Under Attackモード”という「訪問者がbotではなく人間かどうか」を確認できる機能がついています。
CDNを利用する3つのデメリット
CDNを利用することで、多くのメリットが得られる一方で、いくつかのデメリットや注意点も存在します。
- 最新のコンテンツが表示されないケースがある
- アクセスログを取得できないケースがある
- 「キャッシュ事故」などセキュリティのリスクがある
【デメリット1】最新のコンテンツが表示されないケースがある
CDNでは、キャッシュサーバーが更新前のコンテンツの複製を保持していると、オリジナルコンテンツが更新された後も、古いデータが配信されてしまう可能性があります。
特にニュースサイトや頻繁に更新されるブログのようなWebサイトでは、この更新のラグが問題となる可能性があるため、注意が必要です。
例えば、ニュース記事の内容が更新されたにもかかわらず、ユーザーに古い情報が表示されてしまうことがあります。
キャッシュの寿命や更新のタイミングを適切に管理することで、このリスクを軽減できます。キャッシュの有効期限を短く設定したり、コンテンツ更新時に即座にキャッシュを無効化したりすることで、最新の情報をユーザーに提供しましょう。
【デメリット2】アクセスログを取得できないケースがある
CDNを利用すると、ユーザーからのリクエストがキャッシュサーバーで処理されるため、オリジンサーバーのアクセスログにはキャッシュサーバーからのアクセスしか記録されません。
つまり、ユーザーのIPアドレスや詳細なアクセス情報が取得できないケースがあります。
これは、Webサイトのアクセス解析や、ユーザー行動の追跡を行う際に問題となる可能性があります。ただし、多くのCDNサービスでは、独自のアクセスログを提供しているため、ある程度の情報は取得できます。
【デメリット3】「キャッシュ事故」などセキュリティのリスクがある
CDNのキャッシュには、ユーザーの個人情報が含まれることがあり、不正にアクセスされると情報漏洩につながる可能性があります。
例えば、ユーザーがフォームに入力した個人情報がキャッシュに残っていた場合、その情報が流出するリスクがあります。
「サーバーから個人情報を削除した」と思っても、「実はキャッシュを見れば個人情報が見れてしまう」という可能性があるため注意が必要。
また本来キャッシュすべきでない情報をCDNにキャッシュしてしまい、「別のユーザーの情報が表示されてしまう」などの事件も実際に発生しています。こういった問題は、「キャッシュ事故」と呼ばれています。
とくにセキュリティが重要な金融や医療関連、EC関連のWebサイトでは、キャッシュのセキュリティ対策と定期的な監査が必要。
個人情報を含むページをキャッシュしないように設定したり、キャッシュされたデータを暗号化したりすることで、リスクを軽減できます。
CDNの導入方法・手順|CloudFlareを例に解説
実際にCDNの利用を始めるには、以下のような手順を踏みましょう。
- CDNサービスに契約する
- CDNサービスにドメインを設定する
- DNSレコードを設定する
- キャッシュを設定する
- 動作確認を行う
ただ、契約中ののオリジンサーバーとこれから契約するCDNサービスによって手順は異なります。
ここでは、オリジンサーバーとして「さくらサーバー」を契約しており、CDNサービスとして「CloudFlare」を契約するときの流れを紹介。
そこまで大きく手順は変わらないかと思いますので、ぜひ参考にしてみてください。
1. CDNサービスに契約する
まず、CDNサービスプロバイダーを選びましょう。選んだプロバイダーの公式サイトにアクセスし、アカウントを作成しましょう。登録が完了すると、CDNのダッシュボードにアクセスできるようになります。
2. CDNサービスにドメインを設定する
次に、CDNプロバイダーのダッシュボードにログインし、ウェブサイトのドメイン(例: www.example.com)を追加します。
例えばCloudFlareの場合はダッシュボードの右上に「Add site」とあります。そこから追加が可能です。
そうすると、DNSレコードなど各種設定に移ることができるはずです。
3. DNSレコードを設定する
ドメインを追加して完了…ではありません。CDNを有効にするためには、ドメインのDNS設定を変更します。
DNSレコードは、ドメイン名とIPアドレスを結びつける情報のこと。
例えばAレコードというタイプのDNSレコードは、ユーザーがサイトのURLを入力すると「〇〇さんのサイトはこちらのIPアドレスですよ」と教えてくれます。「国会議事堂(サイトのURL)」と入力すると「東京都千代田区永田町1-7-1(IPアドレス)」を自動で表示してくれるGoogleマップのようなイメージです。
まず、このAレコードを追加しましょう。
Aレコードを設定する際には、IPv4アドレス(つまり住所)を設定しておく必要があります。契約しているサーバー(オリジンサーバー)の管理画面から確認できるはずです。
また、CNAMEレコードも設定しましょう。CNAMEレコード(Canonical Name Record)とは、あるドメイン名を別のドメイン名に割り当てるためのレコードです。
CNAMEレコードとしては、ひとまず”www”を設定しておきましょう。そうすることで、例えば”www.example.com”にアクセスしたときに自動で”example.com”に転送することができるようになります。
4. キャッシュを設定する
DNSレコードが更新された後、CDNプロバイダーのダッシュボードでキャッシュ設定を行います。
まず行うべきキャッシュ設定は以下の通り。
- キャッシュを保存する期間の設定(TTL: Time To Live)
- 静的コンテンツ(画像、CSS、JavaScriptなど)は長めに設定します。例えば24時間から1週間。
- 動的コンテンツ(HTML、APIレスポンスなど)は短めのTTLに設定します。例えば5分から1時間。
- キャッシュのパージ(削除)設定
- キャッシュを手動で削除できるように設定します。
5. 動作確認を行う
最後に、ウェブサイトが正しくCDN経由で配信されていることを確認しましょう。
Free CDN Performance ToolのようなWebサイトを利用すると、CDNが正しく実装できているか確認できます。
CDNを導入した活用事例
ここからは、企業・サイトがCDNを活用している事例を紹介。
実際の活用事例をもとに、ぜひCDNがどのようなサイトに役立つのか、どんな良いことがあるのかを学んでみましょう。
【導入事例1】ねとらぼ|CDNを使い巨大メディアを最適化&安定化
月間8300万PVを持つ「ねとらぼ調査隊」へのアクセス安定化にウェブアクセラレータが貢献
人気情報サイト「ねとらぼ」のサブブランドとして、2019年10月にサイトオープンした「ねとらぼ調査隊」は、月間8300万PVを誇る人気サイトへと成長しています。このような膨大なアクセス数を抱えるサイトでは、サーバーダウンを避けるためにCDNサービスの導入が不可欠。
ねとらぼ調査隊では、さくらインターネットのウェブアクセラレータを導入し、アクセス量の96~97%程度をキャッシュに保存することで、オリジンサーバーへの負荷を大幅に抑えることに成功しています。
この事例は、CDNがいかに大規模サイトの安定運用に貢献できるかを示す好例といえるでしょう。
【導入事例2】ミラティブ|運用工数を削減&ゲーム配信サービスを最適化
「クラウドの限界=サービスの限界にしたくない」、1000分の1秒単位で突き詰めるミラティブのこだわり
2018年にDeNA社から独立したミラティブは、スマホゲーム配信者数で日本一のゲーム配信サービスを手掛ける企業。
スマホ画面共有型ライブ配信プラットフォーム「Mirrativ(ミラティブ)」は、2021年2月に配信者数300万人を突破し、配信者同士のフォロー数は1億を越えるなど、新しいSNSとして注目を集めていました。
ミラティブでは、「IDCFクラウド CDN」を導入することで、大きな手間をかけることなく、スマホからタブレットまで端末ごとに最適な画像を配信できるように。
また、DDoS対策システムも設置され、特別な構成を組むことなく攻撃を防御できるようになりました。
この事例から、データ容量が大きい配信サービスにおいても、CDNが有効であることがわかります。
【導入事例3】ニューラルオプト|世界各国からのアクセスを最適化
弊社ニューラルオプトでは、海外向けにサイトを構築しており、世界各国からのアクセスを最適化するためにCDNを利用しています。
Japanese SEO Agency in Japan | Neural Opt
CDNとしてCloudflareを導入することで、世界中にキャッシュを配置し、どこからでも遅滞なくページを表示できるようになりました。
また、英語圏全般に対してリスティング広告なども実施しているため、コンバージョン率向上のためにアクセス速度の最適化は欠かせません。
実際に、インドのとある企業様からのお問い合わせ獲得と案件成立にも繋がりましたが、これはCDNを利用しなければ実現が難しかったでしょう。
以上の活用事例から、CDNは大規模サイトの安定運用、コンテンツ配信の最適化、グローバルなアクセス改善など、様々な場面で効果を発揮することがわかります。
サイトの規模や目的に合わせてCDNを適切に活用していきましょう。