このガイドでは、ApacheHTTPServerを使用してRHEL9にHAProxyをインストールして設定する方法を段階的に説明します。
HAProxy HighAvailabilityProxyの略です。 これは、オープンソースで高性能のTCP / HTTPロードバランサーであり、Webアプリケーション用のリバースプロキシです。 これは、指定されたアルゴリズムを使用して複数のバックエンドWebサーバーにトラフィックを分散し、アプリケーションが要求によってフラッディングされるのを防ぐことによって機能します。
ソフトウェアスタックでHAProxyを使用する上位のWebサイトには、Twitter、Reddit、Tumblr、StackOverflowなどがあります。
ラボのセットアップ
HAProxyがロードバランサーとしてどのように機能するかを示すために、1つのHAProxyロードバランサーと2つのWebサーバーを備えた3ノードのセットアップがあります。
- haproxy-rhel-09 10.128.0.48
- apache-web-1 10.128.0.49
- apache-web-2 10.128.0.50
ステップ1)すべてのノードのhostsファイルを更新します
最初のステップは、すべてのノードのhostsファイルをホスト名とIPアドレスで更新することです。 したがって、示されているように、すべてのシステムのhostsファイルにアクセスします。
$ sudo vi /etc/hosts
次に、次のように更新します。
10.128.0.48 haproxy-rhel-09 10.128.0.49 apache-web-1 10.128.0.50 apache-web-2
変更を保存して終了します。
ステップ2)RHEL9にHAProxyをインストールします
次に、ロードバランサーとして機能するRHEL9サーバーにHAProxyパッケージをインストールします。 したがって、サーバーにログインして、最初にパッケージをアップグレードします。
$ sudo dnf update -y
次に、RHEL 9リポジトリでHAProxyパッケージの可用性を検索し、示されているようにそれに関する詳細情報を検索できます。
$ sudo dnf info haproxy -y
出力から、バージョン、リリース、アーキテクチャなど、HAProxyに関するさまざまな情報を確認できます。
リポジトリからパッケージをインストールするには、次のコマンドを実行します。
$ sudo dnf install haproxy
HAProxyがインストールされていることを確認するために、コマンドを実行します。
$ rpm -qi haproxy
ステップ3)ロードバランサーとして機能するようにHAProxyを構成する
次のステップは、HAProxyを設定することです。 ただし、その前に、万が一の場合に備えて、構成ファイルのバックアップコピーを作成してください。 以下を使用する cpコマンド、
$ sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.bak
次に、構成ファイルを開きます
$ sudo vi /etc/haproxy/haproxy.cfg
フロントエンドセクションとバックエンドセクションの2つのセクションを更新します。
フロントエンドセクションでは、次の属性を定義します。
- HAProxyロードバランサーのIPアドレスとそれがリッスンするポート。
- 統計URI
バックエンドセクションでは、次の属性を定義します。
- 負荷分散アルゴリズム。
- ブラウザでロードバランサの統計にアクセスするためのユーザー名とパスワード。
- Webサーバーのホスト名とIPアドレス。
frontend load_balancer bind 10.128.0.48:80 option http-server-close option forwardfor stats uri /haproxy?stats default_backend webservers backend webservers mode http balance roundrobin stats enable stats auth linuxtechi:[email protected] option httpchk HEAD / HTTP/1.1rnHost: localhost server apache-web-1 10.128.0.49:80 server apache-web-2 10.128.0.50:80
手順3)Rsyslogを構成する
次のステップは、HAProxy統計をログに記録できるようにRsyslogサービスを構成することです。 これを行うには、Rsyslog構成ファイルにアクセスします。
$ sudo vi /etc/rsyslog.conf
これらの行のコメントを解除します
module(load="imudp") input(type="imudp" port="514")
変更を保存して、構成ファイルを終了します。
次に、HAProxy構成ファイルを作成します。
$ sudo vi /etc/rsyslog.d/haproxy.conf
次に、次の行を貼り付けて、ログファイルの場所を定義します。
local2.=info /var/log/haproxy-access.log local2.notice /var/log/haproxy-info.log
変更を保存して、構成ファイルを終了します。 次に、次のSELinuxルールを設定します。
$ sudo setsebool -P haproxy_connect_any 1
Rsyslogを再起動して有効にし、変更を有効にします。
$ sudo systemctl restart rsyslog $ sudo systemctl enable rsyslog
次に、再起動時にHaProxyを起動して実行できるようにします。
$ sudo systemctl start haproxy $ sudo systemctl enable haproxy
HAProxyが実行されていることを確認するには、次のコマンドを実行します。
$ sudo systemctl status haproxy
ファイアウォールを構成している場合は、必ずポート80を許可してください。
$ sudo firewall-cmd --add-port=80/tcp --permanent $ sudo firewall-cmd --reload
ステップ4)Webサーバーをセットアップする
これまで、ロードバランサーとして機能し、ラウンドロビンアルゴリズムを使用してWebサーバー全体にワークロードを分散するようにHAProxyサーバーを構成してきました。 次のステップは、Webサーバーをセットアップすることです。
次に、各サーバーにApacheパッケージをインストールします。
$ sudo dnf install httpd -y
次に、Apacheサービスを開始して有効にします。
$ sudo systemctl start httpd $ sudo systemctl enable httpd
次のステップは、Webサーバーを構成し、ブラウザーと区別するためにさまざまなindex.htmlファイルを作成することです。
Webサーバー1の場合
rootユーザーに切り替えて、サンプルHTMLファイルを作成します。
$ echo "<h1>Success! Welcome to Web Server 1</h1>" > /var/www/html/index.html
次に、Apacheサービスを再起動します。
$ sudo systemctl restart httpd
Webサーバー2の場合
同様に、rootユーザーに切り替えて、サンプルHTMLファイルを作成します。
$ echo "<h1>Success! Welcome to Web Server 2</h1>" > /var/www/html/index.html
次に、Apacheサービスを再起動して変更を有効にします
$ sudo systemctl restart httpd
ステップ5)HAProxyロードバランシングをテストする
最後のステップは、ロードバランサーが機能しているかどうかをテストすることです。 これを行うには、ロードバランサーのIPアドレスにアクセスします
http://loadbalancer-IP
まず、WebサーバーのHTMLページのいずれかに移動します。 この場合、リクエストが最初のWebサーバーに送信されたことがわかります。
ここでWebページをリロードすると、今回は2番目のWebサーバーのHTMLページが表示されます。 これは、ラウンドロビンアルゴリズムがバックエンドWebサーバー間での要求の分散に適用されていることを確認します。
または、を実行することもできます curlコマンド ラウンドロビンアルゴリズムをテストするために複数回。
ブラボー! これは、haproxyが2つのノード間でトラフィックを分散しているときに正しく機能していることも確認します。
次のURLを参照して統計を表示することもできます
http:// loadbalancer-IP / haproxy?stats
ユーザー名とパスワードの入力を求められます。haproxyの設定時に定義したものと同じ資格情報を使用してください。
結論
これでガイドは終わりです。 このチュートリアルでは、RHEL 9へのHAProxyのインストールについて説明し、ラウンドロビンアルゴリズムを使用してその動作をシミュレートしました。
。
The post RHEL9にHAProxyをインストールして設定する方法 appeared first on Gamingsym Japan.