(出所:123RF)
(出所:123RF)

 インターネットを流れるトラフィックの7~8割を配信している存在がある。CDN(コンテントデリバリーネットワーク)だ。大規模Webサイトの配信効率化やレスポンス向上のためによく使われてきたが、最近は中小規模のWebサイトでも構築・運用コストを低減するために使われる例が増えている。

 本記事ではCDNサービスとは何か、メリットとデメリット、料金相場、選定や活用のポイントなどを、CDNに詳しいメディアコンサルタントの鍋島公章氏が基本からわかりやすく解説する。併せて、日経クロステックActiveの記事から、事例や関連記事・資料などをまとめて紹介する。

初回公開:2022/03/14
最終更新:2022/05/13
*「1. CDN(コンテントデリバリーネットワーク)とは」「2. CDNサービスを導入するメリット/デメリット」「4. CDNサービスの料金体系と相場」「5. CDNサービスを選定する際のポイント」「6. CDNサービスを活用する上でのポイント」は鍋島公章氏が執筆

1. CDN(コンテントデリバリーネットワーク)とは

 CDNとは、Content Delivery Network(コンテントデリバリーネットワーク)の略*1で、Web、動画、ゲームなどを高速かつ安定して配信させる技術・サービスのこと。その名の通り、デジタルデータ(Content)をクライアントに届ける(Delivery)、仮想ネットワーク(Network)である。

*1 「コンテンツデリバリーネットワーク」は日本における誤用で、英語読みでは「コンテントデリバリーネットワーク」が正しい。

 CDNでは、ネットワーク上の様々な場所に分散配置した大量のサーバーを使ってデータを配信する。これにより、ユーザーが快適にWebや動画を閲覧したり、データをダウンロードしたりできるようにする。CDNはインターネットトラフィックを“支配”している技術とも言われる。インターネットトラフィックの7~8割は、CDNを経由しているからだ。

(出所:123RF)
(出所:123RF)

 例えば、YouTubeとNetflix(ネットフリックス)でインターネットトラフィックの3~4割程度を占めるが、両社は自社開発した動画専用のCDNでユーザーに動画を届けている。超大手以外は自社開発ではなく、米アカマイ(Akamai)や日本のJストリームをはじめとするCDN事業者が提供するCDNサービスが有力な選択肢になる。ほとんどの大手WebサイトはこれらのCDNサービスを利用している。

 CDNは大規模なコンテンツ配信では必須の技術で、そうした事業を手掛ける企業はほぼ例外なく利用している。昨今は、中小規模のWebサイトを運営する企業の利用も増えている。CDNサービスをうまく活用すると、Webサイトやそのインフラの構築・運用コストを低減させられるからだ。無料のCDNサービスも登場しており、Webサイトの構築・運用の際に検討すべきサービスになっている。

2. CDNサービスを導入するメリット/デメリット

 CDNサービスの導入で得られるメリット、デメリット(注意が必要になる点)について、CDNが提供する機能とともに説明する。

CDNサービスを導入するメリット

 CDNサービスの導入で得られるメリットは以下の通り。(1)と(2)で挙げるポイントは、大規模なコンテンツ配信では欠かせない要素となっている。それがよく知られているため、「CDNは大規模なサービスで使う技術」というイメージが先行しているかもしれない。ただ、近年は(3)以下に挙げるメリットを評価して、中小規模のWebサイトを運営する企業がCDNサービスを採用する例が増えている。

(1)Webサーバーの負荷を軽減する

 CDNサービスは、多数(CDN全体では数万台以上)の強力な配信サーバーで構成される。それらの配信サーバーは、元のWebサーバーのコンテンツをキャッシュする。CDNを利用しているWebサイトでは、ユーザーからのリクエストをCDNの配信サーバーが受け取る。そして、元のWebサーバーに代わって、CDNの配信サーバーがキャッシュしたコンテンツを配信する。

 こうした動作をするため、元のWebサーバーの負荷を軽減し、多数のユーザー、大容量のコンテンツのリクエストを受けても効率的に配信できる。

(2)ユーザーに最も近いサーバーから配信する

 CDNサービスの配信サーバーは、地理的に離れた複数の拠点に配置されている。ユーザーのリクエストは、最もふさわしい(一般には地理的に近い場所にある)配信サーバーに導かれ、ユーザーはそのサーバーからコンテンツを受け取る。

