RSS

2016/07/15

キャッシュを利用したCDNによるコンテンツ配信の仕組み

Category:

Tag:

44a0c533a275f99267de7b2b42818282_s

 

CDN=キャッシュ配信という理解をお持ちの方は多いかもしれませんが、一方で、その実際の仕組みをよく知っているという方はそれほど多くないかもしれません。そこで本記事では、キャッシュを利用したCDNによるコンテンツ配信の仕組みをご説明します。

 

CDNの仕組み

CDNの利用を開始するにはDNSにCNAMEの設定を追加する必要があります。 なぜなら、CDNはDNSの仕組みを利用してコンテンツを配信しているからです。図でご説明しましょう。

 

 

ユーザ(クライアント)がウェブコンテンツにアクセスしようとすると、はじめにDNSによる名前解決が行なわれます。名前解決は、アクセスしようとしているドメインのコンテンツがある場所をDNSサーバが教えてくれる仕組みです。DNSサーバによる名前解決を経て、ユーザはそのドメインのDNSサーバにたどり着きます(①)。 ここで、CDNetworksのCDNにコンテンツを取りに行くように指示するのがここでのCNAMEの役割です(②)。

CNAMEの指示によって、ユーザはCDNにコンテンツを取りに行きます(③)。CDNは、ユーザに最も速く効率的にコンテンツを配信できるエッジサーバ(CDNのコンテンツ配信サーバ)を都度判別しています。ユーザがどのエッジサーバにアクセスすべきかを判断するのが、CDNのグローバルロードバランサの役割です(④)。

グローバルロードバランサの指示をうけたユーザは、指定されたエッジサーバにコンテンツを取りに行きます(⑤)。コンテンツがキャッシュされていれば、そのままエッジサーバからユーザへコンテンツが配信されます(⑥)が、キャッシュされていない場合、CDNはオリジンサーバ(ウェブサーバ)へコンテンツを取りに行く必要があります(⑤-1)。CDNからコンテンツのリクエストを受けたオリジンサーバは、CDNのエッジサーバへコンテンツを配信します (⑤-2)。このとき、エッジサーバでコンテンツをキャッシュします。これによって次回以降のユーザのリクエストに対しては、エッジサーバが直接コンテンツを配信することができます。
こうして、エンドユーザはコンテンツの配信を受けることができるのです。

 

キャッシュ動作の仕組み

キャッシュが存在するかしないかで、CDNとオリジンサーバとの通信は大きく異なります。キャッシュ動作の仕組みについても、簡単にご説明します。

 

 

1つ目は、あるコンテンツが初めてリクエストされる(エッジサーバにキャッシュのないコンテンツがリクエストされる)場合 、もしくはキャッシュの有効期限(TTL、Time to liveの略)が切れている場合です。 有効期限が切れたキャッシュしかない場合には、初回リクエストと同様、CDNのエッジサーバはお客様のオリジンサーバにコンテンツを取りに行くことになります。また、一度配信したコンテンツはエッジサーバにキャッシュ され、有効期限内はキャッシュされたコンテンツが配信されます。

2つ目は、有効なキャッシュ、有効期限が切れていないキャッシュがCDNのエッジサーバにある場合です。この場合話は非常に簡単で、ユーザからのリクエストを受け取ると、エッジサーバはオリジンサーバにコンテンツを取りに行くことなく、既にキャッシュしていたコンテンツを自ら配信します。

最後にキャッシュ対象ではない場合です。キャッシュできないコンテンツ、もしくは何らかの理由により「キャッシュしてほしくない」コンテンツは必ず存在します。この場合は、1つ目の例(初めてリクエストされる場合、もしくは有効なキャッシュが無い場合)と同様に、エッジサーバは毎回オリジンサーバにコンテンツを取りに行きます。また、1つ目の例と違う点でいえば、何度リクエストされてもコンテンツはキャッシュされません。

 

キャッシュを利用したCDNetworksのサービス、コンテンツ・アクセラレーションについては次のページをご覧ください。
>>コンテンツ・アクセラレーション

PAGE TOP