HA Proxyは、Cで記述されたHighAvailabilityProxyの略です。これは無料のオープンソースTCP/HTTPロードバランサーであり、TCPおよびHTTPベースのアプリケーション用のプロキシソリューションです。 HA Proxyを使用すると、さまざまな基準を使用してバックエンドサーバー全体に負荷を分散することにより、着信TCP/HTTPトラフィックのバランスをとることができます。
HA Proxyの使用は、1つのノードが同時に要求を取得しすぎた場合に、フォールトトレランスと高可用性を提供することです。 GitHub、Stack Overflow、Tumblerなどの最も有名なWebサイトで使用されています。
HA Proxyを使用すると、障害が発生した場合に、アプリケーションを自動的に再起動したり、作業を別のサーバーに再ルーティングしたりできます。 HA Proxyは、強力で、高電力で、信頼性が高く、安全なロードバランサーです。
彼のチュートリアルでは、CentOS8にHAProxyをインストールして構成します。
HAProxyのインストール:
yum -y install haproxy

HAProxyの構成:
次の構成は、TCP接続を使用して宛先マシン/アプリケーションに接続するアプリケーション用であることに注意してください。
Haプロキシの設定には4つのステップが含まれます:
- グローバル設定: まず、プロセス全体のパラメータを設定するために使用します。
- デフォルト: 次に、デフォルトで使用して、他のすべてのセクションのデフォルトパラメータを設定します。
- フロントエンド: このセクションでは、バックエンドへのアクセスを有効にするために、外部からHAProxyにアクセスする方法を定義します。
- バックエンド: プロキシが着信接続を転送するために接続するサーバーのセットを定義するために使用されます。
次に、統計ソケット用に/ etc/haproxyにrunという名前のディレクトリを作成します。
mkdir /etc/haproxy/run
次のコマンドを使用してHAプロキシ構成ファイルを開きます。
nano /etc/haproxy/haprxoy.conf
ファイルにあるデフォルトの構成を削除します。
ここで、次の構成を追加します。
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /etc/haproxy/run/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
option dontlognull
option tcplog
mode tcp
timeout connect 5000
timeout client 50000
timeout server 50000
listen stats
bind 192.168.7.38:3000
mode http
maxconn 10
timeout queue 300s
stats enable
stats refresh 10s
stats show-node
stats auth haproxyadmin:haproxyadmin
stats uri /haproxy
frontend server_front
bind *:9909
default_backend server_back
backend server_back
balance roundrobin
server S1 192.168.189.129:9909 check
server S2 192.168.189.130:9909 check
上記の構成は、サーバーとのTCP接続が必要なTCP接続またはアプリケーション用であることに注意してください。上記の構成でtcpをhttpに置き換えることにより、HTTPアプリケーションの構成を行うこともできます。
HAProxyを起動して有効にする:
systemctl start haproxy.service
systemctl enable haproxy.service
systemctl status haproxy.service

HA ProxyのURLを開いて、接続統計を確認します。