(出所:123RF)
(出所:123RF)

 こうした仕組みをGTM(Global Traffic Management)やGSLB(Global Server Load Balancing:広域負荷分散)と呼ぶ。最もふさわしい配信サーバーがトラフィックを処理するため、ネットワーク遅延の影響を受けづらく、ユーザーから見たレスポンスが高速になる。

(3)ピークトラフィックへの対策になる

 CDNサービスの利用は、トラフィックの急増(ピークトラフィック)への対応策となる。中小規模のWebサービスは、共用型Webホスティング(たいていは1台のサーバーを複数の利用企業で共用)を利用しているケースが多い。急にアクセスが集中するとレスポンスが悪化して、アクセス数によってはWebサイトがダウンしてしまうことがある。

 CDNは大量のサーバーを使って配信する技術であり、適切なCDNサービスを選択すれば、高負荷による配信パフォーマンスの低下は起こらない。加えて、元のサーバーをピークトラフィックに合わせて強化した場合と比べ、CDNを利用した方が安価に済むケースがある。特に突発的なピークトラフィックについては、CDNの方が顕著に低コストで済む。

(4)元のサーバーへ手を加えずに機能追加ができる

 CDNを使うと、元のサーバーに手を加えずに以下のような機能を追加できる。

  • 配信機能
    • SSL/TLSへの対応(常時SSL化/HTTPS化)
    • IPv6への対応
    • HTTP/3へのプロトコル変換 など
  • セキュリティ機能
    • DDoS(分散型サービス拒否)攻撃対策
    • WAF(Webアプリケーションファイアウオール) など
(出所:123RF)
(出所:123RF)

 例えば、WebサイトをSSL/TLSに対応させる(常時SSL化/HTTPS化する)には、一般にWebサーバーへのソフトの追加・入れ替えが必要になる。SSLサーバー証明書の導入やその後の運用も必要になる。CDNサービスを使うと、こうした作業をせずにWebサイトをSSL/TLS対応にできる。SSL/TLSの処理をCDNの配信サーバーが実施するため、元のサーバーのハードウエアスペックを上げる必要もない。

CDNサービスの導入で生じるデメリット(注意が必要になる点)

 CDNサービスの導入によって生じるデメリットは、設定を間違えると

  • 古い情報の配信
  • 個人情報の漏洩

といったトラブルが生じる可能性があることだ。

 CDNの設定は、基本的に(1)配信設定、(2)コンテンツ設定の2つからなる。配信設定は、元のサーバーではなくCDNの配信サーバーからコンテンツを配信させるための設定。一方、コンテンツ設定は、CDNにおけるコンテンツの扱い(キャッシュの削除・取得タイミングやキャッシュしないコンテンツの指定)を制御する設定である。特に注意が必要なのがコンテンツ設定だ。

 CDNサービスは、キャッシュしているコンテンツを配信する。そのため、コンテンツのアップデートのタイミングとキャッシュの削除・取得タイミングがズレていると、アップデート前のコンテンツを配信してしまうことになる。古い情報を配信しないようにするには、古いキャッシュを削除したり、新しいキャッシュを取得したりするタイミングを十分に検討して設定する必要がある。

(出所:123RF)
(出所:123RF)

 また、想定していないコンテンツをキャッシュしたことに起因するトラブルもあり得る。特に注意が必要なのは、ユーザーのアカウント情報など個人情報を表示させるページを持つWebサイトの場合だ。そうしたページをCDNにキャッシュする設定にしていると、ユーザーの個人情報が別のユーザーに表示されてしまう事故を引き起こす可能性がある。

3. CDNサービスの代表例

 代表的なCDNサービスとして、グローバル5社と国内3社を挙げる(サービスは日経クロステック Active調べ)。

 グローバルの代表例は(1)Akamai:米アカマイ・テクノロジーズ アカマイ・テクノロジーズのWebサイト 、(2)Amazon Cloudfront:米アマゾンウェブサービス Amazon Cloudfrontのサービス紹介ページ 、(3)Cloudflare:米クラウドフレア クラウドフレアのWebサイト 、(4)Fastly:米ファストリー ファストリーのWebサイト 、(5)Imperva Cloud WAF:米インパーバ インパーバのWAFサービス紹介ページ である。

 国内の代表例は(1)J-Stream CDNext:Jストリーム J-Stream CDNextのサービス紹介ページ 、(2)Accelia:アクセリア アクセリアのCDNサービス紹介ページ 、(3)JOCDN:JOCDN JOCDNのWebサイト である。

