CDP:Cache Distributionパターン

提供:AWS-CloudDesignPattern
移動: 案内, 検索
寄贈したアーキテクト

物理的にユーザーの近い位置へのデータ配置

目次

解決したい課題

 コンピュータやモバイルデバイスの普及に伴い、より多くの人がより多くの地域から、インターネット上のコンテンツにアクセスするようになった。また画像や動画データはより高品質になり、データ量も非常に多くなっている。

 ユーザーエクスペリエンスの観点でいえば、より早く安定的にデータを利用者に届けることが求められるが、現在の技術では、例えば日本から米国東海岸のサーバーにアクセスすると最低でも200ミリ秒程度の通信遅延が発生する。こうした理由から、コンテンツの配信元が1カ所しかない場合、ユーザーエクスペリエンスは悪くなる。

クラウドでの解決/パターンの説明

 世界各地に配置されたロケーションに、コンテンツ配信元(オリジン)から配布されるコンテンツのキャッシュデータを配置する。こうすることで、地理的により利用者に近いロケーションからコンテンツを配信することになり、地理的/物理的な制約を解決できる。このパターンを適用すると、ユーザーとコンテンツの距離が短くなるので、ユーザーへのレスポンスを向上させることができる。

実装

 AWSのCloudFrontを使用すると、世界中のキャッシュサーバー(エッジサーバー)を利用できる。

  • コンテンツの配信元となるオリジンサーバーを決め、コンテンツを配置する。
  • オリジンサーバーを使用するようにCloudFrontを設定する。設定を行うと「xxxx.cloudfront.net」(xxxx部分はランダム生成)のDNS名が発行される。
  • この自動的に発行されるDNS名を使ってもよいが、独自のドメイン名を用いることも可能である。その際は、オリジンサーバーのDNS名のCNAMEレコードに、発行されたCloudFrontのDNS名を設定する。

構造

6wNg0ISJczU5Pz1m-D9970.png

利点

  • 地理的に離れたユーザーに対して、より良いユーザエクスペリエンスを提供できる。
  • ファイルダウンロード処理を分散できるため、負荷分散効果もある。
  • 既存のサーバー(オンプレやホスティングなどのEC2以外のサーバー)をオリジンサーバーにすることで、既存のサーバーを生かしながらパターンを適用することが可能。
  • オリジンサーバーとしては、S3を直接オリジンに用いることもできる。
  • 地域を限定して配信を行いたいときには、CloudFrontの地域限定機能を利用することにより対象地域のみの配信が可能。 [関連ブログ 1]


注意

  • 基本的にキャッシュサーバーは、配信元であるマスターサーバーのキャッシュタイムアウト設定に基づいてキャッシングを行う。そのため、キャッシュタイムアウト前にマスターサーバーのファイルを変更しても、キャッシュサーバーは変更されないケースがある。コンテンツの性質を考慮して、キャッシュタイムアウトを設定することが必要。またRename Distributionパターンの利用も検討する。

その他

  • 「Rename Distribution」パターンを参照。
  • 「Private Cache Distribution」パターンを参照。

関連ブログ

  1. Amazon Web Services ブログ の「"【AWS発表】Amazon CloudFrontに地域制限(geo-restriction)機能を追加」( http://aws.typepad.com/aws_japan/2013/12/geographic-restriction-with-amazon-cloudfront.html )

寄贈したアーキテクト

個人用ツール
名前空間
変種
操作
CDPメニュー
ツールボックス