もっと詳しく

このガイドでは、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

dnf-command-install-haproxy-rhel9

HAProxyがインストールされていることを確認するために、コマンドを実行します。

$ rpm -qi haproxy

Rpm-Query-Haproxy-RHEL9

ステップ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

編集-Haproxy-ファイル-RHEL9

手順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

Haproxy-Service-Status-Check-RHEL9

ファイアウォールを構成している場合は、必ずポート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ページ-Server1-via-Loadbalancer

ここでWebページをリロードすると、今回は2番目のWebサーバーのHTMLページが表示されます。 これは、ラウンドロビンアルゴリズムがバックエンドWebサーバー間での要求の分散に適用されていることを確認します。

Webページ-Server2-via-Loadbalancer

または、を実行することもできます curlコマンド ラウンドロビンアルゴリズムをテストするために複数回。

Curl-Command-Check-Loadbalancer-Backend-Server

ブラボー! これは、haproxyが2つのノード間でトラフィックを分散しているときに正しく機能していることも確認します。

次のURLを参照して統計を表示することもできます

http:// loadbalancer-IP / haproxy?stats

ユーザー名とパスワードの入力を求められます。haproxyの設定時に定義したものと同じ資格情報を使用してください。

HaProxy-統計-RHEL9

結論

これでガイドは終わりです。 このチュートリアルでは、RHEL 9へのHAProxyのインストールについて説明し、ラウンドロビンアルゴリズムを使用してその動作をシミュレートしました。

The post RHEL9にHAProxyをインストールして設定する方法 appeared first on Gamingsym Japan.