web-dev-qa-db-ja.com

ソースIP(IPサブネット)に基づくHAProxy負荷分散

X個のクラスターがあります。このクラスターは次のようになります

Cluster 1
192.168.1. (Server type 1)
192.168.2. (Server type 2)
192.168.3.1 (Server type 3) <Redis server> 

Cluster 2
192.167.1. (Server type 1)
192.167.2. (Server type 2)
192.167.3.1 (Server type 3) <Redis server> 

現在、コードでクラスターグループの構成を管理しています。 haproxyを使用していると呼ばれるドメインを持つことは可能ですか、そしてどのリダイレクトがソースIPに基づいて必要ですか?例えば

192.167.* request gets redirect to 192.167.3.1

そして

192.168.* request gets redirect to 192.168.3.1
4
Vivek Goel

これは HAProxy ACLs で可能です。各ブロックに1つずつ、2つのバックエンドをセットアップする必要があります。次に、フロントエンドで、各バックエンドに1つずつ、2つのACLを作成します。

フロントエンドブロックは次のようになります。

   acl block_7 src 192.167.0.0/16
   acl block_8 src 192.168.0.0/16

   use_backend block_7_hosts if block_7 
   use_backend block_8_hosts if block_8

次に、バックエンドを定義しますblock_7_hostsおよびblock_8_hostsに正しいredisサーバーが含まれています。

Redisサーバーを追加する予定がない場合でも、実際には負荷分散を行っていないため、構成管理ツールを使用することをお勧めします。

10