概要
「CDN」という言葉をよく耳にするが、どのような物で、何をしてくれる物なのかの理解が欠けているような気がしている。
また、普段の開発において、利用しているのかもしれないが、知らず知らずのうちに利用していて、根本的な理解ができていないように感じる。
本記事では上記を踏まえ、CDNについて調べたことを備忘録として残す。
あくまで、個人の備忘録として読んでいただければと思う。
学習きっかけ
某メディア企業が出版している本を読んだ際に、「CDN」絡みの内容とともに、図解の記載もあったが、理解がいまいちできなかったため。
CDNとは
「CDN」とは、「Contents Delivery Network」(コンテンツ デリバリー ネットワーク)の略称。
単純に訳すと、「コンテンツを配達するネットワーク」という意味になる。
例えば、WEBアプリケーションを開発して、WEBサーバにデプロイした場合、このWEBサーバも「CDN」になるってことなのだろうか...?
「コンテンツを配達するネットワーク」といっても、言葉の意味が大きすぎるので、もっと深堀する必要がありそう。
CDNの定義
何はともあれ、「CDN」に関してのWEBサイトは数多く存在しているため、とりあえず見てみよう。
※数あるWEBサイトの中から以下のWEBサイトを取り上げた理由は特にありません。
CDNとは、Web上で送受信されるコンテンツを効率的に配送するために構築されたネットワーク。
また、これを利用して顧客企業のコンテンツを高速に配信するサービス(CDNサービス)。
参照元: https://e-words.jp/w/CDN.html
CDN(Contents Delivery Network)とは、数多くのキャッシュサーバーなどで構成されたプラットフォームを用いることにより、Webサイト上のコンテンツを迅速にエンドユーザーに届けるための仕組みです。
参照元: https://www.ntt.com/bizon/glossary/e-c/cdn.html
CDNとは「Content Delivery Network(コンテンツデリバリーネットワーク)」の略で、ウェブコンテンツを効率的かつスピーディーに配信できるように工夫されたネットワークのことです。
参照元: https://www.kagoya.jp/howto/it-glossary/web/cdn/
上記内容を踏まえて、以下のように理解した。
- 特定のサーバのことを指すのではなく、ネットワークの仕組みのことを指す
- CDNの仕組みによって、キャッシュサーバーなどを利用して、WEB上のコンテンツを効率よく配信できる
こう考えると、公開されているWEBサイトには、CDNの仕組みが必要不可欠のように思える。
では、「CDN」の仕組みはどのようになっているのだろうか。
CDNの仕組み
CDNの仕組みを理解するうえで、インターネットの基本的な仕組みを簡単に記載する。
例えば、普段の生活において、分からないことがあり、「wikipedia」で調べるとする。
この場合の一連の流れを図に示すと以下になる。(詳細は割愛します)
しかし、wikipediaで何かを調べようとする人はたくさんいる場合、ウィキペディアサーバへの問い合わせが多くなり、ウィキペディアサーバへの負荷がかかってしまう。
負荷が大きくなると、応答速度が遅くなったり、画面が表示できないことがある。
ここで、CDNの仕組みを取り入れると、以下のようになる。
ウィキペディアサーバへのアクセスの前に、キャッシュサーバを配置する。
このキャッシュサーバが、ウィキペディアサーバが持つウィキペディアの情報を一定期間保持しており、
ウィキペディアの情報がある場合は、その情報を渡す。
ウィキペディアの情報がない場合は、ウィキペディアサーバから情報をもらい、また一定期間保持する。
まとめ
「CDN」とは何か、どのような仕組みなのかについて、調べた結果を備忘録的にまとめてみた。
だいぶ簡易的にな説明にはなったものの、「CDN」に関してのだいたいのことは理解できたと思う。
また、仕事でAWSのCloudfrontを使用した経験があるが、今回の調べで「CDN」サービスであるということを知った。
ちゃんとした知識がなかっただけで、知らないうちに「CDN」のサービスを利用していたんだなぁ...
だいぶざっくりな内容なため、間違いなどがあれば、コメントで教えていただけると幸いです。