【サーバー負荷軽減対策!】CDNとは? その仕組みとメリット・デメリット
近年、Webサイト・サービス運営において「ユーザ体験(UX)」の向上が叫ばれています。UXの向上には、サイトのわかりやすさやデザイン、コンテンツの内容だけでなく、安定性やレスポンスの速さも重要となってきます。多くの運営者は、コンテンツの充実度に反して低下しがちな表示速度への対応に追われているのではないでしょうか。そこで「CDN」に目を向けてみてください。CDNは、より速く確実に大容量のコンテンツを配信するための仕組みです。CDNを適切に活用することで、アクセス集中が起こりやすい時間帯でも、スムーズな閲覧環境を提供できるでしょう。ここでは、CDNの概要や仕組み、メリットとデメリットなどを解説しています。
CDNとは?なぜ重要?
まず、CDNの概要と重要性について解説します。CDNとは、「コンテンツ・デリバリー・ネットワーク」の略称で、「大容量のコンテンツを効率よく安定して配信する仕組み」を指す言葉です。CDNを活用することで、アクセス集中が起こりやすい環境下でも、動画や画像コンテンツを素早く表示させることが可能です。
CDNが活用される背景
CDNは、現代のWebサイト・サービス運営において頻繁に用いられている技術のひとつです。では、なぜここまでCDNが利用されるようになったのでしょうか。その理由として以下3点が挙げられます。
・動的かつ大容量コンテンツの増加
インターネット上のコンテンツは、テキストから画像へ、そして動画へと進化してきました。近年はUXを刺激しやすい動画コンテンツが目に見えて増加しています。大容量コンテンツの配信には相応の処理能力を必要とするため、負荷分散対策の一環として以前にも増してCDNが活用されるようになりました。
・コアウェブバイタルへの対応
Google社によれば、2021年6月中旬から検索順位の決定要素として「Core Web Vitals(コアウェブバイタル)」が加わると発表しています。コアウェブバイタルは、UX向上のためにサイトの健全性を計測する指標であり、以下3要素で構成されます。
・LCP(Largest Contentful Paint):メイン要素と判断されたコンテンツが読み込まれるまでの時間を計測
・FID(First Input Delay):ユーザがページ内で要素をクリックするなどの行動をした際の応答速度を定量的に計測
・CLS(Cumulative Layout Shift):ページ読み込みの遅延によるレイアウトのズレや表示不具合など視覚的な安定性を測定
このようにコアウェブバイタルでは、「ユーザがどれだけ早く、スムーズに、快適にコンテンツにアクセスできるか」が重視されます。言い換えれば「表示速度の速さ」がWebサイト・サービスの評価を大きく左右することになると言えます。CDNはコンテンツの表示・ダウンロードをスムーズにする効果があることから、コアウェブバイタルの改善にも効果が見込める仕組みと言えるでしょう。
・オンラインシフトによるネットユーザの増加
コロナ禍をきっかけとして、インターネットにアクセスする人・時間ともに増える傾向が続いており、その結果、アクセス集中のリスクもまた増加しています。CDNによる負荷分散は、安定したサービスの提供に欠かせないものとなっているのです。
CDNの仕組み
次に、CDNの仕組みについて解説します。
オリジンサーバーとキャッシュサーバー(代理サーバー)
CDNは、「コンテンツの種類」や「ユーザがアクセスしている地域」よって適切なアクセス先を提供し、効率よく配信を行います。それを実現する仕組みが「オリジンサーバー」と「キャッシュサーバー(代理サーバー)」です。
オリジンサーバーは「コンテンツの本体が保管されているサーバー」です。これに対してキャッシュサーバー(代理サーバー)は、「オリジンサーバーに保管されているコンテンツの一部を、コピーとして保持するサーバー」です。
CDNを使用しない場合、ユーザはオリジンサーバーにあるコンテンツにアクセスします。その結果、オリジンサーバーの負荷が増えたり、ネットワークの帯域が逼迫してしまい、遅延やサーバーダウンの原因になってしまいます。
一方、CDNを用いる場合は、各地に配置されたキャッシュサーバーの中からユーザに最も近いものが選ばれるため、自動的にアクセスが分散するようになります。これにより、オリジンサーバーのスペックを上げたり、複数台に増やしたりしなくても、安定して高速にコンテンツを配信することが可能になります。
CDNを利用するにはDNSのCNAMEを使う
CDNを利用するには、DNSの「CNAMEレコード」の設定が必要です。CNAMEレコードを利用し、「任意のURLへのアクセスに対し、URLはそのままで他のサーバーへアクセスさせる」ことが可能です。以下の例では、オリジンサーバーのURL「www.origin.jp」へのアクセスをCDNサービスのURL「cdn.exampe.com」に変更しています。
“www.origin.jp IN CNAME cdn.exampe.com”
これにより、オリジンサーバーとCDNを結びつけることができるので、オリジンサーバーへのアクセスが来た時に、代わりにCDNのキャッシュサーバーが対応してくれるようになります。
キャッシュの設定
実際にコンテンツを配信するにはCNAMEを設定するだけでなく、キャッシュさせるファイルの指定や、キャッシュさせる時間を設定する必要があります。
キャッシュさせるファイルの指定方法としては大きく分けて2つあり、画像や動画などキャッシュさせたいデータのみをサブドメイン配下に置き、そのサブドメイン全体をキャッシュさせる方法と、ドメインそのものを全てCDN経由にし、個別のファイル単位でキャッシュの要不要を設定する方法が挙げられます。後者はすべてのデータをキャッシュすることができますが、適切な設定を行わないとキャッシュ事故の危険性が高まります。
また、CDNには「キャッシュ時間」という考え方があります。オリジンサーバーの代わりにキャッシュサーバーが持っているデータを配信するという仕様上、オリジンサーバー上のファイルを更新してもそのファイルをキャッシュサーバーに渡せなければ、いつまでも古いデータが配信されてしまいます。それを防ぐ仕組みがキャッシュ時間です。
例えばキャッシュ時間を30分とした場合、30分を過ぎたらキャッシュサーバーは再度オリジンサーバーへ最新のファイルを取りに行きます。これによりCDNから常に最新のデータを配信することができますが、キャッシュ時間もサイトの更新頻度やアクセス数といった特性に応じて適切に設定する必要があるでしょう。
CDNを使うメリットとデメリット
負荷分散や安定性向上などの効果が見込めるCDNですが、メリットばかりではありません。そこで、CDNのメリットとデメリットを整理してみました。
CDNのメリット
・負荷分散とUXの向上
すでに紹介したようにCDNはオリジンサーバーへのアクセスに対し、ユーザから近いキャッシュサーバーが代わりに応答することができます。したがって、大量のアクセスが発生しても自動的に負荷分散の効果が得られ、表示速度の向上など快適なUXを提供することができるでしょう。
・コストの削減
CDN以外のアクセス集中対策には、オリジンサーバーのスペックアップやスケールアウト、ネットワークの増強などが挙げられますが、短期間のみアクセスが集中するキャンペーンなどのためだけに用意するには、コストが高くついてしまいます。CDNを利用すればコストや手間を抑えて手軽に負荷分散を行えます。
・サイトやサービスの信頼性向上
サービス停止・サーバーダウンは信頼性の低下と閲覧者の減少につながります。裏を返せば、滅多に停止しないサービス・落ちないサイトは信頼性が高く、ビジネスの成長にもつながりやすいと言えるでしょう。大量のアクセスには多くの商機が含まれていますから、経済的損失を防止するという意味でも有効です。
・SEO対策の一環としての効果
前述したように、最新の検索順位決定指標「コアウェブバイタル」において、LCP向上に効果が見込めることから、UXの向上につながりSEO対策としても有効です。
CDNのデメリット
・キャッシュの整合性による問題
キャッシュ時間の設定次第では、オリジンサーバーからのコピー取得・保持がうまくいかず、最新の情報を提供できないこともあります。
・キャッシュ対象とする情報の選定にかかる労力
どのコンテンツのどのファイルをキャッシュの対象とするか、といった設定にかかる労力も無視できません。例えば個人情報などを含むファイルを誤ってキャッシュに含めてしまうと、情報漏洩といった重大な事故につながりかねません。
・アクセスログの取得不可の可能性
CDNでは、アクセスログがキャッシュサーバー側だけに残ることがあります。したがって、利用するサービスによってはアクセスログが提供されないことも覚えておくべきでしょう。
まとめ
ここでは、CDNの概要や仕組み、メリット・デメリットなどについて解説してきました。CDNはアクセス集中によるサーバー負荷を軽減しつつ、コンテンツを安定して高速に配信できる仕組みです。ただし、キャッシュ時間やファイル選定といった設定作業には、ある程度の知識と労力が必要になります。また、サイトによってはCDNの恩恵をそこまで得られない場合も考えられます。
自社のサイトはCDNを利用するべきなのか? それとも他の選択肢があるのか? など、Webサイト・Webサービスのパフォーマンスの向上や安定稼働についてお悩みであれば、プロに相談してみてはいかがでしょうか。「リンク ベアメタルクラウド」では営業担当・技術担当がお客さまの課題や要望をヒアリングさせていただき、最適な構成やオプションなどを提案させていただいております。ぜひお気軽にご相談ください。