ウェブサイト検索

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

ModLoadUDPServerRun の通信を解除します。ここでサーバーはポート 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