CDNは、キャッシュによってページを素早く表示させ、サーバーの負荷を分散することができます。大企業や国営のメディアなどでも使用されており、私たちの生活の身近なところでも活用されています。
そんなCDNにはメリットが多く存在しますが、一歩間違えると大問題になりかねないデメリットもあるため、運用には正しい知識と注意が必要です。今回はCDNの内容について詳しく解説いたします。
目次
CDNとは、「Content Delivery Network」の頭文字をとったもので、同じコンテンツを最適に配布するために使われる仕組みのことです。CDNを活用することで、インターネット上のコンテンツをユーザーが快適に閲覧でき、提供側のサーバー負担も少なくなることが期待できます。
アメリカの大手企業「Akamai」が1990年代に提唱したとされており、近年では多くのサイト・動画配信や私営・国営の企業で活用されているシステムです。
PCやスマホなどのアップデートに必要なファイルは、(特に配布初日)一斉にサーバーにリクエストされると高負荷になります。初日だけの高負荷に備えるためのサーバー構成は、コストや手間がかかります。
「高負荷な時のサーバー負荷を分散させたい・・・」そんな高負荷時だけのサーバーやネットワークを利用する時に、CDNは利用されます。
CDNの基本は「ユーザーから近い位置にキャッシュサーバーを設置する」ことで成り立っています。詳しい仕組みは後述の「CDNの仕組み」で解説いたしますが、ユーザーと近いところにキャッシュサーバーを置くことで、ネット表示を高速化しオリジンサーバーの負担を減らすのが、大きな目的です。
CDNは通常の個人サイトや小さなブログではほとんど活用しません。大勢のアクセスやダウンロードが集中するサイトで利用する場合がほとんどです。
そこまで大規模なサイトを閲覧しない、という方にとってCDNは無縁かと思われますが、実は、生活の身近なところでもCDNは活用されています。
例えば、ニュースや天気予報といった公共のサイトなどは、CDNが使われています。地震速報や臨時ニュースなどがあった際、多くの人がサイトにアクセスをかけます。CDNがなければサイトはパンク状態になり、ユーザーは知りたい情報が得られなくなります。
もっと身近なところでは、今、お持ちのPCやスマホのアップデートなどもそうです。OSアップデートは特定の時間に一斉配信が始まるため、多くの端末からのアクセスが集中します。
しかしアクセス集中は配布初日のみであり、その他の日の負荷はほとんどないのです。とはいえ高負荷の日がある以上、その日のためにコストもかかるハイレベルなサーバーを常時使用しなくてはなりません。必要なときに必要な分のキャッシュサーバーとして使えるCDNが、企業のそのようなコスト負担や悩みを解決してきました。
CDNがどのような仕組みでページを高速表示させて、サーバー負担を防いでいるか、仕組みについて図解付きで解説いたします。
CDNの仕組みは、簡単に言ってしまえば「ユーザーから近い位置にキャッシュサーバーを置く」というものです。これにより、サイトの高速表示とサーバーの負担軽減が実現します。
例えば、日本にいるAさんがアメリカにサーバーのあるサイトを見ていたとします。サーバーとの距離が遠いため、Aさんのパソコンにはなかなかサイトが表示されません。その理由は単純に距離が遠いから、というだけではありません。
インターネットというものは、情報をいくつものルーターを経由してバケツリレー状態で運んでいます。さらにそのルーターは一直線上に置かれているのではなく、非常に複雑な経路を介しているのです。
このルーターが情報を受け取り、次のルーターに渡す数をHOP数といい、HOP数が少なければ少ないほど、つまり経路が単純であればあるほど、アクセス数は早くなります。
アメリカまでは物理的にも遠くHOP数も多いため、サイトが表示されにくくなります。Aさんがサイト表示の遅さにアクセスを諦めてしまえば、アメリカのサイトにとっては機会損失です。
アメリカよりもAさんに近い位置にCDNを置くことで、短いHOP数でサイトが表示されるようになります。これがCDNによるサイトの高速表示の簡単な仕組みです。
サーバーの負担軽減とはどういうものなのでしょうか。例えばOSアップデートがあったとします。多くのユーザーが配信元にアクセスをしてきたため、サーバーはパンク状態です。
オリジンサーバーと同じ情報をCDNに入れて分散し、ユーザーがCDNにアクセスできるようにしておけば、メインサーバーが飛んでしまうのを防げます。これがCDNによるサーバーの負担軽減の仕組みです。
よく、CDNとよく似たシステムとしてロードバランサーが挙げられます。たしかに、ロードバランサーを設置して複数のサーバーにアクセスを分散させられれば、サーバー負荷は軽減できます。
しかしそれではサーバー側の問題解決のみであり、ユーザー側のメリットはほとんどありません。ユーザーの近い位置に設置するCDNはサーバーの負荷軽減と共に高速アクセスによるユーザーのストレス軽減も実現可能です。
また、CDNはロードバランサーよりも広帯域の転送に優れているため、より多くのユーザーからアクセスが集中するサイト・コンテンツに最適だといえます。
ユーザーも提供側もメリットが多く感じられるCDNですが、何事にも裏表があるように、CDNにもデメリットが存在します。その2つについて、それぞれ解説いたします。
まずはCDN導入のメリットから見てみましょう。
サーバーの負担軽減は、提供側からすると大きなメリットです。
CDNによるサーバーの負担軽減には「キャッシュ」が大きく関わっています。キャッシュとは、お使いのパソコンでも備わっている機能であり、「一度得た情報を一時保管しておく」システムです。
CDNにはキャッシュ時間の設定ができます。例えば、キャッシュ時間を60秒とすると、オリジンサーバーから得た情報を、60秒間だけ保存できます。
13時00分にメインサーバーへ情報を取りに行き、13時01分までの間にユーザーからアクセスがあれば、CDNから情報提供が可能です。13時01分を過ぎた時点で、再びオリジンサーバーへ情報を取りに戻ります。
つまり、オリジンサーバーにかかる負担は、60秒間のうち1回のみですみます。実際にはキャッシュするファイルが単一ではないため、これほど単純ではありませんが、情報をCDNに仮保管しておくことで、オリジンサーバーへのアクセス集中が避けられます。
CDNのもうひとつのメリットが表示速度の向上です。先述したとおり、ユーザーから近い位置にCDNを設置することでHOP数が少なくなり、表示速度の快適化が図れます。
表示スピードで得られるメリットは見る側の快適性のみではなく、アクセス数の多いサイトはもちろん、特に動画配信などを行うサイトでも、大きな効果を生みます。
CDNを提唱した「Akamai」の調査によると、クリックをしてから動画再生までに2秒を超えると、視聴者の離脱率があげることがわかっています。さらにその後、1秒遅れるごとに6%ずつ離脱者が増えていくそうです。
表示速度の遅延はビジネスチャンスを逃す原因となります。快適な表示環境を整えることで、ユーザーが快適にアクセスできるだけでなく、提供側は機会損失を防ぐことができるのです。
データベースリクエストやphp処理が高負荷で表示速度が遅いようなワードプレスにも表示速度向上が見込めます。
ワードプレスのページは、サーバー側でリクエストされたURLに応じたサイトパーツを組み合わせてhtmlデータを転送します。このようなページが表示させるまでの処理を都度サーバー側に強いるのではなく、CDNにキャッシュしてしまえば表示速度の向上が見込めます。
一方で、デメリットについても把握しておきましょう。
CDNで問題視されがちなのが、キャッシュ事故のリスクです。先ほども触れましたが、CDNはオリジンサーバーからデータをキャッシュしています。
キャッシュしたデータをCDNで編集・更新はできないため、万が一、間違ったデータをキャッシュされてしまった場合、次のキャッシュ時間まで表示し続けるしかないのです。もしこの間違った情報が個人情報であれば、大きな問題となります。
例えば、Aさんが自身の会員登録ページを閲覧したいと思い、サイトにアクセスをかけたとします。CDNには「会員ページはオリジンサーバーへ取りに行く」と設定してあるため、CDNはキャッシュをしにオリジンへ向かいました。そこでAさんの情報を得てCDNに保管、Aさんは無事に閲覧ができました。
ところが、その後にBさんが同じく会員登録ページを閲覧したいと思いサイトに行ったら、自分のではない、Aさんのページが表示されてしまいました。
これは、CDNのキャッシュ設定に誤りがあり、会員ページの表示=Aさんのページ表示と認識されていたためです。このようなCDNによるキャッシュ事故は頻繁にあり、2017年6月には「メルカリ」でも同様の事故が起きています。
サーバーの負担軽減を担うキャッシュ機能ですが、誤った設定をすると思わぬ事故を起こしてしまうため、慎重なキャッシュファイルの選別が必要です。
CDNではキャッシュ時間の設定ができます。例えば、キャッシュ時間を30分間に設定すれば、30分間はオリジンサーバーに情報を取りに来ないので、サーバー負担がかかりません。しかしその一方で、間違った情報を掲載しても、30分間は更新できないともいえます。
さらにいえば、速報性が重要な情報などを更新しても、やはり30分間は取りにきません。そのため競合サイトに先を越されてしまい、記事の鮮度が落ちてしまう可能性も考えられます。
CDNの設置自体には直接SEOには関係ないですが、CDNの活用でSEO効果に波及させることもできます。CDNで期待できるSEO効果について解説いたします。
もし、ページの表示速度が遅くて、CDN活用でページ表示速度が上がるとSEOに良い効果を及ぼす可能性があります。
何故かと言うと、ページの表示速度はSEOにおいて順位決定のアルゴリズム要因の1つだからです。
Googleによると、2018年7月より「ページの読み込み速度をモバイル検索のランキング要素に追加する」としています。Googleのアルゴリズムでは「ユーザー満足度」が特に重視されているため、CDNによる表示速度改善でユーザーに快適なサイト閲覧を可能にすれば、Googleの評価も上がります。
また、サイトの表示速度がCVにも良い影響を及ぼします。SEO効果を最大限に発揮させるためにCDNを上手に活用できた場合、様々な方面に利益を及ぼします。
サーバーに高負荷な状態が続き、レスポンス速度が遅いと検索エンジンのクロールがされない可能性があります。SEOの検索結果に表示されるには、検索エンジンのロボットがサイトをクロールできる必要があります。この検索エンジンのロボットは、サーバーに迷惑を掛けないように制御されており、表示速度が遅いとクロールを控えるようになっています。つまり、サーバーが高負荷だとクロールしてくれず、検索結果に表示されなくなる可能性が生じるのです。
検索エンジンのロボットに定期的なクロールをして貰うためにも、サーバーが安定稼働されていて、クロールされる環境を用意するようにすることがSEOで重要です。
CDNを活用することで、サーバーの負荷分散や表示速度高速化に期待ができます。これらのサーバー負荷やページの表示速度はSEO観点からも重要です。サーバー負荷や表示速度に課題を感じている場合、導入を検討してみるのもよいでしょう。
サイト運営に欠かせないのが「サーバー」です。サーバーがサイトの命運を左右する、と言うサイト運営者もいるほど、サーバー選択は重要度の高い要素と…
ビジネスの成功に必要なコミュニケーション戦略を策定する中で、重要な位置づけになりうるのがSEOです。サービス認知に悩みを抱える多くの企業は、…
Web制作をするにあたって、WordPressを使ってサイト構築をしている担当者も多いと思います。更新や管理がスムーズにでき、かつSEO対策…
「デザインを変えたい」「更新をもっと楽にしたい」などホームページをリニューアルする理由は様々だと思いますが、折角リニューアルしたからには今ま…
構造化データとは、HTMLの文字列を検索エンジンに理解してもらうためにタグ付けを行ったものです。構造化データにはさまざまな仕組みや書き方があ…
ページ内リンクとは、htmlソースに<a>と</a>にURLが記載されたタグのURLリンクです。リンク箇所は<…
今話題のAIによるコンテンツ自動生成機能も!SEO対策に本当に必要な機能だけを搭載した使いやすさとコストパフォーマンスに優れたWeb集客支援ツールです。
Webマーケティングに関わる施策全般をワンストップで
ご提供します。
お気軽にご相談ください。
Webマーケティング最新ニュースのレポートや無料セミナーの先行案内が届く、お得なメルマガ配信中!