Pound : HTTP を負荷分散2015/06/09 |
HTTP/HTTPS 負荷分散ソフトウェア Pound をインストールします。
例として、ここでは以下のような環境で構築します。 | --------+-------------------------------------------------------------------- | +-------------------+--------------------+--------------------+ |10.0.0.30 |10.0.0.51 |10.0.0.52 |10.0.0.53 +------+-----+ +-------+------+ +-------+------+ +-------+------+ | Frontend | | Backend#1 | | Backend#2 | | Backend#3 | | Pound | | Web Server | | Web Server | | Web Server | +------------+ +--------------+ +--------------+ +--------------+ |
Pound をインストールした Frontend サーバーへの HTTP 通信を Backend#1, Backend#2, Backend#3 の
Webサーバーへ負荷分散するように設定します。
|
|
[1] | Pound をインストールします。 |
# EPELからインストール [root@dlp ~]# yum --enablerepo=epel -y install Pound
|
[2] | Pound の設定です。 |
[root@dlp ~]# mv /etc/pound.cfg /etc/pound.cfg.org
[root@dlp ~]#
vi /etc/pound.cfg User "pound" Group "pound" # ログレベル (5が最大) LogLevel 3 # ログの出力先 LogFacility local1 # ハートビートを送る間隔 (秒) Alive 30 # フロントエンドを定義 ListenHTTP Address 0.0.0.0 Port 80 End # バックエンドを定義 Service BackEnd # バックエンドサーバーのIPアドレス Address 10.0.0.51 # バックエンドサーバーの待ち受けポート Port 80 # 優先度を定義 (1-9 で指定。9が最優先) Priority 5 End BackEnd Address 10.0.0.52 Port 80 Priority 5 End BackEnd Address 10.0.0.53 Port 80 Priority 5 End End sed -i -e "s/^PIDFile/#PIDFile/" /usr/lib/systemd/system/pound.service [root@dlp ~]# systemctl start pound [root@dlp ~]# systemctl enable pound |
[3] | 指定したファシリティのログが取得できるように Rsyslog の設定を変更します。 |
[root@dlp ~]#
vi /etc/rsyslog.conf # 54行目:以下のように変更 *.info;mail.none;authpriv.none;cron.none ,local1.none /var/log/messageslocal1.* /var/log/pound.log systemctl restart rsyslog |
[4] | バックエンド Webサーバーで X-Forwarded-For ヘッダーをロギングするよう設定しておきます。 |
[root@www ~]#
vi /etc/httpd/conf/httpd.conf # 196行目:変更 LogFormat " \"%{X-Forwarded-For}i\" %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
systemctl restart httpd |
[5] | 任意のクライアントから Pound サーバーへ HTTP アクセスし、何度かリロードしたりバックエンドサーバーの一部を手動で停止する等して、動作を確認してください。 |
Sponsored Link |