ロードバランサーの基礎 ― 中小企業の自社サービス公開・冗長化の選択肢を整理

「自社Webサービスを冗長化したい」「サーバ1台では捌ききれない」「アクセス急増で落ちた」――業務でWebサービスを運営する中小企業が必ず通る課題が**ロードバランサー(負荷分散装置)**の導入です。

ロードバランサーは「複数のサーバに負荷を振り分ける」だけでなく、冗長化・SSL終端・セキュリティ機能まで担う重要なインフラ機器です。本記事では、中小企業の情シスが自社サービス公開・冗長化を検討する際に押さえるべきロードバランサーの基礎を整理します。

ロードバランサーとは

ロードバランサー(Load Balancer, LB)は、複数のサーバに通信を分散して送るための機器・ソフトウェアです。クライアントから見れば1つのアドレス(VIP: Virtual IP)に接続しているだけですが、内部では複数のサーバに振り分けられています。

[クライアント]


[ロードバランサー(VIP)]
     │ 振り分け
  ┌──┴──┬──────┐
  ▼     ▼      ▼
[Web1][Web2][Web3]

主な役割:

① 負荷分散。 複数サーバへトラフィックを分散し、1台あたりの負荷を抑制。

② 冗長化(高可用性)。 1台のサーバが故障しても、他のサーバで継続稼働。

③ ヘルスチェック。 各サーバの応答を定期確認し、異常時は自動的に振り分け対象から除外。

④ SSL/TLS終端。 クライアント⇔LB間を暗号化、LB⇔サーバ間は平文として、サーバ側のCPU負荷を軽減。

⑤ セキュリティ。 WAF(Webアプリケーションファイアウォール)連携、DDoS緩和、レート制限。

L4ロードバランサー と L7ロードバランサー

ロードバランサーは、動作するOSI参照モデルの階層で2種類に分かれます。

種別動作層振り分け基準用途
L4 LBトランスポート層IP・TCPポート高速・低レイテンシ。汎用通信
L7 LBアプリケーション層HTTPヘッダ・URL・CookieWebアプリケーション特化

L4ロードバランサー

IPアドレスとポート番号だけを見て振り分けるため、処理が高速でWeb以外の通信(メール、FTP、独自プロトコル等)にも使えます。複雑なルーティングは苦手

例:AWS NLB(Network Load Balancer)、Azure Load Balancer、HAProxy(L4モード)、Linux Virtual Server(LVS)

L7ロードバランサー

HTTPヘッダの中身まで見て振り分けるため、URL別、ホスト名別、Cookie別などの細かい制御が可能。Webアプリケーション特化で、SSL終端・WAF・キャッシュ等の機能が豊富。

例:AWS ALB(Application Load Balancer)、Azure Application Gateway、Nginx、HAProxy(L7モード)、Apache mod_proxy

中小企業のWebサービス公開では、L7ロードバランサーが標準です。

振り分けアルゴリズム

ロードバランサーがリクエストをどのサーバに振るかの方式:

アルゴリズム概要
ラウンドロビン順番に振る。最も単純
重み付きラウンドロビンサーバの性能差を反映して比率配分
最小コネクション接続数が最も少ないサーバへ
IPハッシュクライアントIPで固定的に振る(セッション維持)
URLハッシュURLで固定的に振る(キャッシュ効率向上)

セッションを維持したいWebアプリ(ログイン状態を保ちたいなど)では、IPハッシュまたは**Cookie維持(Sticky Session)**を使うのが定番です。

中小企業向けロードバランサーの選択肢

① ハードウェアロードバランサー(高価格帯)

製品概要
F5 BIG-IP業界標準。エンタープライズ向け
Citrix NetScaler大規模Webサービス向け
A10 Thunder国内導入実績あり

1台あたり数百万〜数千万円規模で、中小企業ではほぼ採用されません。エンタープライズ要件の場合のみ選択肢に入ります。

② ソフトウェアロードバランサー(オープンソース)

製品概要
NginxWebサーバ兼用L7 LB。中小企業の定番
HAProxyL4/L7両対応。高性能
Apache mod_proxy_balancerApacheベース
Traefikコンテナ環境向け
Envoyサービスメッシュ系

Linux VM上にNginxまたはHAProxyを構築する構成は、中小企業のWebサービス基盤として最もコスト効率の良い選択肢です。

③ クラウドロードバランサー(SaaS/マネージド)

サービス提供元種別
AWS ALBAWSL7
AWS NLBAWSL4
Azure Application GatewayMicrosoftL7 + WAF
Azure Load BalancerMicrosoftL4
Google Cloud Load BalancingGoogleL4/L7
Cloudflare Load BalancerCloudflareL7 + CDN

クラウドのマネージドLBは、冗長化・スケーリング・監視が組み込みで、中小企業のWebサービス公開で最も推奨される選択肢です。月額1〜3万円程度から利用可能。

④ CDN兼用ロードバランサー

