当社はIT技術のオンライン教育を得意としたセミナー専門会社です。 | 一戸英男

ITエンジニアの技術力UPをお約束します。

NGINXでロードバランシングの実験を1台のマシン(仮想マシンもOK)でする方法

NGINXにはReverseProxy機能の中にロードバランシング機能がある。これを使うと簡単に手軽な振り分けでスケールアウトができてしまう。昔はF5のBIG IPの製品を使うことが多かったが今となってはCPUスペックも上がってソフトウェアレベルで簡単にできるからいい時代になった。更にクラウドの仮想マシン、Kubernetes側でも簡単にロードバランシングができる。凝ったロードバランシングをしたかったらこのNGINXのReverseProxy機能のロードバランシングは使えると思います。

nginxの本体設定とロードバランスのリスナー側設定

Linuxのディストリビューションはどれでも良いと思います。次のような本体側のnginx.confとporxy用の設定、仮想サーバの設定を用意しましょう。今回は仮想サーバを1台のコンピュータ上に4台立ててロードバランシングを行います。

以下の設定は/etc/nginx/conf.dの直下に配置する。proxy.confという名称で保存します。この設定は見てわかるようにロードバランスするReverseProxyの役割を行う。重み付けでweightの数を上げれば割当される頻度はあがる。

仮想サーバ3台(ロードバランスワーカー)設定

3つの仮想ドメインでサーバを起動する。1台のコンピュータ&1枚のNIC上で処理を行うためホスト名変更と各々ポート番号をずらす設定が必要となる。

サーバコンピュータ内のサーバ名を騙すため/etc/hosts内に架空のサーバ名を定義

NGINXの起動

<

アクセスしてログを確認