HAProxy は接続を分散し、異常なバックエンドをローテーションから外し、アプリケーション層の条件でリクエストを振り分けられます。この実践コースでは、応答から各判断を確認できる小さなローカルサービスを使い、それらの動作を構築・検証します。
HTTP のラウンドロビン、統計ページ、TCP プロキシ、パス ACL によるバックエンド選択を設定します。最後のチャレンジでは、3 ノードの模擬 Web クラスターにアクティブチェックを追加し、一つのバックエンドを停止・再開してフェイルオーバーと自動復帰を確認します。
学習内容
- HAProxy をインストールし、設定を特定・バックアップしてサービスを確認する
- HTTP frontend と backend を定義し、ラウンドロビン分散を検証する
- アクティブヘルスチェックを追加し、ノードの除外と復帰を観察する
- ポート 8404 で内蔵統計ページを有効化してアクセスする
- TCP モードの負荷分散を設定し、単純なリスナーでテストする
- パス接頭辞 ACL を定義し、一致するリクエストを別 backend へ送る
- 設定を検証し、HAProxy を再起動または再読み込みして
curlとncで試す
このコースの対象者
この中級コースは、HAProxy 設定、トラフィック分散、基本的なフェイルオーバーを実践したい Linux 管理者、DevOps 担当者、バックエンド学習者を対象としています。
前提知識: Linux シェル、sudo、サービス、設定ファイル、IP アドレス、TCP ポート、基本的な HTTP リクエストの概念に慣れていること。
学習環境: HAProxy、ローカル Python HTTP サーバー、Netcat リスナー、管理者権限を備えた単一の Linux ラボマシンです。全バックエンド「ノード」は localhost 上の異なるポートです。
よくある質問
実際の複数サーバークラスターを扱いますか?
いいえ。同一マシンの異なるポートで軽量サービスを動かしますが、HAProxy の分散、ヘルスチェック、フェイルオーバー、復帰、ACL ルーティングは実際に検証します。
TCP ラボで本物の MySQL クラスターを設定しますか?
いいえ。ポート 3307 と 3308 の Netcat リスナーで TCP ラウンドロビンを可視化します。MySQL の導入、レプリケーション、DB セッションは扱いません。
本番セキュリティや高度な HAProxy 運用も扱いますか?
いいえ。TLS 終端、統計認証、シークレット、stick table、セッション維持、流量制限、ログ基盤、HAProxy 自体の高可用性は範囲外です。統計リスナーは隔離ラボで意図的に単純かつ認証なしです。