4. CDNサービスの料金体系と相場

 CDN事業者が提供するCDNサービスの料金体系は、大きく(1)従量料金、(2)コミット料金、(3)定額料金の3種類に分類できる。

(1)従量料金

 配信したデータの量に対して課金される料金体系。米アマゾンウェブサービス(AWS)の「Amazon Cloudfront」や、米ファストリー(Fastly)のCDNサービスが従量料金を採用する代表格となる。2022年2月時点のカタログプライスとしては、Fasltyは1Gバイト当たり約22円、Cloudfrontは1Gバイト当たり約13円となっている*2

*2 配信データ量のほか、リクエスト数に対しても課金される。

 Cloudfrontの約13円を基にページビュー(平均ページサイズを3MBと仮定)で換算すると、1万PV(30GB)で約390円、10万PV(300GB)で約3900円、100万PV(3TB)で約3万9000円になる。

 注意点は、料金が青天井になること。WebページがSNSなどをきっかけにアクセスが集中した場合に、それに合わせて料金も急増する。

(2)コミット料金

 一定の配信量を前もって契約する料金体系。データ量当たりの単価は従量料金より安く、たいていは担当者とエンジニアサポートが付いて細かな調整に対応する。しかし、一定以上の規模でないとCDN事業者がコミット料金での契約に応じない。目安としては、最低でも年間契約で10万円を超える規模が必要だ。

(出所:123RF)
(出所:123RF)

 前もって契約した配信量(コミット)を超えた場合は従量料金になる。コミットを超えた場合の単価は割高となるケースが多いので、コミット内で運用するのが一般的だ。また、コミットは月間だけでなく年間もある。この場合、年の途中でコミットを超えそうな場合は、CDN事業者の担当者と相談して契約を変える(追加配信量を前もって契約する)ことが多い。

 ある程度以上の規模を配信するWebサイトでは、コミット料金を採用するケースがほとんどだ。ただし、料金テーブルは基本非公開であり、毎回見積もりが必要となる。この料金体系を採用するCDN事業者の代表例は米アカマイ(Akamai)だ。米アマゾンウェブサービス(AWS)の「Amazon Cloudfront」、米ファストリー(Fastly)、米クラウドフレア(Cloudflare)などのように、従量料金(または定額料金)とコミット料金の2本立てにしているサービスもある。

 相場は配信量により大きく変わる。大規模配信だと1Gバイト当たり1円を切る場合もある。規模が大きくないと1Gバイト当たり数百円になったりする。なお、後者は配信単価そのものが高額というより、サポート料金として一定額を支払っており、配信量で割ると結果として高額になっていると捉えるのが適切だ。

(3)定額料金

 サービスの規模によって料金が決まる料金体系。代表的な例としては以下がある。

  • 米クラウドフレア(Cloudflare)のCDNサービス:個人向けは無料、スモールビジネス向けで月額200ドル*3
  • Jストリームの「J-Stream CDNext 地方自治体プラン」:住民10万あたり月額5000円
*3 配信量がある一定量を超えると、中小企業でもより上位の高額プランへの移行を要求される。

 定額、無料というのは「何か裏があるのでは?」と驚くかもしれない。こうした料金体系を提供できる背景には、CDNサービスの原価の低さ(=粗利率の高さ)がある。ある程度以上のCDN事業者であれば、配信原価は1GBあたり1円以下になっている。1万PV(配信量30Gバイト)程度のユーザーであれば、その原価は30円にも満たない。この程度であれば無料でCDNを提供し、トラフィックが定常的に増えた段階で有料にするビジネスモデルが成立する。

 無料での提供が適さない規模になったとしても、中小のWebサイトに対して個別に従量料金を計算して請求するか、規模や配信量で分類した顧客グループ単位の原価率から定額料金をはじき出すかはCDN事業者次第となる。つまり、無料や定額料金は、CDN事業者ごとにビジネス収支管理の考え方が違うことから生まれた料金体系である。

5. CDNサービスを選定する際のポイント

 CDNサービスを選定するときは、「料金」「機能」の2つの面からサービスを比較検討する必要がある。

