CDNの仕組み解説 ~ノンエンジニアから技術者向けまで~

2022.09.21

J-Stream CDNext

パフォーマンス改善

CDN

Jストリームは国内で20年以上CDNサービスを提供している実績があります。お客様はノンエンジニアの方から情報技術の熟練者の方まで様々です。CDNサービスの導入前には必ずCDNの仕組みについてご説明しますが、お客様の立場に合わせて柔らかい表現を用いた平易なものから、専門用語を用いた技術的なものまで変化をつけています。そこで今回は、CDNの仕組みに関する概ね同じ範囲の事柄について、ノンエンジニア向けから技術者向けまで3つのレベルで解説します。

1. CDNの仕組み解説:Lv1

ここでは、ノンエンジニアの方向けにCDNの仕組みを解説します。
PCやスマートフォンを用いてWebサイトを閲覧しようとした時、なかなか目的のWebサイトが表示されずに待たされてしまったり、待っても表示が出来ずにエラー画面が映ってしまったりした経験は誰しもあるでしょう。CDN(Content Delivery Network)はWebサイトの「繋がりにくい」「遅い」を解消することが出来る仕組みです。

CDNを導入していない環境

WebサイトやそのWebサイトに掲載される画像などは、あるWebサーバーに格納されています。そのWebサイトを閲覧したいユーザーは、そのWebサーバーにPCやスマートフォンなどを通じてアクセスすることで、Webサーバーから情報を得て閲覧しています。
Webサーバーはユーザーに対して情報を提供するためのコンピュータです。当然能力には限界があるので、一度にあまりたくさんのユーザーが情報を求めて集まってしまうと、動作が遅くなってしまったり、ダウンして応答不能な状態になってしまったりすることもあります。

アクセス集中によりダウンするWebサーバーの図
一度にユーザーが集まるとWebサーバーがビジーな状態になってしまう

CDNを導入している環境

あるWebサイトを閲覧したい時は、そのWebサイトの情報が格納されているWebサーバーにアクセスを行いますが、CDNを利用している場合は、WebサーバーではなくCDNにアクセスを行います。

CDNがあることにより、アクセス集中でもダウンしないWebサーバーの図
CDNは大量配信に特化したサービスなのでWebサーバーの負荷を軽減できる

CDNはWebサーバーに格納されている情報をコピーして保持しています。そのため、Webサーバーに代わってユーザーへ情報を配信することが可能です。CDNはWebサーバーよりも配信能力の高いサーバーの集まりなので、CDNを使った方がWebサイトに繋がりにくい状態の発生を防ぐことが出来ます。

CDNを使うことで、ユーザーは必ずCDNにアクセスをするようになり、元々のWebサーバーへはアクセスしなくなります。CDNはユーザーからのアクセスを仲介して、Webサーバーの代わりに情報を提供してくれるという仕組みです。

Webサイトで公開される情報は今や社会的にとても重要です。企業にとっては商いの上でも、なくてはならないものでしょう。Webサイトを安心して公開し続けるために、CDNの利用は大変有用な選択肢となります。

Lv1の解説はここまでです。もう少し、CDNについて知りたいという方は、こちらの記事も参考になさってください。

2. CDNの仕組み解説:Lv2

続いて、ある程度Web関係の知識がある方向けの解説を行います。ノンエンジニアではありますが、WebマスターなどWebに関わる業種、職種の方を想定しています。
CDNの構成に関する細かい仕組みなどについては説明を省略している部分もありますが、CDNそのものの特徴や仕様に関する説明や利用上の注意点を加えています。

CDNを導入していない環境

ユーザーがあるWebサイトにアクセスする際、Webサイトが重い、遅い、表示できない状態になっていることがあります。これは同時多発的にそのWebサイトに対してアクセスが集中しているため、Webサーバーの処理能力を超えてしまい、応答が出来ない状態になってしまっていることが考えられます。Web広告の出稿やメディア露出など、アクセス集中に至る原因について考慮しましょう。事前にアクセス集中の原因となり得る事柄を予測できれば、予め対策を打つことが出来ます。

■ アクセスが集中しやすいシチュエーション
ニュースサイト等での露出やWeb広告
テレビ等のメディア露出
SNSで友だち登録しているユーザーへの情報配信
災害時などの情報提供

CDNを導入している環境

