Web サーバーのトラフィックを制御するために「HAProxy」を使用して高可用性ロード バランサーをセットアップする方法
HAProxy は高可用性プロキシの略です。これは、C プログラミング言語で書かれた無料のオープンソース アプリケーションです。 HAProxy アプリケーションは、TCP/HTTP ロード バランサーおよびプロキシ ソリューションとして使用されます。 HAProxy アプリケーションの最も一般的な用途は、ワークロードを複数のサーバー (Web サーバー、データベース サーバーなど) に分散して、サーバー環境の全体的なパフォーマンスと信頼性を向上させることです。
この非常に効率的で高速なアプリケーションは、Twitter、Reddit、GitHub、Amazon を含むがこれらに限定されない、世界的に有名な組織の多くで使用されています。 Linux、BSD、Solaris、および AIX プラットフォームで使用できます。
このチュートリアルでは、HAProxy を使用して高可用性ロード バランサーをセットアップし、複数のサーバー間でリクエストを分離することで HTTP ベースのアプリケーション (Web サーバー) のトラフィックを制御するプロセスについて説明します。
この記事では、HAProxy バージョンの最新の安定リリース、つまり 2014 年 12 月 31 日にリリースされた 1.5.10 を使用しています。また、CentOS 6.5 も使用しています。ただし、以下の手順は CentOS/RHEL/Fedora および Ubuntu/Debian ディストリビューションでも機能します。
私の環境設定
ここでは、ホスト名が websrv.tecmintlocal.com 、IP アドレスが 192.168.0.125 のロードバランサ HAProxy サーバーです。
HAProxyサーバーのセットアップ
Operating System : CentOS 6.5
IP Address : 192.168.0.125
Hostname : websrv.tecmintlocal.com
クライアント Web サーバーのセットアップ
他の 4 台のマシンは稼働しており、Apache などの Web サーバーが稼働しています。
Web Server #1 : CentOS 6.5 [IP: 192.168.0.121] - [hostname: web1srv.tecmintlocal.com]
Web Server #2 : CentOS 6.5 [IP: 192.168.0.122] - [hostname: web2srv.tecmintlocal.com]
Web Server #3 : CentOS 6.5 [IP: 192.168.0.123] - [hostname: web3srv.tecmintlocal.com]
Web Server #4 : CentOS 6.5 [IP: 192.168.0.124] - [hostname: web4srv.tecmintlocal.com]
ステップ 1: クライアント マシンに Apache をインストールする
1. まず、4 つのサーバーすべてに Apache をインストールし、いずれかのサイトを共有する必要があります。4 つのサーバーすべてに Apache をインストールするには、ここで次のコマンドを使用します。
yum install httpd [On RedHat based Systems]
apt-get install apache2 [On Debian based Systems]
2. 4 台のクライアント マシンすべてに Apache Web サーバーをインストールした後、ブラウザの IP アドレスを介してサーバーにアクセスすることで、Apache が実行されているかどうかを確認できます。
http://192.168.0.121
ステップ 2: HAProxy サーバーのインストール
3. 現在の最新の Linux ディストリビューションのほとんどでは、デフォルトのパッケージ マネージャーである yum または apt-get を使用して、デフォルトのベース リポジトリから HAPROxy を簡単にインストールできます。 >。
たとえば、HAProxy を RHEL/CentOS/Fedora および Debian/Ubuntu バージョンにインストールするには、次のコマンドを実行します。ここでは、SSL および NON-SSL サポートを使用して HAProxy をセットアップするため、openssl パッケージも含めました。
yum install haproxy openssl-devel [On RedHat based Systems]
apt-get install haproxy [On Debian based Systems]
注: Debian Whezzy 7.0 では、新しいファイル backports.list を追加してバックポート リポジトリを有効にする必要があります。 >「/etc/apt/sources.list.d/」ディレクトリの下に次の内容が含まれています。
echo "deb http://cdn.debian.net/debian wheezy-backports main" >> /etc/apt/sources.list.d/backports.list
次に、リポジトリ データベースを更新し、HAProxy をインストールします。
apt-get update
apt-get install haproxy -t wheezy-backports
ステップ 3: HAProxy ログを構成する
4. 次に、将来のデバッグのために HAProxy のログ機能を有効にする必要があります。選択したエディタで、メインの HAProxy 構成ファイル「/etc/haproxy/haproxy.cfg」を開きます。
vim /etc/haproxy/haproxy.cfg
次に、ディストリビューション固有の手順に従って、HAProxy のログ機能を構成します。
RHEL/CentOS/Fedora の場合
#Global settings で、次の行を有効にします。
log 127.0.0.1 local2
Ubuntu/Debian の場合
#Global settings で、次の行を置き換えます。
log /dev/log local0
log /dev/log local1 notice
と、
log 127.0.0.1 local2
5. 次に、「/etc/rsyslog.conf」設定ファイルで UDP syslog 受信を有効にして、/var/log の下にある HAProxy のログ ファイルを分離する必要があります。 ディレクトリ。選択したエディタで「rsyslog.conf」ファイルを開きます。
vim /etc/rsyslog.conf
ModLoad と UDPServerRun の通信を解除します。ここでサーバーはポート 514 をリッスンしてログを syslog に収集します。
Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
6. 次に、設定するために、「/etc/rsyslog.d/」ディレクトリに別のファイル「haproxy.conf」を作成する必要があります。個別のログ ファイル。
vim /etc/rsyslog.d/haproxy.conf
新しく作成したファイルに次の行を追加します。
local2.* /var/log/haproxy.log
最後に、rsyslog サービスを再起動して、新しい変更を更新します。
service rsyslog restart