Apache でロードバランシングを実現する方法
負荷分散を実現するために、Apacheのモジュール mod_proxy と mod_proxy_balancer を利用できます。
ここでは、簡単な手順を説明します。
- Apache がインストールされていることを確認し、mod_proxy および mod_proxy_balancer モジュールが有効化されていることを確認します。ターミナルで a2enmod proxy および a2enmod proxy_balancer を実行することでこれら 2 つのモジュールを有効化できます。
- 通常は/etc/apache2/apache2.confか/etc/httpd/httpd.confであるApacheの設定ファイルへ、ファイルの末尾に以下を追加します。
ProxyPass / balancer://mycluster/
ProxyPassReverse / balancer://mycluster/
ProxyPreserveHost On
<Proxy balancer://mycluster>
BalancerMember http://server1.example.com:8080
BalancerMember http://server2.example.com:8080
# 添加更多的服务器节点
</Proxy>
ProxyPassおよびProxyPassReverseディレクティブを使用して、負荷分散クラスタ内のサーバーノードにリクエストを転送します。BalancerMemberディレクティブは、個々のサーバーノードのURLを指定します。
- apache2サービスを再起動します。
- apache2を再起動します
Apacheがリクエストをロードバランサーのクラスタ内のサーバーノードに転送することでロードバランシングを実現します。負荷をバランスするために、必要なに応じてサーバーノードを追加できます。