# HAProxy ## HAProxyとは 高可用性・負荷分散を実現するためのプロキシ・ロードバランサとして動作するOSS。 ## 特徴 * URLやHTTPヘッダによる制御が可能 * OSI参照モデルのレイヤー7で動作 * URLやHTTPヘッダ情報ごとにアクセス先のサーバを変更するなどの細かい処理ができる * ちなみにLVS(Linux Virtual Server)が動作するのはレイヤー4 * 様々なTCPプロトコルに対応 * HTTP以外にも、メール(SMTP/IMAP/POP)やデータベース(MySQL/PostgreSQL)のロードバランサとして使用できる * ロードバランサとして動作させる場合は、振り分けルールとしてはレイヤー4で動作し、監視はレイヤー7で行う * プロキシプロトコルに対応 * 一般的にロードバランサやプロキシを経由して到達した通信は、通信情報が全て経由したサーバの情報になるが、プロキシプロトコルを利用することでリクエスト元の情報を渡すことができる ## 機能 * プロキシ・ロードバランサ * クライアントからの通信を、ロードバランサとして複数のサーバに振り分ける * サーバの振り分けは柔軟に設定することができる * SSLオフロード * SSL暗号化処理のマシン負荷を肩代わりする * SSLの処理をHAProxyサーバに集約し、サーバの負荷を下げる * ヘルスチェック * サービスの稼働状況をチェックするヘルスチェックを行う * レイヤー4からレイヤー7まで様zまなレイヤーでの機能が存在する * 統計情報の確認 * サーバの稼働状況や接続情報を、管理インターフェースを利用して確認できる