CDNを使うことで、ユーザーのアクセスは直接Webサーバーへ届くのではなく、CDNに向かうようになります。

CDNのある時/ない時の図

CDNはWebサーバーへアクセスして、格納されているコンテンツをキャッシュして保持しており、Webサーバーの代わりにユーザーからのアクセスの要求に応え、キャッシュしているコンテンツを配信するという仕組みです。これにより本来Webサーバーが受けてしまうアクセス負荷をCDNが肩代わりすることになるため、Webサイトの表示も安定する効果が期待できます。

ユーザーをWebサーバーではなくCDNにアクセスさせるようにするために、DNSの設定作業が必要になります。導入検討前にDNSの管理者を確認しておきましょう。

CDNは複数のキャッシュサーバーによって構成されており、一つのWebサーバーのみでコンテンツを配信するよりも高い配信能力を実現します。ただし、CDNはキャッシュしたコンテンツをそのまま配信するため、誰がアクセスしたかによって見栄えが変わるWebサイトにおける利用については注意が必要です。
例えば会員サイトなど、同じWebサイトでもどの会員がアクセスしたかによって表示される情報が変わる場合は、気を付けて初期設定を行わなければいけません。誤ってAさん向けのコンテンツをBさんにも配信してしまう場合があります。

CDNの初期設定ミスにより、Aさん向けのコンテンツをBさんにも配信してしまう例
CDNは複数のサーバーの集まり。配信能力も高いが、基本的にユーザー全員に同じコンテンツを配信するので設定に注意。

CDNはCDN事業者がサービスとして提供しているものであり、物理的な機材を購入しなければいけないものではありません。利用の開始も終了も、Webサーバー自体の増強より低コストかつ容易である場合が多いので、課題への対応策として有効な手段の一つとなるでしょう。

3. CDNの仕組み解説:Lv3

技術職でCDNのこともある程度知っている方、または簡単な説明で大枠を理解できる方向けの解説です。
CDNの利用上のメリットはWebサイトを安定して配信できるようにすることですので、細かい部分はわからなくてもそれが実現できるのであれば問題無いという方には柔らかい表現でご説明したり、場合によっては省略をした内容でご説明したりすることがあります。一方、サービスの設定や運用に携わるエンジニアの方向けにはより正確に解説します。

CDNを導入していない環境

「メディア露出があった」「SNSからのランディングがあった」「Web広告の出稿を行った」などの理由によって、あるWebサイトに対するアクセスが集中し、WebサーバーがHTTPステータス500番系のエラーを返してしまう場合があります。特にニュース系のポータルサイトに取り上げられたり、テレビ番組で自社商品が紹介されたり、LINEなどの企業公式SNSからランディングページへの導線を用意したりした場合などは短時間にアクセスが集中します。Webサーバーにオートスケール機能が用意されていたとしても、スケールが間に合わない場合もあります。

■ Webメディアに広告を出稿した際の遷移先ページのトラフィック例
Webメディアに広告を出稿した際の遷移先ページのトラフィック例
ピークは数分程度のことが多いのでスケールの完了まで間に合わない。

CDNを導入している環境

CDNの利用のために、DNSのCNAMEレコードを利用して、対象のドメインに対するアクセスをCDNに誘導します。CDNは複数のキャッシュサーバーによって構成されているため、より多くのリクエストを受け付けることが可能です。
オリジンサーバーとなるWebサーバーはCDNからのアクセスだけを受け付け、CDNはコンテンツをキャッシュします。キャッシュTTLの期間内、CDNは同じキャッシュを保持し続け、TTLが切れるとオリジンサーバーへコンテンツの更新確認のためのリクエストを行う仕組みになっています。キャッシュTTLを始めとするキャッシュ制御のルールについては、オリジンサーバー側でのHTTPレスポンスヘッダ等による指定も可能ですが、CDNサービスによってはサービス側の管理コンソールで指定した設定を優先させることも出来ます。

■ Jストリームの提供するCDNの配信の仕組み
Jストリームの提供するCDNの配信の仕組み
初回のキャッシュは1人目のリクエストをトリガーに行われる。

CDNはキャッシュコンテンツを大量に配信することに特化しているため、基本的には静的コンテンツの配信に用いられます。動的コンテンツが含まれるWebサイトの場合、動的に生成されたコンテンツをそのままCDNがキャッシュしてしまうことで、誤った相手に誤ったコンテンツを配信してしまう恐れがあります。動的コンテンツについては、特定のディレクトリ配下、ファイル名、拡張子などの条件によってキャッシュをしないという設定を行う場合があります。

