LASSIC Media らしくメディア

2026.10.22 らしくコラム

HAProxyとNginxの違い|負荷分散での役割と選び方を解説

監修・編集責任者:牛尾 昭昌(株式会社LASSIC 執行役員)

ラックの上段のサーバーから下の3台へLANケーブルを差し分ける手

この記事の結論

  • HAProxyは負荷分散と中継に絞った無料のソフトウェアで、ファイルを配るWebサーバーの役目は持ちません。
  • Nginxは負荷分散もできるWebサーバーで、2つを組み合わせて入口と配信を分ける構成もとれます。
  • 選ぶときは、死活確認の中身と入口の二重化、版の更新を誰が受け持つかを先に決めておくことが大切です。

※ 本記事は2026年10月時点の公式情報(省庁・公的機関、および製品やサービスを提供する事業者が公開している資料)に基づきます。

アクセスが増えてきたのでWebサーバーを複数台に増やしたい。その前に置く負荷分散の仕組みとして、HAProxyとNginxのどちらを使えばよいのか分からない——。Webシステムの構成を見直す情報システムの担当者には、こうした迷いがよくあります。HAProxy(エイチエープロキシー)は、利用者からの通信を受けて複数のサーバーに振り分ける、負荷分散に特化したオープンソースのソフトウェアです。

Nginx(エンジンエックス)もWebサーバーとして広く使われながら、負荷分散の機能を持っています。どちらも無料で使えますが、得意な役割は同じではなく、片方だけで全部をまかなえるわけではありません。本記事では、Webシステムの構成を判断する情報システムの担当者に向けて、HAProxyの役割、Nginxとの違い、2つを組み合わせる構成、そして外部に頼むときに確認したい点を整理します。

HAProxyとは

HAProxyの公式サイトは、HAProxyを、TCPとHTTPを使うアプリケーションに高可用性(止まりにくさ)・負荷分散・中継を提供する、無料で高速なリバースプロキシ(利用者とサーバーの間に立つ中継役)と説明しています。*1 公式の説明書が挙げる役割のうち、基本になるのは次の4つです。*2

  • TCPの中継:利用者からの接続を受け、サーバーへの接続とつないで通信を流す
  • HTTPの中継:Webのリクエストを受け取り、後ろのサーバーへ渡す
  • 暗号化通信の終端:HTTPSの暗号をHAProxyでほどき、サーバーの負担を減らす
  • サーバーの負荷分散:TCPなら接続ごとに、HTTPならリクエストごとに振り分け先を決める

一方で、説明書はHAProxyが静的なWebサーバーではないことも明記しています。*2 画像やHTMLのファイルを配る役目はApacheやNginxに任せ、その前にHAProxyを置く使い方が想定されています。ライセンスはGPLv2(配布するときは求めに応じてソースコードを渡す条件のライセンス)で、外部の部品向けのヘッダーファイルだけにLGPLが適用されます。*3

Nginxとの違い

Nginxは公式サイトで、HTTPのWebサーバー、リバースプロキシ、コンテンツのキャッシュ、ロードバランサー、TCP/UDPの中継、メールの中継をこなすソフトウェアと紹介されています。*4 Nginxは負荷分散もできる多機能なWebサーバーで、HAProxyは負荷分散と中継に絞った専用の道具です。

作業台に並べた薄型サーバーと天板を開けたサーバーを比べる手

HAProxyとNginxの主な違い
比べる点 HAProxy Nginx
主な役割 負荷分散と中継(TCP・HTTP) Webサーバー(中継と負荷分散もこなす)
画像やHTMLのファイル配信 しない(Webサーバーの前に置く) する
振り分けの方式 10種類以上(順番に回す・接続数の少ない順・接続元のアドレス・URLなど) 順番に回す・接続数の少ない順・接続元のIPアドレスなど
サーバーの死活確認 確認の通信を定期的に送る 無償版は実際の通信の失敗で判断
ライセンス GPLv2(一部LGPL) 2条項BSDライセンス

