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. テストとモニタリング: 設定変更後の動作確認を行い、問題がある場合は修正を行います。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ
▲