CDP:Multi Load Balancerパターン

From AWS-CloudDesignPattern
Jump to: navigation, search
Architect

複数ロードバランサの設置

Contents

解決したい課題

コストや管理効率の観点で、同じサーバにて異なる種類のネットワークアクセス(負荷/セキュリティなど)が必要となるWebシステムを稼働させる場合は多々ある。 しかしサーバ負荷が上がってくると、同一のサーバで異なる種類のネットワークアクセスに対するチューニングを行うことになるのだが、それは非常に面倒な作業となってしまう。 結果、やはりサーバをネットワークアクセスの種類ごとに分け複数管理することになってしまう。

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

従来、異なる種類のネットワークアクセスに対しては、アクセスの種類ごとにサーバを分けることが一般的であった。特にHTTPS(SSL)に関しては証明書ごとにIPアドレスが必要になり、IPアドレスが一つしか割り振ることができない仮想サーバでは、やはり、複数台用意して対応するしかなかった。 しかし、クラウド上では仮想ロードバランサーを容易に作成できるものがあり、さらに一つの仮想サーバに複数割り当てれることもある。そのような場合、同一のサーバリソースに対して、設定が異なる複数の仮想ロードバランサーを割り当てることで問題を解決できる。 つまり、サーバに手を入れることなく、ネットワークアクセスに対する挙動を仮想ロードバランサー経由で変更することが可能となる。例えば、セッションやヘルスチェック、HTTPSなどの設定がそれにあたる。

実装

AWSにはELBと呼ばれるロードバランサーがあり、さらに一つのEC2に複数のELBを割り当てることが可能である。また、ELBにはSSL Termination機能も持っており、ELBでHTTPS(SSL)の処理を行うことも可能となっている。

  • ELBを用意して、その下にEC2をぶら下げる。
  • さらにセッションやヘルスチェック、HTTPSの設定などが異なるELBを用意し、同一のEC2がぶら下がるようにする。

構造

6wNg0ISJczU5Pz1m-941F5.png

利点

  • 同一のEC2で携帯サイトやPCサイトへの挙動(ロードバランサーレベル)を変更することができる。
  • 同一のEC2で複数のSSL(HTTPS)を利用する場合にも、SSL(HTTPS)ごとに仮想ロードバランサを用意することで可能となる。

注意点

  • メンテナンスなどで手動でEC2をELBから切り離す場合は、すべてのELBから切り離す必要があるので注意が必要である。

その他

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox