CDNとは|サーバー負荷を抑える仕組みとメリット・デメリット
インターネットの高速化につれて、Webで配信されるコンテンツの容量は増大化の一途をたどっています。人気のWebサイトやWebサービスを配信するサーバーにアクセスが集中し、サーバーがダウンするなどのトラブルも少なくありません。
そこで利用されているのが、コンテンツデリバリーネットワーク(CDN:Contents Delivery Network)です。CDNとはどのようなものか、利用が広がっている背景やその特徴についてわかりやすく解説します。
Contents
【わかりやすく解説】CDN(コンテンツデリバリーネットワーク)とは
CDN(Contents Delivery Network)とは、大容量のWebコンテンツをインターネット上で円滑かつ安定的に配信できるよう構成されたネットワークのことです。この仕組みはアメリカのネットワーク事業者「Akamai Technologies」が1990年代に提唱したもので、以来、同社をはじめさまざまな企業がCDNサービスを提供しています。
大容量の配信コンテンツに多くのユーザーが一度にアクセスした結果、Webサイトを管理するオリジンサーバーに多大な負荷がかかり、サーバーがダウン。Webサイトが表示されないなどのトラブルに発展するケースは後を絶ちません。
CDNでは、オリジンサーバーにて管理されているコンテンツ情報を複製・保存したキャッシュサーバーを複数用意し、コンテンツとユーザーのアクセスを分散します。これにより、オリジンサーバーへかかる負荷を大幅に軽減し、配信の安定化を実現しています。
CDNによって実現できること
Webコンテンツの配信の遅延には、サーバーの物理的距離も関係しています。
たとえばニューヨークの飲食店のWebサイトを東京から閲覧しようとする場合、そのサイトがCDNを利用していなければ東京からニューヨークのサーバーへ直接アクセスしなければならないため、ページの読み込み速度は低下します。
一方、CDNを利用すると世界中のさまざまな場所にキャッシュサーバーが配置されます。ユーザーは東京からもっとも近いキャッシュサーバーにアクセスできるため、物理的要因による読み込み速度の遅延は発生しません。迅速にコンテンツが表示されるようになることで、海外ユーザーにも「よりよい体験」を提供できるようになるのです。
また、国内ユーザーに向けてもCDNは機能します。
たとえば近年では、人材を募集する企業が自社採用サイトにさまざまな動画を掲載するケースが増えています。しかしCDNを利用していないと、容量の大きい動画へのアクセスが集中することでサーバーがダウンしてしまう可能性が懸念されます。ここでもCDNの利用により、ユーザーに動画コンテンツを安定して閲覧してもらえるようになるでしょう。
CDNが必要とされる背景
Webコンテンツを迅速かつ安定した状態で配信することは、インターネットが利用されるようになった初期からの課題でした。当時からCDNは提唱されており、20年以上にわたりサービスが提供されています。
時を経て現在、技術進化によりインターネットは驚くほど高速化されました。しかし、高速化にともない配信するコンテンツもテキストから画像へ、画像から動画へと大容量化しています。また、インターネットを利用するユーザーは当時とは比べものにならないほど増えています。
インターネットの高速化、Webコンテンツのリッチ化、ユーザーの増加によってCDNの需要はますます高まっているのです。
Webコンテンツを提供する側は、ユーザーにストレスを与えないよう、よりスピーディーにコンテンツを表示することを常に課題としています。モバイルサイトの読み込みに3秒以上かかる場合、53%のユーザーがサイトの訪問をやめてしまうというGoogleの調査結果もあるほどで、表示速度の高速化はWebサイトの成果や売上などを直接左右する重要な事項です。
Webコンテンツを提供する側、利用するユーザー側の両者がWebコンテンツ表示の高速化を求めていることも、CDNの必要性を高めています。
CDNの仕組み
通常、WebコンテンツはそれぞれのWebサイトを管理するオリジンサーバーから配信されています。この場合、ユーザーはオリジンサーバーにアクセスしてコンテンツを利用します。
一方、CDNではWebコンテンツを一時的に保存したキャッシュサーバーを複数配置し、オリジンサーバーに代わりWebコンテンツを配信します。ユーザーは複数のキャッシュサーバーを介してWebコンテンツにアクセスするため、一度に大量のユーザーがWebコンテンツを閲覧してもオリジンサーバーに過度な負荷はかかりません。
オリジンサーバーに多くのユーザーがアクセスして交通渋滞のような状態になっているものを、交通整理の要領で複数のキャッシュサーバーに分散するようユーザーを案内している状態と考えればわかりやすいでしょう。
CDNのメリット
CDNの利用によって得られるメリットについて、あらためてまとめます。
- サーバーへの負荷を抑えられる
- Webページ表示速度の改善
- 運用費用を抑えられる可能性がある
サーバーへの負荷を抑えられる
Webコンテンツの大容量化とユーザーの増加は、サーバーに大きな負荷をもたらします。前述したように、CDNではオリジンサーバーに代わり、コピーされたWebコンテンツを保存しているキャッシュサーバーがWebコンテンツの配信を行います。そのため、元データのあるオリジンサーバーへにアクセスが集中することがなくなります。
Webページ表示速度の改善
CDNの利用で、Webページを表示する速度が改善されます。
Webサイトを表示する際は、ページに含まれる画像など複数のデータをサーバーからダウンロードしています。しかし、多くのWebブラウザでは、一度にダウンロードできるファイル数(同時接続数)に上限があるため、1つのサーバーから複数のファイルを同時にダウンロードしようとすると、どうしても遅延が発生してしまうのです。
そこでCDNを利用して、複数のキャッシュサーバーから異なるデータをダウンロードする形式を採用すると、複数のコンテンツが掲載されているページでも遅延なく安定して表示できるようになります。
また、Webサイトのページ表示速度にはサーバーの物理的距離も関係しています。オリジンサーバーが遠方にある場合でもユーザーに近い位置にあるキャッシュサーバーからデータを取得できるようになることからも、ページの表示速度は改善されます。
運用費用を抑えられる可能性がある
オリジンサーバーのみを利用する場合、Webサイト内のコンテンツの増加やアクセス数の増加に対応しようとすると、サーバーの増強が必要になります。サーバーの増強には多額のコストが発生することから、Webサイトの表示に問題が発生していてもすぐに対応できないこともあるでしょう。
CDNでは、サービスを提供する事業者が用意するサーバーにキャッシュを置くだけでこうした問題に対応できます。かかる費用はサービス利用料のみとなるため、サーバーの増強よりも低コストで安定的かつ高速表示可能なWebサイトの運用が可能になります。
CDNのデメリット
メリットがある一方で、CDNには次のような課題も見られます。
- サイトの変更が反映されにくい
- キャッシュ事故が起きる可能性がある
- アクセスログを取得しにくい
- CDNがダウンするとすべてのコンテンツが表示されないリスクがある
CDNでは、オリジンサーバーで行われた変更がキャッシュサーバーに反映されるまでに一定の時間が必要になります。また、データを複数のキャッシュサーバーに置くことによりキャッシュ事故のリスクが高まるだけでなく、アクセスログの取得が困難になることも懸念されます。また、CDNがダウンしてしまうと、すべてのコンテンツが表示されないリスクもはらんでいます。
具体的にどのようなことが発生しデメリットにつながるのか、個別に解説していきます。
サイトの変更が反映されにくい
CDNでは、キャッシュしたコンテンツを自動で更新するまでの時間をあらかじめ定めることができます。この設定により、オリジンサーバーで更新されたコンテンツがあったとしても、設定された時間になるまでキャッシュサーバー内のコンテンツには更新内容が反映されません。
コンテンツの更新を迅速に反映させなければならない場合などでは、CDNの仕組みによって更新にタイムラグが発生すること自体がリスクになることもあるでしょう。
キャッシュ事故が起きる可能性がある
CDNの利用にはキャッシュ事故のリスクがあることを理解しておく必要があります。キャッシュ事故とは、キャッシュするつもりのないコンテンツをキャッシュしてしまうことにより、配信してはいけないコンテンツを配信する事故のことです。
過去には、通常であれば他のユーザーが閲覧できない個人情報がキャッシュされ、他のユーザーが自由に閲覧できる状態となり、個人情報が流出するといった事故も発生しています。
キャッシュ事故の原因は、CDNの設定ミスにあります。個人情報などの機密情報が漏えいしてしまえば、Webサイトやサービスの信頼を喪失する事態になりかねません。キャッシュ事故を防止できるよう、慎重に設定を行う必要があります。
アクセスログを取得しにくい
オリジンサーバーでWebサイトを運用している場合、ユーザーのアクセスログはオリジンサーバーから取得できます。一方CDNを利用している場合のアクセスログはキャッシュサーバーに残るため、アクセスログを取得するにはCDN事業者から提供してもらうことになります。
CDNサービスのなかには、アクセスログを容易に取得できるものもあります。アクセスログの活用が想定される場合は、アクセスログの取得が可能なCDNサービスを選定するとよいでしょう。
CDNがダウンするとすべてのコンテンツが表示されないリスクがある
CDNを利用している間にCDN自体が障害などでダウンしてしまうと、Webコンテンツのすべてが表示されなくなる可能性があります。過去には、大手CDN事業者のサービスがダウンし、そのCDNを利用しているWebサイトやサービス、アプリが利用できなくなった事例もあります。
サービスに障害が生じないよう、CDN事業者は複数の拠点を持ち万が一の事態に備えていますが、拠点が増えることによって障害発生時の原因究明が難しくなることもあります。CDNを利用する際には、CDNがダウンした際の対応などをあらかじめ検討しておくとよいでしょう。
CDNはセキュリティ対策としても有効
CDNはDDoS攻撃への対策にもなる、セキュリティ強化にも有効な仕組みです。
DDoS攻撃とは、攻撃対象のサーバーに大量の負荷をかけてサーバーやシステムの機能に障害をもたらそうとするサイバー攻撃のことを指します。しかしCDNでは、オリジンサーバーの代わりに複数のキャッシュサーバーがコンテンツを配信しています。オリジンサーバーにDDoS攻撃をしかけようとしても、攻撃先は複数にわたるため、サーバーに過大な負荷がかかることはありません。
近年、DDoS攻撃は激化しており、政府や企業が被害にあっています。新型コロナウイルス感染症の感染拡大でリモートワークやオンラインサービスの利用が拡大した結果、2020年のDDoS攻撃の件数は2019年と比較して約3倍まで増加したとの調査もあります。
企業とユーザーの双方が安全にWebサービスを活用するためには、DDoS攻撃への対策は欠かせません。CDNはWebサイトやアプリの利便性を高めるだけでなく、安全性向上の施策としても評価できると、需要はますます高まっています。
世界各国の政府や企業がCDNを活用しWebサイトやWebサービス、アプリケーションを提供している昨今、IT人材においてはCDNへの理解も必要です。CDNの仕組みや特徴を知り、今後のスキル向上やキャリアアップに役立てましょう。
- CDNは、大容量のWebコンテンツをインターネット上で円滑かつ安定的に配信できるよう構成されたネットワークのこと
- オリジンサーバーにて管理されているコンテンツ情報を複製・保存したキャッシュサーバーを複数用意し、アクセスを分散させる仕組み
- ユーザーはもっとも近くにあるキャッシュサーバーにアクセスできるため、物理的要因による表示速度の遅延は発生しない
- インターネットの高速化、Webコンテンツのリッチ化、ユーザーの増加によってCDNの需要は高まっている
- オリジンサーバーで行われた変更がキャッシュサーバーに反映されるまでには一定の時間が必要になるため、タイムラグが発生するリスクがある
- キャッシュ事故が起きる可能性も懸念される
- DDoS攻撃への対策にもなり、セキュリティ強化にも有効