プログラミング勉強日記
2020年9月18日
Next.jsについて調べているときにCDNという言葉を見かけたので、調べてみた。
CDNとは
CDNはContent Delivery Networkの頭文字をとったもの。タイトルにもあるようにウェブコンテンツを効率的に高速に配信できるように工夫されたネットワークのこと。簡単にいうと、サイトの負荷を肩代わりしてくれるレンタルサーバーのようなもので、アクセスが集中したりコンテンツが大容量化したりしても、ホームページの表示やコンテンツの配信に影響が及ぼさないことができる。
CDNではオリジナルのウェブコンテンツが存在するサーバーをオリジンサーバーという。
CDNを使用しない場合はウェブコンテンツは保存されているサーバーに直接アクセスしてダウンロードすることになる。
CDNではウェブコンテンツを配信するのはオリジンサーバーだけでなく、オリジンサーバーからウェブコンテンツのコピーを取得した複数のキャッシュサーバーが、オリジンサーバーの代理でウェブコンテンツを配信する。オリジンサーバーの負荷を分担することで効率的なウェブコンテンツを配信することができる。
※このキャッシュサーバーは世界中に配置されている。オリジンサーバーと比べてネットワーク的に距離が近いキャッシュサーバーにアクセスできるので、ウェブコンテンツ配信を高速にできる。
クラウドサービスのCDN
CDNはクラウドサービスでも使うことができる。クラウドサービスは、クラウドプラットフォームからインターネット経由でコンピューティング、データベース、ストレージ、アプリケーションをはじめとした様々なITリソースを使用できる仕組みのこと。
CDNはAWSではAmazon CloudFrontというサービス名で提供されている。
参考文献
【CDNとは?】初心者にもわかりやすく解説
CDNってそもそも何?なんかサーバの負荷が下がるって聞いたんだけど!〜Web制作/運営の幅が広がるCDNを知ろう第1回〜
【図解】CDNとは?仕組みと技術の基礎知識