CDP:Rename Distributionパターン

From AWS-CloudDesignPattern
Jump to: navigation, search

変更遅延のない配信

Contents

解決したい課題

Cache Distributionパターンを使用してコンテンツを配信する際、ユーザーにはエッジサーバでキャッシュされたコンテンツを配信するが、そのキャッシュはキャッシュタイムアウトまでエッジサーバに置かれるため、オリジンサーバのファイルを変更した場合でも、各エッジサーバはキャッシュタイムアウトまではファイルの変更が行われない。

このため、ファイルのアップロードミスや、あるタイミングで一斉にファイル更新を行いたい場合に対応する事ができない。

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

エッジサーバ上のコンテンツキャッシュは、URLをキーにして行われる。従って、アクセスURL自体を変更する事で、エッジサーバのキャッシュタイムアウトに関わらず新しいコンテンツを配信する事ができる。

実装

  • クライアントに配信するコンテンツを、Amazon CloudFrontで配信するものと、CloudFrontへのアクセスURLが記載されたベースコンテンツ(HTMLファイルやテキストファイル)に分離する
  • ベースコンテンツは、キャッシュタイムアウトを短くする。もしくは常にオリジンサーバから配信するようにする
  • CloudFrontで配信するコンテンツを更新する場合、そのコンテンツを別名でオリジンに配備する
  • ベースファイル内のURLを、新しいコンテンツのURLへ変更する

構造

6wNg0ISJczU5Pz1m-38C9E.png

利点

  • オリジンのコンテンツ変更に対して、キャッシュタイムアウトを待たずに新しいコンテンツを配信できる

注意点

  • ベースコンテンツ自体のキャッシュタイムアウトが長いと効果がないため、ベースコンテンツのキャッシュタイムアウトは短く設定する必要があるため、ベースコンテンツのキャッシュ効果が薄くなる
  • 古いファイルはキャッシュタイムアウトまでエッジサーバに残るため、URLを直接指定されると古いファイルがダウンロードできてしまう場合がある

寄贈したアーキテクト

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox