CDP:Rewrite Proxyパターン
From AWS-CloudDesignPattern
Revision as of 15:28, 15 April 2012 by KenTamagawa (Talk | contribs)
URL書き換えプロキシの設置
Contents |
解決したい課題
負荷対策の一つに静的コンテンツをインターネットストレージに配置して、アクセスをインターネットストレージに分散する方法があるが、 その際、静的コンテンツのアクセス先をインターネットストレージのものに変更する必要がある。 しかし、既存のシステムにいっさい手を入れることができない場合は、当然、実現できなくなってしまう。
クラウドでの解決/パターンの説明
既存のシステムにいっさい手を入れずアクセス先を変更する方法として、上流に コンテンツの内容を書き換えるプロキシサーバを配置するものがある。 コンテンツ内容の書き換えは、当然、静的コンテンツのアクセス先を負荷分散された場所にすることも可能であり、 この場合、ユーザーにコンテンツを配信する途中で、インターネットストレージにアクセス先を変更することとなる。
実装
AWSではEC2と呼ばれる仮想サーバを利用することができる。OSにはLinuxなどがりようできるので、 Nginxなどのよく使われているプロキシ的なサーバの構築も容易に可能である。
- ELBとWeb/Appサーバの間にNginxなどコンテンツの内容を書き換えることができるプロキシサーバがインストールされたEC2を配置する。
- プロキシサーバの設定に書き換えルールを追加する。
- プロキシサーバにAuto Scalingを適用することも可能。
構造
利点
- プロキシサーバにて動的コンテンツを書き換えることで、Web/Appに手を入れずに静的コンテンツの負荷分散などを行うことが可能。
注意点
- SPOFを作らないようにするために、プロキシサーバも冗長化しておく必要がある。
- Web/AppサーバはELBに対して間接的に配置されるのでAuto ScalingがELBに自動にアタッチする機能が利用できなくなってしまう。