お勉強
ロードバランサ HAProxy
HAProxyはL4(tcp) / L7(http) 対応のロードバランサ。
.cgi をアプリケーションサーバ群に、 .jpgなどの静的コンテンツをコンテンツサーバ群に割り振ったり出来る。
コンフィグファイルは /etc/haproxy/haproxy.cfg
コンフィグファイルは
global (HAProxy全体の設定)
default (listen,frontend,backendの標準設定)
listen (frontend,backend両方の機能を1つのセクションで設定)
frontend (待ちうけ,転送先の選択,frontendで転送するbackendを指定)
backend (転送先の設定)
からなっている。
global
chroot /var/lib/haproxy
daemon
log 127.0.0.1 daemon
pidfile /var/run/haproxy.pid
maxconn 4192
user haproxy
group haproxy
こんな感じで設定項目と設定内容をスペースで区切って記載する。
セクションに所属していることを示すようにインデントをする。
listenセクションは省略
frontend main
bind 0.0.0.0:80
mode http
timeout client 1s
default_backend hogehoge-backend
option forwardfor
frontend の後ろにユニークな名前をつける。
mode は tcp http どちらで動かすか。
default_backend はアクセスが来たときに標準で使用するbackendを記載する。
backend hogehoge-backend
mode http
timeout server 2s
option httpchk GET /check HTTP/1.0
option http-keep-alive
balance roundrobin
server web1 192.168.10.5:80 check
server web2 192.168.10.6:80 check
backend の後ろにもユニークな名前をつける、frontendからはこの名前で使うbackendを指定する。
balance でロードバランスアルゴリズムを指定する。主なものは下記(ver 1.5.8)
option httpchkはserverが生きているかどうかhttpでチェックする。ここではGETメソッドで /checkにアクセスしている。応答があれば生きている、応答がなければ死んでいると判断して死んでいるサーバにはロードバランスしなくなる。