Ubuntu 26.04 で HAProxy を使うと、TCP や HTTP のロードバランサを構成できます。Kubernetes API、Web サービス、内部サービスの前段などで使いやすいミドルウェアです。
この記事では、HAProxy の導入、frontend/backend の基本、TCP ロードバランサの例、設定検証、サービス確認までを整理します。
HAProxy の基本構造
- global: プロセス全体の設定
- defaults: frontend/backend の共通設定
- frontend: 接続を受ける入口
- backend: 転送先サーバー群
- server: backend 内の実サーバー
インストールする
sudo apt update
sudo apt install -y haproxy最小構成例
global
log /dev/log local0
log /dev/log local1 notice
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
maxconn 10000
defaults
log global
mode tcp
option tcplog
option dontlognull
timeout connect 5s
timeout client 60s
timeout server 60s
frontend k8s-api-frontend
bind 192.0.2.10:6443
default_backend k8s-api-backend
backend k8s-api-backend
balance roundrobin
option redispatch
default-server check
server k8s-cp-01 192.0.2.101:6443設定ファイルへ配置する
sudoedit /etc/haproxy/haproxy.cfg設定を検証する
sudo haproxy -c -f /etc/haproxy/haproxy.cfgサービスを起動する
sudo systemctl enable --now haproxy
systemctl status haproxy --no-pager待ち受けを確認する
ss -lntp | grep haproxy || trueログを確認する
journalctl -u haproxy --since "1 hour ago" --no-pager設計上の注意
HAProxy は入口を増やすほど firewall、VIP、DNS、監視と関係します。TCP mode では L7 のヘッダー処理をしないため、HTTP の X-Forwarded-For や TLS 終端が必要な場合は HTTP mode や別設計として考えます。
まとめ
HAProxy は frontend と backend の関係を明確にすると扱いやすいです。まずは TCP の最小構成で設定検証、待ち受け、ログ確認を行い、用途に応じて HTTP mode や TLS 終端へ広げます。
Ubuntu 26.04 HAProxy の基本設定