■ ファイルフォーマット「html」のみキャッシュを保持しない場合の流れ
ファイルフォーマット「html」のみキャッシュを保持しない場合の流れ
Jストリーム提供のCDNサービスではTTLを0秒にするなどしてキャッシュを保持しない設定を実施する。ECサイト等の会員サイトのCDN化においてよく用いられる。

また、CDNはWebサイトの仕様や構造、併用するインフラサービスの状態、オリジンサーバーの設定などの条件によって、CDNが配信対象のコンテンツをうまくレスポンス出来ない場合があります。その際のリクエストはCDNを通り抜けてオリジンサーバーへ到達します。CDNやその周辺のインフラに対して適切な設定を施すことで、少しでもキャッシュ効率を上げ、オリジンサーバーのアクセス負荷を減らす取り組みが必要です。CDNベンダーによってはこのような取り組みについてサポートサービスを提供している場合があるので、サービス選定の際には考慮しましょう。

CDNは地理的に分散された複数のキャッシュサーバーと、GSLB(Global Server Load Balancer)と呼ばれる複数の拠点間のキャッシュサーバーに対してロードバランシングを行う広域負荷分散システムなどによって構成されています。通信回線についても、複数のISPやIXと高帯域で接続することで高速化されている場合が多いでしょう。

■ Jストリームが提供するCDNサービスのネットワーク概要
Jストリームが提供するCDNサービスのネットワーク概要

CDNはオリジンサーバーの増強よりも低コストかつ安価に導入出来る場合があります。またCDNの導入によってオリジンサーバーの負荷が下がるので、CDNを利用することを前提に、オリジンサーバーのスペックはあえて抑えることもあります。

もう少しCDNの仕組みについて知りたいという方は、当社のエンジニア情報サイト「Voice」の記事も参考になさってください。

関連記事(エンジニア情報サイト「Voice」)

4. 仕組み理解の必要性とベンダーサポート

CDNは導入が完了すれば、データ通信料を確認する程度で、それほど運用作業を必要とするサービスではありません。仮にCDNの仕組みに関する理解があまり細かく出来ていなかったとしても、十分にサービスのメリットを享受できるでしょう。
CDNは「Webサイトが安定して配信されている状態を保つ」サービスですので、特に問題なく普通にWebサイトが閲覧できる状態であるということはCDNが機能しているということです。普段はCDNを利用していることを意識しないということも大いにあるでしょう。

CDNは月額費用を支払うことで利用ができるSaaSの形態で提供されており、ベンダーによるサポートを受けることが出来ます。課題を抱えているWebサイトについてベンダーに相談し、適切なCDNの利用方法について提案を受けましょう。

以上、CDNの仕組みについて、ノンエンジニア向けから技術者向けまで3つのレベルで解説しました。

CDNはマーケティング部門の要請により課題の改善のために導入が求められ、技術部門により設定や運用がなされるような、複数の部門が関わって導入が進められていく場合が多いサービスです。Jストリームでは自社で構築、運用を行うCDNサービスである「J-Stream CDNext」を提供しています。サービスについてご説明するお客様の立場も様々であるため、必要な相手に対して必要な説明を行い、安心してサービスをご利用頂けるよう努めています。
またJストリームでは、営業担当と専任のエンジニアによってお客様の課題解決のためにCDNサービスのご紹介を行っています。馴染みの無い仕組みで理解に不安のある方はご遠慮なくお伝えください。最適なご説明によってサービスをご案内します。まずはお気軽にお問合せ下さい。

J-Stream CDNext「料金と機能の一覧資料」をダウンロードする

サービス詳細

関連する記事一覧

Jストリームの
ソリューションに
興味をお持ちの方は
お気軽に
お問い合わせください。

電話でのお問い合わせ

0120-658140

【受付時間】9:30~18:30(土日祝日を除く)

登録無料!

Jストリームのサービスを活用した成功事例や、お客さまの課題解決につながるお役立ち情報などをメールでお届けしています。

メールマガジン登録

電話でのお問い合わせ

0120-658140

【受付時間】9:30~18:30(土日祝日を除く)