この投稿では、Ubuntu 22.04(Jammy Jellyfish)にHAProxyをインストールする方法を段階的に説明します。 後で、2つのWebサーバー間で着信要求を分散することにより、ロードバランサーとして機能するように構成します。
HAProxyとは何ですか?
HaProxyは、High Availability Proxyの略で、無料のオープンソースHTTPロードバランサーおよびリバースプロキシソリューションであり、Webアプリケーションに高可用性を提供し、可能な限り最大の稼働時間を保証するために広く使用されています。
これは、複数のエンドポイントにトラフィックを分散することでWebアプリのパフォーマンスを向上させる高性能アプリケーションです。 このようにして、ワークロードが複数のノードに均等に分散されるため、Webサーバーが着信HTTPリクエストで過負荷にならないようにします。
Enterprise Editionは無料ですが、WAF(Webアプリケーションファイアウォール)、アプリケーションアクセラレーション、高度なDDoS保護、高度なヘルスチェックなどの追加機能を提供します。
ラボのセットアップ
HAProxyの動作を示すには、少なくとも3つのLinuxシステムが必要です。 1つはHAProxyロードバランサーとして機能し、残りはWebサーバーとして機能します。
ステップ1)HAProxyロードバランサーをインストールする
最初のステップは、UbuntuにHAProxyをインストールすることです。 UbuntuリポジトリはデフォルトでHAProxyを提供しますが、最新のものではありません。
デフォルトのリポジトリから利用可能なhaproxyパッケージのバージョンを表示するには、
$ sudo apt update $ sudo apt show haproxy
ただし、最新の長期サポートリリースはHAProxyが2.6であるため、HAProxy 2.6をインストールするには、最初にPPAリポジトリを有効にして、次のコマンドを実行します。
$ sudo add-apt-repository ppa:vbernat/haproxy-2.6 -y
次のコマンドを実行して、haproxy2.6をインストールします。
$ sudo apt update $ sudo apt install -y haproxy=2.6.*
インストールしたら、図のようにインストールされているHAProxyのバージョンを確認します。
$ haproxy -v
インストール時に、HAProxyサービスはデフォルトで開始され、TCPポート80をリッスンします。HAProxyが実行されていることを確認するには、コマンドを実行します。
$ sudo systemctl status haproxy
図のように、システムの再起動時にサービスを自動開始できるようにすることをお勧めします。
$ sudo systemctl enable haproxy
ステップ2)HAProxyを設定する
次のステップは、2つのWebサーバー間でトラフィックを均等に分散するようにHAProxyを構成することです。 haproxyの設定ファイルは /etc/haproxy/haproxy.cfg。
ファイルに変更を加える前に、まずバックアップコピーを作成します。
$ sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bk
次に、お好みのテキストエディタを使用してファイルを開きます。 ここでは、Nanoを使用しています。
$ sudo nano /etc/haproxy/haproxy.cfg
Haproxy設定ファイルは、次のセクションで構成されています。
- グローバル:これは、一番上に表示される最初のセクションです。 これには、パフォーマンスの調整とセキュリティを処理するシステム全体の設定が含まれています。
- デフォルト: 名前が示すように、このセクションには、追加のカスタマイズなしでうまく機能するはずの設定が含まれています。 これらの設定には、タイムアウトとエラー報告の構成が含まれます。
- フロントエンドとバックエンド: これらは、フロントエンドとバックエンドの設定を定義する設定です。 フロントエンドの場合、HAProxyサーバーをフロントエンドとして定義します。フロントエンドは、Webサーバーであるバックエンドサーバーにリクエストを配信します。 また、トラフィックを分散するためにラウンドロビン負荷分散基準を使用するようにHAProxyを設定します。
- 聞く: これは、HAProxy統計の監視を有効にできるオプションの設定です。
次に、フロントエンドとバックエンドの設定を定義します。
frontend linuxtechi bind 10.128.0.25:80 stats uri /haproxy?stats default_backend web-servers backend web-servers balance roundrobin server web1 10.128.0.27:80 server web2 10.128.0.26:80
ここでは、HAProxyサーバーとWebサーバーノードの両方をポート80にリストされるように構成しました。HAProxyとWebサーバーのIPアドレスをセットアップに置き換えてください。
ブラウザからHAProxy統計を表示できるようにするには、次を追加します 「聞く」セクション。
listen stats bind *:8080 stats enable stats uri / stats refresh 5s stats realm Haproxy Statistics stats auth linuxtechi:[email protected] #Login User and Password for the monitoring
stats authディレクティブは、ブラウザで統計を表示するためのログインユーザーのユーザー名とパスワードを指定します。
次に、すべての変更を保存して、構成ファイルを終了します。 新しい設定を再ロードするには、haproxyサービスを再起動します。
$ sudo systemctl restart haproxy
次に、 / etc / hosts ファイル。
haproxyメインサーバーとWebサーバーのホスト名とIPアドレスを定義します。
10.128.0.25 haproxy 10.128.0.27 web1 10.128.0.27 web2
変更を保存して終了します。
手順3)Webサーバーを構成する
このステップでは、Webサーバーである残りのLinuxシステムを構成します。
したがって、各Webサーバーにログインして、ApacheWebサーバーパッケージをインストールします。
$ sudo apt update $ sudo apt install -y apache2
次に、Apacheが各サーバーで実行されていることを確認します。
$ sudo systemctl status apache2
次に、ApacheWebサーバーが両方のサーバーで起動時に起動できるようにします。
$ sudo systemctl enable apache2
次に、各Webサーバーのindex.htmlファイルを変更します。
Webサーバー1の場合
rootユーザーに切り替えます
$ sudo su
次に、次のコマンドを実行します。
# echo "<H1>Hello! This is webserver1: 10.128.0.27 </H1>" > /var/www/html/index.html
Webサーバー2の場合
同様に、rootユーザーに切り替えます
$ sudo su
そして、示されているようにindex.htmlファイルを作成します。
# echo "<H1>Hello! This is webserver2: 10.128.0.26 </H1>" > /var/www/html/index.html
次に、/ etc/hostsファイルを設定します。
$ sudo nano /etc/hosts
各ノードにHAProxyエントリを追加します。
10.128.0.25 haproxy
変更を保存して、構成ファイルを終了します。
各WebサーバーノードからHAProxyサーバーにpingできることを確認してください。
注:Webサーバーでポート80が有効になっている場合は、OSファイアウォールでポート80が許可されていることを確認してください。
ステップ4)HAProxyロードバランシングをテストする
この時点までに、HAProxyと両方のバックエンドWebサーバーを正常に構成できました。 構成が期待どおりに機能しているかどうかをテストするには、HAProxyサーバーのIPアドレスを参照します
http://10.128.0.25
初めて閲覧すると、最初のWebサーバーのWebページが表示されます。
更新すると、2番目のWebサーバーのWebページが表示されます。
これは、HAProxyサーバーがラウンドロビンアルゴリズムで2つのWebサーバーに着信Webトラフィックを分散することにより、負荷分散ジョブを実行していることを示しています。
さらに、curlコマンドで次のdo-whileループを使用できます。
$ while true; do curl 10.128.0.25; sleep1; done
監視統計を表示するには、次のURLを参照してください。
http://10.128.0.25:8080/stats
認証が必要になるため、手順2で指定した詳細を入力してください。
次のページに、HAProxyサーバーのパフォーマンスに関する統計が表示されます。
結論
あります! Ubuntu 22.04にHAProxyを正常にインストールし、RoundRobbin負荷分散基準を使用して2つのWebサーバー間でリクエストを処理するように構成しました。
また読む: Ubuntu22.04LTSで静的IPアドレスを構成する方法
。
The post Ubuntu22.04にHAProxyをインストールして設定する方法 appeared first on Gamingsym Japan.