2026年10月15日
2026年10月15日
Nginxのロードバランシングを設定する方法
はじめに
Nginxは高パフォーマンスで信頼性の高いウェブサーバーや反転プロキシとして広く使用されています。ロードバランシング機能を有するため、複数のWebサーバー間で負荷を分散し、システム全体の可用性とパフォーマンスを向上させることができます。本記事では、Nginxを使用してロードバランシングを設定する方法について詳しく解説します。
症状・背景
- ホストサーバーの負荷が高まり、応答時間が遅くなる場合
- 一部のサーバーが過度に利用され、他のサーバーが未活用な場合
- サーバーの障害やダウンタイムを避けるために複数のサーバーを使用している場合
手順・設定方法
ステップ1: Nginxのインストールと設定ファイルの作成
# Nginxがインストールされているか確認します
sudo apt-get update
sudo apt-get install nginx
# 設定ファイルを作成または編集します(/etc/nginx/nginx.conf)
sudo nano /etc/nginx/nginx.conf
ステップ2: バランスされたサーバーリストの設定
# サーバリストを設定します(/etc/nginx/conf.d/backend.conf)
upstream backend {
server 192.168.1.10;
server 192.168.1.11;
server 192.168.1.12;
}
# Nginxのコンフィグレーションファイルを編集します
sudo nano /etc/nginx/sites-available/default
# location設定を追加または修正します
location / {
proxy_pass http://backend;
}
ステップ3: バランスアルゴリズムの指定
# サーバー間の負荷分散アルゴリズムを指定します(/etc/nginx/conf.d/backend.conf)
upstream backend {
server 192.168.1.10;
server 192.168.1.11;
server 192.168.1.12;
# ラウンドロビンで負荷を分散します
# roundrobin;
# 最も短い応答時間を待つサーバーにリクエストを送信します
# least_conn;
}
# Nginxの設定を再読み込みします
sudo systemctl reload nginx
ステップ4: テストとモニタリング
# Nginxが正常に動作しているか確認します
curl -I http://yourdomain.com
# Nginxのログファイルを監視します(/var/log/nginx/access.log)
tail -f /var/log/nginx/access.log
注意事項
- サーバーリストは動的に更新できるように設計すること
- ネットワーク接続状態を定期的に確認すること
- 重要な変更後は、変更が意図した通りに動作しているかテストする
- Nginxのバージョンアップ時に設定ファイルを適応させる
まとめ
1. サーバーリストの作成: ロードバランシングを行うためのサーバー一覧を作成します。
2. 負荷分散アルゴリズムの指定: サーバー間でどのように負荷を分散させるかを設定します。
3. Nginx設定ファイルの編集: Nginxが指定されたサーバーリストと負荷分散アルゴリズムを使用するように設定します。
4. テストとモニタリング: 設定変更後の動作確認を行い、問題がある場合は修正を行います。
関連記事: