
- ライター:植谷 昌博
- 2017年にネットワンシステムズ株式会社に入社し、CiscoのWireless製品担当として技術調査、検証評価、提案および導入支援に従事。
現在は、セキュリティ分野の担当領域拡大のため、F5製品を対応中。
目次
はじめに
動作確認
監視機能:
ライブアクティビティモニタリング(NGINX Plusのみ)
アクティブヘルスチェック(NGINX Plusのみ)
負荷分散:
最小コネクション+重み付け方式
■ライブアクティビティモニタリング
NGINX Plusには、リアルタイムにアクティビティ監視できる機能があり、負荷分散対象サーバのステータスやNGINX Plusのステータスを確認することが可能です。ライブアクティビティモニタリングのデータは、NGINX PlusAPIで生成されています。
設定としては下記となりますが、ライブアクティビティモニタリングへステータス情報を表示させるためには、項目ごとに別途設定が必要となります。
上記にてapi write=onとなっていますが、APIを用いてUpstream(サーバグループ)の変更やステータス情報をクリアする際に必要となるためです。ステータス情報の取得のみの場合は、不要となります。
また、検証環境ためAPIへのアクセス制御は実施しておりませんが、本番環境などの場合はAPIのアクセス制御をお勧めします。ここでは、負荷分散機能で用いるUpstream(サーバグループ)項目やヘルスチェック項目に着目して設定を紹介します。
・Upstream(サーバグループ)項目
ステータス情報を表示させるには、Upstream(サーバグループ)内で共有メモリーゾーン(zone)を設定する必要があります。
・ヘルスチェック項目
ステータス情報を表示させるには、ヘルスチェックが有効となっていること、かつ対象のUpstream(サーバグループ)で共有メモリーゾーンが設定されていることとなります。
設定例としては下記となります。
※IPアドレスについては一部、マスクしております。

http://<IPアドレス>/dashboard.html
その中にヘルスチェック項目も含まれています。
Upstreamの各サーバに対してデフォルト5秒間隔で、ヘルスチェックを実施します。
location内、proxy_pass下で定義します。
設定例では、ポート指定するパラメータを使用しています。
※IPアドレスについては一部、マスクしております。

最小コネクションの場合は、Upstream内にて下記のように定義します。
重み付けをプラスすることで、負荷分散対象サーバのパフォーマンスが異なる場合なども効率よく分散可能となります。
※NGINX(OSS)、NGNIX Plusともにデフォルトの負荷分散方式はラウンドロビンとなるため、ラウンドロビンの場合、定義は不要となります。
設定例としては下記となります。
※IPアドレスについては一部、マスクしております。

ライブアクティビティモニタリングのHTTP Upstreamsからも最小コネクション+重み付け方式にて負荷分散されていることが確認できます。
まとめ
今回は、NGINX Plusの監視機能であるライブアクティビティモニタリング、アクティブヘルスチェック、またNGINX(OSS)、NGINX Plus共通で利用可能な負荷分散機能である最小コネクション+重み付け方式に着目してご紹介しました。
また、今回はご紹介できておりませんが、NGINX Controllerと組み合わせることによってNGINX Plusを統合管理することも可能となります。
これからNGINX Plusを勉強しようと思われている方、導入予定・検討している方の参考となれば幸いです。
※本記事の内容は執筆者個人の見解であり、所属する組織の見解を代表するものではありません。