ロードバランサにきたリクエストをwebサーバー1とwebサーバー2へ振り分けできるようにする
まず、webサーバー2の設定をします。
webサーバー1と同じく、Nginxとphp-fpmのインストールまでします。
webサーバー2のIPアドレスへアクセス時の画像は以下のように背景を黄色にします。
次にwebのロードバランサにきたリクエストをwebサーバー1とwebサーバー2に流せるように設定します。
ちなみにNginxのロードバランシングの方法は以下の3種類があります。
1、ラウンドロビン
アプリケーションへのリクエストはラウンドロビンの形式で分配されます。何も設定していない時のデフォルトはラウンドロビンになります。
2、Least Connected
接続数が少ないサーバーに振り分ける方法。
3、IPハッシュ
同じIPアドレスからのアクセスを同じサーバーに振り分ける方法。サーバーが利用不可の場合を除いて常に同じサーバーに渡されることを保証します。なお、接続先のサーバーが利用不可の場合は他のサーバーに渡させる動きをします。
今回はラウンドロビンの設定にします。
/etc/nginx/にあるnginx.confのhttpブロックの中に以下を追加します。
upstream ロードバランサのIPアドレス{
server webサーバー1のIPアドレス;
server webサーバー2のIPアドレス;
}
server {
listen 80;
location / {
proxy_pass http://ロードバランサのIPアドレス;
}
}
Nginxを再起動します。
sudo systemctl restart nginx.service
これで、http://ロードバランサのIPアドレスにアクセスすると交互にwebサーバー1の赤い画面とwebサーバー2の黄色い画面が表示されれば疎通成功です。
ちなみにwebサーバー2のNginxをstopさせるとwebサーバー1のみ表示されるようになり、サーバーが利用不可の時も問題なく生きてるサーバーへ振り分けられます。