仮想マシン間で静的 IP を共有する

仮想マシン間で静的 IP を共有する

これまでは、apache2 の vhost 機能を使用して、複数のドメインを 1 つのパブリックおよび静的 IP にバインドしていました。

現在、4 つの IP と複数の VM を持つ XEN ホストを設定しています。そのうち 2 つは純粋な Web サーバーです。これら 2 つの VM で 1 つのパブリック IP を共有することは可能ですか? それぞれが同じパブリック IP 上に仮想ホストのセットを持つことになります。

代替テキスト

編集: では、ホストベースのリダイレクトはどうでしょうか? 代替テキスト

答え1

httpの提供だけを気にするのであれば、次のようなソフトウェアロードバランサ/リバースプロキシをインストールするのがよいでしょう。ポンドXenホスト上の設定は(おそらく)次のようになります。

ListenHTTP
            Address xx.xx.xx.xx
            Port    80

            Service
                BackEnd
                    Address ip.of.webserver.1
                    Port    80
                End
                BackEnd
                    Address ip.of.webserver.2
                    Port    80
                End
            End
End

また、Xen ホスト上で転送と iptables ルールを設定する必要があります。すでに設定されている場合もあります。

答え2

両方のサーバーが同じ IP である場合、両方のサーバーに送信されるリクエストを分割することはできないと思いますか?

なぜ同じ IP に設定する必要があるのですか?

素晴らしい図ですね

答え3

radius や他の人が言うように、サーバーに同じ IP (重複アドレスについて苦情が出て、そのうちの 1 つが IP なしになってしまう) または同じセカンダリ IP (上記と同じだが、トラブルシューティングが困難) を与えるだけでは、それが可能だとは思いません。

より良いオプションは、ラウンドロビン DNS です。ラウンドロビン DNS では、各 Web サーバーの IP を同じ "A" レコードに追加でき、その "A" レコードのクエリは、毎回異なるアドレス、またはクライアントが選択できるアドレスのリストを返します。別のオプションは、2 つの Web サーバーの前に何らかの負荷分散アプリケーションを追加して、トラフィックを各サーバーに均等にルーティングすることです (または、1 つのサーバーだけにルーティングし、もう 1 つをフェイルオーバーとして使用します)。これは、mod_proxy がインストールされた別の Apache インスタンスを使用して実行できます。

どれを使用するかは、それを実行する理由によって異なります。たとえば、何らかの高可用性/クラスタリングについて話しているのでしょうか?

答え4

あなたの編集によると、リバース プロキシを使用できます。Apache はそれが可能です。Pound はすでに言及されている別のソリューションです。

関連情報