APSIS の Pound によって ロードバランシングされた Web システムを構築する。 また Web サーバには Apache を用いる。
仮想環境上に複数台の CentOS を用意して構築に当たる。
- VMWare Workstation
- ゲストOS: CentOS 5.7 × 3
大まかな手順としては、
- 仮想環境の構築
- Apache の設置
- Pound の設置
となる。
CentOS 5.7 の仮想マシンを 1 つ作成し、2 つの完全クローンを作成する。作成手順に関しては他サイトに譲る。クローンを作成する前に sudo yum update
を実行すること。
以降、この3つの仮想 CentOS 機をそれぞれ、PoundSvr, ApacheSvr1, ApacheSvr2 と呼ぶ。それぞれ、Pound によるロードバランスを担当するマシン、Web サーバを担当するマシン 2 台とする。
はじめに Apache のインストールを行う。ApacheSvr1/2 各々に対して、2.1 以降の作業を行う。以下は、ApacheSvr1 の設定。ApacheSvr2 のセッティング時は、適宜書き換えて実行する。
$ sudo yum install httpd -y
$ sudo service httpd start
$ sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
$ sudo echo "<h1>this is ApacheSvr1" > /var/www/html/index.html
sudo ifconfig
などで IP アドレスを確認し、ホスト OS のブラウザでアクセスをし、確認をする。
echo
で作成した HTML が表示されていれば Apache の設置は成功している。
成功が確認できたら、OS 起動時にも上記の設定が再現されるようにする。
$ sudo service iptables save # iptables の設定保存
$ sudo chkconfig httpd on # 次回OS起動時、httpd も起動する
epel リポジトリを登録し、Pound をインストール、設定する。
$ sudo wget "http://ftp.iij.ad.jp/pub/linux/fedora/epel/5/i386/epel-release-5-4.noarch.rpm"
$ sudo rpm -Uvh epel-release-5-4.noarch.rpm
$ sudo yum install Pound
$ sudo vim /etc/pound.cfg
User "pound"
Group "pound"
Control "/var/lib/pound/pound.cfg"
ListenHTTP
Address 0.0.0.0
Port 80
End
# ListenHTTPS
# Address 0.0.0.0
# Port 443
# Cert "/etc/pki/tls/certs/pound.pem"
#End
Service
BackEnd
#Address 127.0.0.1
Address 192.168.0.112 # ApacheSvr1 の IP アドレス
#Port 8000
Port 80
End
BackEnd
#Address 127.0.0.1
Address 192.168.0.113 # ApacheSvr2 の IP アドレス
#Port 8001
Port 80
End
End
$ sudo service pound start
PoundSvr の IP アドレスを、ifconfig
などで調べ、
ブラウザから http://ipアドレス/
にアクセスする。
数回リロードを行い、下記の項目を確認する。
- ApacheSvr1/2 の Web ページどちらかが表示されること
/var/log/messages
にログが流れていること
上記が確認できたら、次のコマンドを実行する。 これにより、次回OS起動時に、Pound も起動してくれるようになる。
$ sudo chkconfig pound on
以上が、Pound を用いてロードバランシングされた HTTP サーバ環境の構築の手順である。
- 各項目の所要時間を書く
- 動作確認について書く
- フェイルオーバーなどの動作確認も
このドキュメントを作成するにあたって参考にしたサイトを挙げる。