※個人的な学習メモです。
CDNはWeb屋でも使用しない人は使用しない技術であり、使用するとしてもCloudflareかCloudfrontを設定するだけである(と、個人的な設定の経験からそう思っている)。そして、すぐにその技術の仕組みを忘れるのでメモしておく。
CDNとは?
CDNはコンテンツ・デリバリー・ネットワークのことであり、リバースプロキシの技術を用いた仕組みで、オリジンサーバに配置した画像や動画などの静的コンテンツを、分散したエッジサーバーにキャッシュし、Webページを閲覧する人に高速で配信する技術のことです。
これにより物理的に離れたコンテンツを素早く提供することが可能になります。
さらにCDNにはオリジンサーバの負荷を軽減したりDDoS対策やHTTPS終端処理などの機能を担うことがあります。
※エッジサーバがいわゆるリバースプロキシサーバである。
※CDNはユーザ-エッジサーバ-オリジンサーバの中継機構全体を指す。(エッジサーバのみを指してCDNと捉えるのは誤り)
DNSの役割とは?
CDNにおいてDNS(Domain Name System)は重要な役割を担っている。DNSはドメインをIPアドレスに変換する仕組みにより、ユーザに最も近いエッジサーバからコンテンツを配信する。このようなユーザのIPアドレスにより最適なノードを選ぶ仕組みをGeoDNSと言う。
HTTPS終端処理とは?
CDNは”HTTPS終端装置”を担っている。HTTPSをエッジサーバかその手前にあるロードバランサにて(終端として扱い)復号化する。このことをHTTPS終端処理と言う。その後、オリジンサーバにHTTPまたはHTTPSにて転送する(Re-encryptionという)復号化にはCPU負荷がかかるため、オリジンサーバでないところで処理をすることにより負荷分散を図る。
コメント