CDP:Cache Proxyパターン

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

キャッシュの設置

目次

解決したい課題

 高負荷対策としてWeb/APサーバーを複数台利用するとコスト負担が重くなる。予算が少ない場合、Web/APサーバー数を増やさない方法を考えなければならない。

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

 Webシステムのパフォーマンスを上げる代表的な方法に、コンテンツをキャッシュ化する方法がある。これは、変化の(あまり)ない静的コンテンツや動的コンテンツをWeb/APサーバーの上流でキャッシュし、キャッシュの期限が切れるまで配信パフォーマンスの高い上流のキャッシュサーバーでコンテンツ配信を行う方法である。クラウドの場合は、仮想サーバーを容易に構築できるので、キャッシュサーバーが導入されていないシステムに対しても容易に導入が可能である。

実装

 EC2上に、Varnishなどのよく使われているキャッシュサーバーソフトをインストールし、キャッシュサーバーとして利用する。

  • Web/APサーバーの前にVarnishなどのキャッシュサーバーソフトを配置する。
  • キャッシュサーバを、Web/APサーバの前に配置する。
  • キャッシュサーバーに、オリジナルデータのサーバーやキャッシュ期限などを設定する。

構造

6wNg0ISJczU5Pz1m-E2F4B.png

利点

  • Web/APサーバーに手を入れずに、キャッシュを用いたコンテンツ配信が可能となる。
  • 特に動的コンテンツの場合、コンテンツ生成の負荷を大きく低減できる。
  • HTTPのヘッダーやURL、Cookieなどでキャッシュ化の対象にしたり、逆にキャッシュしないようにしたりなど、柔軟なキャッシュ設定ができる。

注意点

  • SPOFを作らないようにするには、キャッシュサーバーも冗長化する必要がある。
  • Web/APサーバーとして利用しているEC2はELBに間接的に配置されるので、仮にAuto ScalingによってWeb/APサーバーを増減させた場合、キャッシュサーバにアタッチするには工夫が必要である。
個人用ツール
名前空間
変種
操作
CDPメニュー
ツールボックス