動画配信サービスなどの普及に伴い、CDNを使った仕組みが構築されるようになりました。実はこのCDN、決して目新しい技術ではありません。今回は90年代に登場したCDNの概要とメリットをご紹介します。
CDNとは
冒頭でもふれたように、CDNとはウェブを使ってさまざまなコンテンツを配信することに特化したネットワークのことです。
正式名称は「Contents Delivery Network(コンテンツデリバリーネットワーク)」で、各単語の頭文字をとってCDNと呼ばれています。
ウェブ上では静止画や動画などさまざまなコンテンツが公開されていますが、エンドユーザーがそれらのコンテンツにアクセスする際、コンテンツが保存されているサーバーには大きな負荷がかかります。
コンテンツが保存されているサーバーに負荷がかかると、コンテンツの配信に支障をきたすようになり、処理の遅延やサーバーダウンなどの障害の原因となってしまうでしょう。そこで、複数の中間サーバーを配置してそこにコンテンツをキャッシュ(一時保存)し、負荷を分散させながらコンテンツの配信を行うようにしているのがCDNです。
つまり、多数のエンドユーザーからの配信要求に対し、負荷を分散させながら素早くコンテンツを配信するための仕組みということになります。一般的にCDNを使ったウェブサイトにアクセスすると、動画や画像、CSSなどはキャッシュが保存されているCDNサーバーから取得します。一方、ウェブサーバーからはPHPやHTMLなどのソースコードを取得。この2つのデータを使って、ウェブサイト上のコンテンツを表示させているのです。
もう少しわかりやすくするために、遠方で一人暮らしを始めるにあたり、実家から部屋の環境をまるごと引っ越す様子を想像してみてください。すべての荷物を直接自分の車で運んでは、あまりにも時間がかかってしまいます。かといって実家の両親にすべての荷物を送ってもらうとなると、金銭的な負担が大きくなりますよね。この時、あらかじめ実家から貸倉庫に大きな荷物(画像や動画)を預けておき、配送業者に運び込んでもらうようにします。そして、軽い荷物(HTMLやPHP)だけを直接引っ越し先に持ち込むようにすれば、両親(コンテンツが保存されているサーバー)に金銭的負担をかけることなく、効率的に環境を移し替えることができますよね。CDNとは、この貸倉庫と配送業者のようなものと考えてください。
CDNを利用するメリット
CDNを利用するメリットは、大きく3つに分類されます。
まずは、パフォーマンスです。あるウェブサイトに公開されているコンテンツにアクセスした時、異様に重かったり、ページの読み込み自体ができなかったりすると、コンテンツ自体の評価にも影響を及ぼします。特にストリーミング配信など、リアルタイムに動画コンテンツを配信するサービスにおいては、パフォーマンスの低下がエンドユーザーのストレスに直結するでしょう。コンテンツが評価されるためには、ストレスなく高速に表示、配信されることが大前提です。
2つ目に、可用性の向上が挙げられます。万が一コンテンツに対してアクセスが集中し、負荷によって一部のサーバーがダウンするような事態に陥っても、CDNであればサービス自体の停止を免れるのです。CDNではコンテンツをキャッシュするだけでなく、サーバーを分散することで大きな負荷や障害に強い環境を構築することができます。
3つ目のメリットは、サイバー攻撃に対する耐性の高さです。DDoS攻撃のように、不特定多数の場所から同時多発的に攻撃を受けた時、数台のコンテンツサーバーだけではいとも簡単にダウンしてしまうでしょう。CDNを導入していれば、瞬間的に膨大な量のアクセスがあったとしても、負荷を分散して吸収することが可能です。
ネットワークの高速化とブロードバンド環境の普及によって、大容量のウェブコンテンツを利用する機会が増えています。この流れは今後ますます一般的になっていくと予想されることから、CDNを活用したコンテンツ配信の仕組みを整えていくことが重要といえるでしょう。