(出所:123RF)
(出所:123RF)

料金面で見るべきポイント

 まず、配信量(支払う料金)により選択できるプランが異なる。

月間1万PV(配信量3Gバイト)程度

 従量料金だと月額400円程度。定額料金の無料プランも選択肢になる。

月間10万PV(配信量30GBバイト)程度

 従量料金だと月額4000円程度。定額料金の有料プランも選択肢になる。

月間100万PV(配信量300Gバイト)程度

 従量料金だと月額4万円程度。このあたりの規模から、コミット料金が選択肢になってくる。コミット料金の場合、たいていの場合、月額は従量料金の半額以下になる。ただ、この配信量だと、コミット料金で契約可能なCDN事業者が限定される。グローバル大手のCDNサービスでは、コミット料金の利用が難しい。日本のCDN事業者を含む、中堅クラスのCDNサービスから選ぶことになる。

月間1000万PV(配信量3Tバイト)程度

 従量制だと月額40万円程度。この規模になると、大手CDNサービスもコミット料金を提示する。複数のCDN事業者に声を掛けて、提案のコンペティションを実施することも可能になる。

機能面で見るべきポイント

 CDNサービスの選定時、機能面で見るべきはキャッシュ設定である。CDNでは、一般に以下の3つの方法でキャッシュの振る舞いを設定できる。

  1. 元のサーバーが送信するHTTPヘッダーによる、キャッシュの有効時間やキャッシュさせないコンテンツの設定
  2. CDNサービスの管理コンソール上の設定による、キャッシュの有効時間やキャッシュさせないコンテンツの設定
  3. CDNサービスが用意するAPIによる、キャッシュしたコンテンツの削除やプリロード(元のサーバーからのコンテンツの取得)の操作

 CDNサービスによって利用できる設定が異なったり、どの程度細かく設定できるかが異なったりする。特に中小のCDNでは、特定の設定方法が使えない場合もあるため、注意が必要である。

大規模メディア配信・大規模ライブ(配信量ペタバイト超)の場合

 大規模メディア配信・大規模ライブ配信では、前述の料金面、機能面とは異なる観点での検討が必要になる。規模の大きさから、CDNの配信キャパシティーが足りなくなるリスクへの対策が求められる。また、こうしたメディア配信(特にリアルタイム配信するライブ公演)は、障害発生が致命的な営業損失となるため、CDNサービスに障害が発生するリスクも考慮しなければならない。

(出所:123RF)
(出所:123RF)

 そのため、別のCDNサービスを待機系にしておく「バックアップCDN」や、複数のCDNサービスを同時に併用する「マルチCDN」の利用が一般的だ。同一の動画を多くの人に届けるような使い方の場合、こうしたマルチCDN化は容易である。多数のページをキャッシュしなければならないWebサイトと異なり、どのCDNサービスでも持つような単純な機能しか使わないからだ。

6. CDNサービスを活用する上でのポイント

 昨今のCDNサービスは、画像や動画のフォーマットやサイズを変換する「コンテンツ変換」や、配信サーバー上でJavaScriptを実行する「スクリプト言語実行」などを付加機能として提供している。これらの機能を利用すると、Webサイトの構築・運用コストやサーバーのハードウエア費用を低減できる。

 ただし、付加機能の利用が自社サービスに適しているかどうかの判断が欠かせない。特に優先事項がコスト低減なのか高可用性なのかで、付加機能の利用は判断が分かれる。

 CDNでは数年に1回くらいの頻度で障害が発生する可能性があると思っておいた方がよい。付加機能を利用していると特定のCDNサービスへの依存度が高まり、障害発生時に別のCDNサービスに切り替える冗長化策を取りづらくなる。高い可用性が求められるサービスの場合、できるだけ基本的なCDN機能のみを使い、バックアップCDNやマルチCDNを利用できるようにした方がよい。

7. CDNサービスの主な事例

8. CDNサービスの関連記事・資料

ファストリー

9. CDNサービスの新着プレスリリース

鍋島 公章(なべしま まさあき)
メディアコンサルタント
 CDNに代表される大規模ネット配信に、1995年から色々な切り口(研究者、プリセールス、コンサルタント、システム運用責任者)で関わる。近年は、研究開発と事業開発をメインとして活動している。