表のうち、構成を決めるときに効いてくるのは死活確認です。Nginxの無償版は、サーバーへの通信が失敗したときにそのサーバーをしばらく外す受け身の確認で、アプリケーションの死活確認や稼働状況の監視は有償のNGINX Plusの機能として案内されています。*5 HAProxyは、接続できるかどうか、HTTPのリクエストへの応答、データベースへの問い合わせなどから確認の方法を選べます。*2

2つを組み合わせる構成

HAProxyとNginxは、片方を選んで終わりではなく、組み合わせて使う構成もあります。HAProxyの説明書は、どちらもCPUをあまり使わない作りなので同じサーバーに両方を入れやすいと述べ、Nginxの前にHAProxyを置く使い方を紹介しています。*2

HAProxyとNginxを組み合わせた構成図。利用者からの通信を稼働中のHAProxyが受け、3台のNginxに振り分け、Nginxがアプリのサーバーへ中継する。HAProxyは待機の1台とkeepalivedで切り替える。

  • HAProxy:入口でHTTPSの暗号をほどき、応答のあるNginxにだけ振り分ける
  • Nginx:画像などのファイルを返し、アプリのサーバーへの中継を受け持つ
  • 入口の二重化:HAProxyを2台用意し、keepalived(仮想のIPアドレスを引き継ぐ仕組み)で切り替える

HAProxyを1台だけ置くと、そこが止まったときにすべての通信が止まるため、入口も2台にしておきます。また、利用者の接続元の情報を後ろへ渡すPROXYプロトコルにNginxも対応しているため、アプリの側で利用者のアドレスを記録できます。負荷分散がそもそも何を解決するのかはロードバランサの仕組みと方式で扱っています。

どちらを使うかの決め方

HAProxyを入れるかどうかは、製品の評判ではなく、いまの構成で何に困っているかから決めると迷いません。次の4つの段階で確かめていきます。

  • ステップ1:振り分けたいサーバーの台数と、通信の種類(Webか、それ以外のTCPか)を書き出す
  • ステップ2:Webサーバーが数台で、ファイルの配信も同じ場所でしたいなら、Nginxの負荷分散から始める
  • ステップ3:サーバーの死活を定期的に確かめたい、振り分けの状態を画面で見たいなら、HAProxyを前に置く
  • ステップ4:入口が止まると業務が止まるなら、入口の2台構成と切り替えの試験まで計画に入れる

HAProxyには認証つきの統計画面があり、サーバーごとの状態やエラーの原因を一覧で確かめられます。*2 クラウドを使っている場合は、クラウド事業者のロードバランサーも選択肢になります。コンテナの増減に合わせて振り分け先を自動で変えたい場合はTraefikでリバースプロキシを構築も参考になります。

外部に頼むときに確認しておきたい点

HAProxyもNginxもライセンス費用はかかりませんが、設定と保守は自社で持つことになります。構築や運用を外部に頼むときは、次の点を見積もりの前に確かめておきます。

打ち合わせ机の構成図をペンで指して確かめる2人の手

  • 版の選び方:偶数の版はLTS(長期サポート版)として5年間保守されます*1。どの版を使い、更新を誰がいつ行うか
  • 入口の二重化:HAProxyを2台にするか。切り替えの試験をいつ、どう行うか
  • 死活確認の中身:接続できるかだけを見るか、アプリの応答まで確かめるか
  • 証明書の更新:HTTPSの証明書をどこに置き、期限切れを誰が見張るか
  • 運用後の見直し:統計画面やログを見て、振り分けの方式や台数を直す場を設けるか

特に死活確認は、何を確かめるかで効き目が変わります。説明書は、pingによる確認ではWebサーバーが止まって待ち受けをやめても気づけない例を挙げ、確認は想定する故障に合ったものにするよう求めています。*2 頼む範囲には、構築だけでなく、この確認の中身と切り替えの試験まで含めておきます。

まとめ:HAProxyで確かめておきたい3つの点

