負荷分散の基本:NginxやApacheでのロードバランシング入門

Webサービスが成長するにつれて、アクセス集中やトラフィック増加によるサーバーの負荷は避けられない課題です。そんなときに活躍するのが「ロードバランサー(負荷分散装置)」。本記事では、NginxとApacheを用いた基本的なロードバランシングの考え方と設定方法について、サンプルコード付きでわかりやすく解説します。

ロードバランシングとは?負荷分散の基本概念

ロードバランシングとは、複数のサーバーにリクエストを分散する仕組みのことです。これにより、1台のサーバーに負荷が集中せず、システム全体の安定性と可用性が向上します。

主なメリット:

  • サーバー障害時の可用性確保(冗長化)
  • パフォーマンス向上(高速応答)
  • スケーラビリティの確保(柔軟な拡張)

ロードバランシングの方式:

方式説明
ラウンドロビンリクエストを順番にサーバーへ割り当てる基本方式
IPハッシュクライアントIPに基づいて同じサーバーに振り分ける
最小接続数(least_conn)接続数が最も少ないサーバーにリクエストを送る

Nginxでのロードバランシング設定方法

Nginxは軽量で高性能なWebサーバーであり、ロードバランサーとしての機能も非常に優れています。以下は、ラウンドロビンによるシンプルな設定例です。

1. 複数のバックエンドサーバーを定義

http {
    upstream backend_servers {
        server 192.168.1.101;
        server 192.168.1.102;
        server 192.168.1.103;
    }

    server {
        listen 80;
        location / {
            proxy_pass http://backend_servers;
        }
    }
}

2. 負荷分散方式を切り替える例(IPハッシュ)

upstream backend_servers {
    ip_hash;
    server 192.168.1.101;
    server 192.168.1.102;
}

補足:

  • proxy_pass ディレクティブはクライアントリクエストをバックエンドに転送します。
  • ip_hash を使うと同一クライアントは同一サーバーに接続されます(セッション維持向け)。

Apacheでのロードバランシング設定方法

Apacheでもモジュールを利用することでロードバランサーを構築できます。ここでは mod_proxymod_proxy_balancer を使用した構成例を紹介します。

1. 必要なモジュールの有効化(Ubuntu/Debian系)

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
sudo a2enmod lbmethod_byrequests

2. バーチャルホスト設定例

<VirtualHost *:80>
    ServerName example.com

    <Proxy "balancer://mycluster">
        BalancerMember http://192.168.1.201
        BalancerMember http://192.168.1.202
    </Proxy>

    ProxyPreserveHost On
    ProxyPass "/" "balancer://mycluster/"
    ProxyPassReverse "/" "balancer://mycluster/"
</VirtualHost>

ロードバランシングアルゴリズムの切替例

<Proxy "balancer://mycluster">
    BalancerMember http://192.168.1.201
    BalancerMember http://192.168.1.202
    ProxySet lbmethod=bytraffic
</Proxy>

まとめ:NginxとApacheで始める負荷分散の第一歩

Webサービスの安定稼働には、ロードバランシングの導入が不可欠です。
Nginxなら設定ファイルがシンプルでパフォーマンスも良好、Apacheなら既存の構成に統合しやすいという特長があります。
まずは手元のテスト環境でラウンドロビンから始め、徐々にセッション維持やヘルスチェックなどの応用的な仕組みに発展させていくとよいでしょう。

Contact

ウェブサイトの制作や運用に関わる
お悩みやご相談
お気軽にお問い合わせ下さい

ウェブサイトと一口に言っても、企業サイトやECサイト、ブログ、SNSなど、その“カタチ”は目的に応じてさまざまであり、構築方法や使用する技術も大きく異なります。株式会社コナックスでは、お客様のご要望やブランドの個性を丁寧に汲み取り、最適なウェブサイトの“カタチ”をご提案いたします。

デザイン、ユーザビリティ、SEO対策はもちろん、コンテンツ制作やマーケティング戦略に至るまで、あらゆるフェーズでお客様のビジネスに寄り添い、成果につながるウェブサイトづくりをサポートいたします。私たちは、ウェブサイトの公開をゴールではなくスタートと捉え、お客様のビジネスの成功に向けて共に伴走してまいります。