サービス概要
CloudflareDDoS防御 + CDN + LB
AkamaiエンタープライズCDN + LB
Fastlyエッジコンピューティング

自社サービスを公開していて、攻撃対策・速度改善も重要な場合、CloudflareやFastlyが第一選択肢になります。月額数千円から始められ、無償プランもあります。

中小企業の構成例

構成例1:シンプルなWeb冗長化(オンプレ)

[インターネット]

[FortiGate/UTM]

[Linux VM: Nginx LB]

  ┌──┴──┐
[Web1]  [Web2]
  │      │
  └──┬──┘

[NAS / DB]

社内Web基盤、小規模ECサイト、社内ポータル等。Nginx 1台 + Web 2台で構成。月額追加コスト:数万円(VM運用費)。

構成例2:クラウド完全マネージド

[インターネット]

[Cloudflare / CDN+WAF]

[AWS ALB / Azure App Gateway]

[EC2 × 2台 または Container Apps]

[Aurora / Azure SQL]

自社開発のSaaSサービス、顧客向けWebアプリ、ECサイト等。冗長化・スケーリング・WAFがセットで運用できる。月額:5〜30万円規模。

構成例3:オンプレ・クラウドハイブリッド

オンプレのWebサーバを、Cloudflare Load Balancer経由で公開し、障害時はクラウド側のフェイルオーバー先に切り替え。BCP対策として有効。

ロードバランサー導入で押さえるべきポイント

① セッション維持(Sticky Session)

ログイン状態を保つWebアプリの場合、同じクライアントを同じサーバに振り続ける必要があります。Cookie維持が一般的で、ALBやNginxで簡単に設定できます。

セッション情報をRedisやデータベースに集約する外部セッションストア方式を取れば、Sticky不要で純粋に負荷分散できます。

② SSL/TLS終端

ロードバランサーでSSL終端する設計が一般的。クライアント⇔LB間がHTTPS、LB⇔サーバ間がHTTPで、サーバ側のCPU負荷を軽減できます。

ただし、社内ネットワーク内でも暗号化が必要な業界(金融、医療等)では、LB⇔サーバ間もHTTPSにする「SSLパススルー」または「SSLブリッジ」を検討してください。

③ ヘルスチェックの設定

ヘルスチェック設定が甘いと、故障サーバに振り分け続けて全リクエスト失敗という事態が起きます。

  • ヘルスチェックエンドポイントを専用に作る(/health 等)
  • 応答が200以外なら除外
  • 連続N回失敗で除外、連続M回成功で復帰
  • 正常系のレスポンス内容まで検証する(HTTP 200を返すが中身が異常な場合あり)

④ ログ集約

ロードバランサーのアクセスログは、全Webリクエストの入り口にあたります。SIEM・Datadog・CloudWatch等に集約して、攻撃検知・性能分析に使ってください。

⑤ WAF併用

公開Webサービスでは、WAF(Web Application Firewall)併用が事実上必須です。

  • AWS WAF(ALB併用)
  • Azure WAF(Application Gateway内蔵)
  • Cloudflare WAF
  • Akamai Kona Site Defender

SQLインジェクション、XSS、ボットアクセス、DDoS攻撃の緩和に大きく寄与します。

ロードバランサー導入で陥りやすい失敗

① 冗長化と称してロードバランサー1台で構成。 LB自体が単一障害点になります。クラウドLBはマネージドで自動冗長化されているが、自前構築のNginx/HAProxyは**Active/Standby構成(Keepalived等)**にする必要があります。

② SSL終端でTLS 1.0/1.1のサポートを残す。 監査・PCI DSS等で指摘されます。TLS 1.2以上のみを有効化。

③ ヘルスチェック先がトップページ。 トップページは複雑な処理を行うため重い。専用の軽量エンドポイントを用意してください。

④ DBサーバへの負荷集中を見落とす。 Webサーバを5台に増やしても、DBが1台のままなら結局DBがボトルネック。DB側の冗長化・スケールもセットで考えてください。

⑤ クラウドLBの料金を見誤る。 「データ転送量に応じた課金」「リクエスト数課金」等で、想定外の月額になるケース。事前に料金シミュレーションを実施してください。

まとめ

ロードバランサーは「負荷分散+冗長化+SSL終端+セキュリティ」の基盤機能を担う重要なインフラ要素です。中小企業の選択肢は「Nginx/HAProxy(オンプレ)」「クラウドマネージドLB(AWS ALB / Azure App Gateway)」「Cloudflare等のCDN兼用LB」の3パターンが現実的で、用途・予算・運用体制で選び分けます。SSL終端・ヘルスチェック・WAF併用・DBの並行スケーリングは、設計段階から織り込んでください。

情シス365のProject365では、自社サービス公開・冗長化のためのロードバランサー設計・構築を支援しています。無料ヒアリングからお気軽にどうぞ。

あわせて読みたい

情シスのお悩み、ご相談ください

専門スタッフが貴社の課題に合わせたご提案をいたします。

メールでのお問い合わせはこちら →
60分無料相談