複数のバックエンドファーム(HTTP、FTPなど)があり、基本的に顧客ごとに1つのファームがあり、Piranha
から移動して負荷分散インフラストラクチャを再構築しようとしています。 HAProxy
へ。
いくつかの異なるバックエンドサーバーファームを使用しているため、Piranha構成は現在次のようになります(例はファーム webserv01 、 2番目のファーム webserv02 は同じ構成を使用しますが、仮想IPは異なります):
virtual webserv01 {
active = 1
address = 10.11.11.1 eth2:30
vip_nmask = 255.255.255.0
port = 80
send = "GET / HTTP/1.0\r\n\r\n"
expect = "HTTP"
use_regex = 0
load_monitor = none
scheduler = rr
protocol = tcp
timeout = 6
reentry = 15
quiesce_server = 0
server webserv01v {
address = 192.168.101.64
active = 1
port = 80
weight = 1
}
server webserv02v {
address = 192.168.102.64
active = 1
port = 80
weight = 1
}
server webserv05v {
address = 192.168.101.65
active = 1
port = 80
weight = 1
}
server webserv06v {
address = 192.168.102.65
active = 1
port = 80
weight = 1
}
}
(たとえば、顧客1にはvIP 10.11.11.1:80を使用する独自のWebサーバーファームがあり、顧客2にはvIP 10.11.11.2:80を使用するファームがあります)。 1つのHAProxyインスタンスが、異なる一意のvIPアドレスを使用して同じサービスの複数のファームを処理できるかどうか知りたいです。
基本的な設定は次のようになります。
2つのHAProxyインスタンス(フェイルオーバーあり)
4つのHTTPバックエンドファーム(顧客ごとに1つ)
2つのFTPファーム
わかりやすくするために、2つのWebサーバーファーム用の私のコンセプトHAProxy構成例を添付してください。さまざまな仮想IPに注意してください。
#---------------------------------------------------------------------
# LB: VIRTUAL WEBSERVER POOL #01
#---------------------------------------------------------------------
frontend vWEB-LB-01
bind 10.11.11.1:80
mode http
default_backend vWEB-Pool-01
backend vWEB-Pool-01
mode http
balance roundrobin
server webserv01v 192.168.101.64:80 check weight 100 inter 1000
server webserv02v 192.168.102.64:80 check weight 100 inter 1000
server webserv05v 192.168.101.65:80 check weight 100 inter 1000
server webserv06v 192.168.102.65:80 check weight 100 inter 1000
#---------------------------------------------------------------------
# LB: VIRTUAL WEBSERVER POOL #02
#---------------------------------------------------------------------
frontend vWEB-LB-02
bind 10.11.11.2:80
mode http
default_backend vWEB-Pool-02
backend vWEB-Pool-02
mode http
balance roundrobin
server webserv01v 192.168.101.75:80 check weight 100 inter 1000
server webserv02v 192.168.101.76:80 check weight 100 inter 1000
server webserv05v 192.168.101.68:80 check weight 100 inter 1000
server webserv06v 192.168.101.69:80 check weight 100 inter 1000
HAProxyおよび/またはkeeoalivedは、これを表示されている方法で処理できますか?はいの場合、どのようにこれにアプローチしますか?
2つのHAProxyインスタンス間のフェイルオーバーの目的でkeepalived
を使用し、バックエンドファームの負荷分散を実行させたいと思います。使用する必要のある複数の仮想IPアドレスについて今混乱しているので、洞察をいただければ幸いです。
はい、HAproxyがそれを行います。 HAproxyが使用するすべての仮想IPでkeepalivedを構成する必要があります。 keepalived.confのvirtual_ipaddressブロックに複数のIPを割り当てることができます。
virtual_ipaddress {
192.168.0.10
192.168.0.11
192.168.0.12
192.168.0.13
}