私は、ウェブサイトTomcat specific clustering
とmod_jk
のubuntuローカルVMでApachemod_proxy
とhigh availability
を使用してload balancing
をテストしました。実サーバーはRackspace cloud
サーバープロバイダーによってホストされています。 1つのロードバランサーと2つのWebサーバーを使用してTomcatクラスタリングをテストしました。シングルロードバランサーは再びsingle point of failure
であるため、スレーブとしてもう1つのLBを追加しようとしています。
RackspaceにはオプションLoad Balancers
があり、 here は、ロードバランサーの設定方法をガイドするリンクです。これは、これまで一度も行ったことがないため、いくつかの疑問のために設定することができません。
不必要なコストを回避するために必要なリソースだけで、私がすべきこととすべきでないことを段階的に推奨してくれる人はいますか?
以下は私が確信していないことであり、すでにRackspaceを使用している誰かに、ここで負荷分散を設定するのを手伝ってくれるように依頼します。
少なくとも4台のマシンを追加したいと思います。2台はWebサーバー、1台はロードバランサーサーバー、もう1台はフェイルオーバーロードバランサーサーバーです。 Rackspace Load Balancerオプションから新しいマシンを追加できると思いますか?
LANにクラスターを設定してプライベートIPアドレスをクラスターコンピューターに割り当てることで静的IPのコストを削減できると聞いたので、帯域幅のコストも削減できます。 RackspaceのLANでクラスターコンピューターに参加することは本当に可能ですか?
私の知る限り、ドメイン名(Webサイト名)は、ドメインが登録されているDNSのロードバランサーを指し、両方のLBに静的パブリックIPが割り当てられている必要があります(私はここにいると思います)。すでに述べたように、単一障害点を回避するためにもう1つのLBを追加したいのですが、Rackspaceに、Webサイトドメインを両方のLBにポイントして、一方だけがアクティブになり、アクティブに障害が発生した場合は、別のLB(ip failover
に類似)を使用して、ダウンタイムゼロのWebサイトにすることができますか?.
可能であれば、Rackspaceでそれらを実行する方法のステップバイステップのリストと、私がすべきこととすべきでないことについての独自の推奨事項を教えていただければ幸いです。
前もって感謝します!
編集:1
Rackspaceがコンピューター間でshare an ip
を提供していると聞きましたが、そうですか?それなら、このオプションを使用できます。両方のロードバランサーのネットワークインターフェイスファイルで、eth0:0
によってパブリック/共有IPを仮想IPとして指定します。パブリックIPをeth0:0インターフェイスの仮想IPとして指定しても、中断することなく問題なく動作すると本当に思いますか?
編集:2
192.168.x.x
インターフェイスを使用したネットワーク(eth0
)を備えたLAN(Rackspace内)のすべてのコンピューター(Webサーバーとロードバランサー)のようなセットアップを考えていました。ロードバランサーの場合、インターフェースeth0:0
またはeth1
の場合、パブリックIPはLB間で共有され、LB上のmod_proxyおよびmod_jkは、同じネットワーク(192.168.x.x)にある可能性があるためWebサーバーにリダイレクトします。
いくつかの分析の後、パブリックIPが割り当てられていないため、自分の場所からテスト用のWebサーバーに直接アクセスできないことに気付きました。そこで、アクセスするLBにProxyPass /web1 http://web1-ip-here
のようなプロキシリダイレクトを追加することを考えました。共有パブリックIPまたはサイトドメイン名を持つWebサーバー(すべてのサーバーがLANにあるため、リダイレクトされると思います)。ただし、Webサーバーにいくつかのパッケージを更新またはインストールするには、インターネット接続が必要です。 WebサーバーをWAN LBの単一のパブリックIPで接続するオプションがあるかどうか、問題がない場合は問題なく機能するかどうか)をもう一度疑問に思っています。各。
ここでは2つの良いオプションが機能します。
1:ラックスペースサービスとしてのハードウェアベースの負荷分散
ごく最近、Rackspaceは負荷分散サービスを追加しました。プレーンなWeb転送の場合、これはより信頼性が高く費用効果の高い方法になります。アカウント管理パネルから、[ホスティング]-> [負荷分散]の負荷分散オプションにアクセスできます。
2:フェイルオーバーを使用したソフトウェアベースの負荷分散
もちろん、負荷分散用に2つのサーバーをセットアップし、HAProxyなどのソフトウェアを使用して着信トラフィックをラウンドロビンすることができます。これには、両方のサーバーの料金と保守、およびサーバー間で共有する追加のパブリックIPアドレスの追加コストが必要になります。
サーバーは実際にはIPアドレスを「共有」しません。「マスター」がIPアドレスを制御し、負荷分散のパブリックな連絡先になります。 2台のマシンはハートビートモニタリングを介して相互にリンクされており、「スレーブ」サーバーが「マスター」が応答していないことを検出すると、パブリックIPアドレスをバインドしてマスターになります。
Rackspaceには、ハートビート負荷分散ソリューションをセットアップするプロセスについて説明している記事があります: http://www.rackspace.com/knowledge_center/index.php/IP_Failover_-_Setup_and_Installing_Heartbeat
RSサポートによると、RSLoadBalancerは最大150,000の接続を処理できます。それらは実際には、公開IPを備えた複数の(仮想だと思います)マシンです。私たちの経験から、彼らはかなり良い稼働時間を持っており、セットアップとシャットダウンが非常に簡単です。 RS LBを使用する際の大きな欠点の1つは、SSLターミネーションを(まだ)実行しないことです。
まず、2台しか使用できないのに4台のマシンが必要なのはなぜですか。Webサーバーとして使用する予定の同じマシンにロードバランサーを設定できます。次に、Rackspaceからいわゆる "shared IP" を購入し、それを管理するようにHeartbeatを設定できます。 Rackspaceクラウドでこのセットアップを試しましたが、かなりうまくいきました。私はHAProxyをバランサーとして使用しましたが、これも使用することを強くお勧めします。構成は非常に簡単です。