HAProxyとNginxのどちらを使うかを決めるうえで、確かめておきたい点は3つに整理できます。第一に、HAProxyは振り分けの専用の道具で、ファイルの配信はNginxなどのWebサーバーに任せること。第二に、サーバーの死活を定期的に確かめたいかどうかで、HAProxyを前に置くかを決めること。第三に、入口を2台にするか、版の更新を誰が受け持つかを、構築の前に決めることです。この3点を踏まえておけば、「負荷分散を入れたのに、入口が止まってサイト全体が見られない」という事態を避けやすくなります。構成や運用の分担に迷いがあれば、外部の手を借りるのも一つの選択肢です。

LASSICに相談するメリット

LASSICは2006年の創業以来、システムの運用・保守に特化したプライム(一次請け)のシステムインテグレーターとして、企業のシステム開発と保守・運用を受託してきました。日本ニアショア開発推進機構の認定ベンダーとして、全国のリモート人材による開発・運用の体制を整えています。

HAProxyの構築では、公式の保守期間を見てLTSの系統を選び、更新の手順まで決めます。設計の段階では、振り分けの方式(順番に回す・接続数の少ない順・接続元のアドレス)、死活確認で何を確かめるか、HTTPSの暗号をどこでほどくか、keepalivedによる入口の二重化を、お客様の構成図を見ながら決めます。運用では、統計画面とPrometheus向けの出力で振り分けの偏りとエラーを見張り、切り替えの試験と版の更新の手順を文書にします。

よくある質問

HAProxyは無料で使えますか

使えます。本体はGPLv2のオープンソースで、ソフトウェアの利用料はかかりません。*3 サーバーの費用と設定・更新の手間は自社で持ちます。

HAProxyだけでWebサイトを公開できますか

HAProxyだけでは公開できません。HAProxyは静的なWebサーバーではなく、画像やHTMLのファイルを配ることができないためです。*2 後ろにNginxやApacheなどのWebサーバー、またはアプリのサーバーを置き、HAProxyはその前で振り分けを受け持ちます。

同じ利用者を同じサーバーに送り続けることはできますか

どちらでもできます。Nginxは利用者のIPアドレスから振り分け先を決める方式を持ち、そのサーバーが止まっているときを除いて同じサーバーへ送ります。*5 HAProxyも、接続元のアドレスやCookieを手がかりに同じサーバーへ送り続けられます。

負荷分散の構成づくりのご相談

HAProxyやNginxを使った負荷分散の設計から、入口の二重化、版の更新と監視の運用まで、元請(プライムベンダー)としてご提案します。

2006年の創業以来、一次請けのシステムインテグレーターとして、企業のシステム開発と保守・運用を受託してきました。

無料相談はこちら

出典

  1. *1 参考:HAProxy「The Reliable, High Performance TCP/HTTP Load Balancer」公式サイト(https://www.haproxy.org/)。出典:製品の説明(無料で高速なリバースプロキシ・高可用性・負荷分散)、版の系統と保守期間(偶数の版はLTSとして5年)、同じ系統の最新版にそろえる重要性の記述を参照(2026年10月確認)
  2. *2 参考:HAProxy Documentation「Starter Guide(intro)」version 3.2(https://docs.haproxy.org/3.2/intro.html)。出典:3.1節(HAProxyにできること・できないこと)、3.3節(死活確認・高可用性・負荷分散・同じサーバーへの振り分け・統計画面)、3.7節(ライセンス)、4.2節(NGINXとの組み合わせ)を参照(2026年10月確認)
  3. *3 参考:haproxy/haproxy(GitHub)LICENSE(https://github.com/haproxy/haproxy/blob/master/LICENSE)。出典:本体はGPL、外部の部品向けのヘッダーファイルはLGPLとする記述を参照(2026年10月確認)
  4. *4 参考:nginx.org「nginx」公式サイト(https://nginx.org/en/)。出典:nginxの役割(HTTPのWebサーバー・リバースプロキシ・ロードバランサー・TCP/UDPの中継など)と2条項BSDライセンスの記述を参照(2026年10月確認)
  5. *5 参考:nginx documentation「Using nginx as HTTP load balancer」(https://nginx.org/en/docs/http/load_balancing.html)。出典:振り分けの方式(round-robin・least-connected・ip-hash)、受け身の死活確認、有償版NGINX Plusで提供される機能の記述を参照(2026年10月確認)




View