
NGINX PlusをTCP/UDP Load Balancerとして利用する
はじめに
本ブログでは、NGINX Plusを用いて実装するTCP/UDP Load Balancer機能についてご紹介します。
NGINX/NGINX Plusの概要につきましては、公開済みのブログ(NGINXとは? ~多様な用途に活用できるソフトウェアWebサーバ~)で紹介していますので、ご覧ください。
NGINX Plusのインストール
まず、Linux OSにNGINX Plusのインストールを行います。
NGINX Plusは、さまざまなLinux Distributionをサポートしており、以下ページにて対象のLinux Distributionを確認することができます。
NGINX Docs > Home > F5 NGINX Plus > Technical Specs > Supported Distributions
ここでは、いくつかのLinux Distributionでのインストール手順概要を簡単に紹介します。
なお、NGINX Plus には LTS(Long-Term Support)と CR(Continuous Release)の 2 種類のリリースがあります。LTS は安定性およびセキュリティ維持を重視した長期サポート向け、CR は最新機能および性能改善を継続的に取り込むためのリリースです。
メーカーの標準リポジトリ設定はデフォルトで CR を受信する構成であるため、本手順では CR パッケージのインストール手順を記載しています。
LTS を利用する場合は LTS 向けリポジトリを参照するよう設定変更が必要です。詳細は、以下のドキュメントをご参照ください。
・RHEL 9.0+ / Oracle Linux 9 / AlmaLinux 9 / Rocky Linux 9
上記Linux OSへのNGINX Plusのインストール手順概要を以下に記載いたします。
1.ライセンスファイル(nginx-repo.crt 及び nginx-repo.key)、トークンファイル(license.jwt)の入手
上記ファイルは、以下いずれかの手法にて取得ください。
入手方法は後述の内容を参照ください。
(※1) 正規ライセンス
(※2) 評価ライセンス
以降、NGINX PlusをインストールするLinux OSでの操作となります。
2./etc/ssl/nginxディレクトリを作成します。
3.ca-certificatesをインストールします。
4.nginx-repo.crtとnginx-repo.keyを/etc/ssl/nginx/ディレクトリに配置します。
5.NGINX Plus repositoryを追加します。
6.NGINX Plusをインストールします。
7.license.jwtを/etc/nginx/ディレクトリに配置します。
実際に利用するコマンド等については以下ドキュメントを参照ください。
■メーカードキュメント
・RHEL 9.0+ / Oracle Linux 9 / AlmaLinux 9 / Rocky Linux 9
Home > F5 NGINX Plus > Admin Guide > Installing NGINX and NGINX Plus > Installing NGINX Plus > RHEL-based 9.0+ CR packages
■弊社作成の日本語セットアップガイド
・NGINX Plus セットアップガイドインストールRHEL9 編
※以下リンクより該当資料のお申し込みが可能となっております。
・Ubuntu 22.04 LTS / 24.04 LTS / 26.04 LTS
上記Linux OSへのNGINX Plusのインストール手順概要を以下に記載いたします。
1.ライセンスファイル(nginx-repo.crt 及び nginx-repo.key)、トークンファイル(license.jwt)の入手
上記ファイルは、以下いずれかの手法にて取得ください。
入手方法は後述の内容を参照ください。
(※1) 正規ライセンス
(※2) 評価ライセンス
以降、NGINX PlusをインストールするLinux OSでの操作となります。
2./etc/ssl/nginxディレクトリを作成します。
3.nginx-repo.crtとnginx-repo.keyを/etc/ssl/nginx/ディレクトリに配置します。
4.下記パッケージをインストールします。
・apt-transport-https
・lsb-release
・ca-certificates
・wget
・gnupg2
・ubuntu-keyring
5.NGINX signing keyをインストールします。
6.NGINX Plus repositoryを追加します。
7.nginx-plus apt configurationをダウンロードします。
8.NGINX Plusをインストールします。
9.license.jwtを/etc/nginx/ディレクトリに配置します。
実際に利用するコマンド等については以下ドキュメントを参照ください。
■メーカードキュメント
・Ubuntu 22.04 LTS / 24.04 LTS / 26.04 LTS
Home > F5 NGINX Plus > Admin Guide > Installing NGINX and NGINX Plus > Installing NGINX Plus > Ubuntu CR packages
■弊社作成の日本語セットアップガイド
・NGINX Plus セットアップガイドインストールUbuntu 編
※以下リンクより該当資料のお申し込みが可能となっております。
・Amazon Linux 2023
上記Linux OSへのNGINX Plusのインストール手順概要を以下に記載いたします。
1.ライセンスファイル(nginx-repo.crt 及び nginx-repo.key)、トークンファイル(license.jwt)の入手
上記ファイルは、以下いずれかの手法にて取得ください。
入手方法は後述の内容を参照ください。
(※1) 正規ライセンス
(※2) 評価ライセンス
以降、NGINX PlusをインストールするLinux OSでの操作となります。
2./etc/ssl/nginxディレクトリを作成します。
3.ca-certificatesをインストールします。
4.nginx-repo.crtとnginx-repo.keyを/etc/ssl/nginx/ディレクトリに配置します。
5.NGINX Plus repositoryを追加します。
6.NGINX Plusをインストールします。
7.license.jwtを/etc/nginx/ディレクトリに配置します。
実際に利用するコマンド等については以下ドキュメントを参照ください。
■メーカードキュメント
・Amazon Linux 2023
Home > F5 NGINX Plus > Admin Guide > Installing NGINX and NGINX Plus > Installing NGINX Plus > Amazon Linux 2023 CR packages
上記以外のLinux Distributionにおけるインストール手順は以下ドキュメントに記載がございます。NGINX PlusをインストールされるLinux OSのご要件に応じて、ご確認ください。
(※1)
・サブスクリプションを契約済みのお客様に限ります。
・F5社のMyF5 Customer Portalからダウンロードを実施ください。
(※2)
・弊社から提供可能です。以下サイトよりお気軽にご連絡ください。
ご依頼後、ダウンロードURLが記載されたメールが届きますので、対象ファイルをダウンロードください。
NGINX Plusの設定(コンフィグ)ファイルの構成
インストール直後のNGINX Plusの設定(コンフィグ)ファイルは、概ね以下のような構成となっています。
- /etc/nginx/
- nginx.conf
- mime.types
- modules/
- conf.d/
- default.conf
・「~/nginx.conf」:全般的な設定の定義ファイル
・「~/mime.types」:MIMEタイプの定義ファイル
・「~/modules」:各種モジュールの設定ファイルを格納
・「~/conf.d/default.conf」:Defaultで動作する server 設定の定義ファイル
また、「~/conf.d/」ディレクトリに、拡張子を「.conf」とした設定(コンフィグ)ファイルを配置することで設定の追加を行うことができます。
TCP/UDP Load Balancerの設定
NGINX Plusのインストール完了後、NGINX Plusの設定を行います。以下の1~3の手順を実施する必要があります。
※設定(コンフィグ)ファイルの例として、
「/etc/nginx/stream.conf.d/nginx.example.com.conf」を使用します。実際の配置先は、nginx.conf に定義された include 設定に応じてご調整ください。
1.設定(コンフィグ)ファイルの作成
設定(コンフィグ)ファイル「/etc/nginx/stream.conf.d/nginx.example.com.conf」を作成します。
2.設定(コンフィグ)ファイルのテスト
以下コマンドで、NGINX Plusの設定(コンフィグ)のテストを行います。
$ nginx -t
3.設定(コンフィグ)ファイルの読み込み
以下コマンドで、NGINX Plusを再起動し、設定(コンフィグ)を反映します。
メッセージが出力されることなくreloadが完了すれば、問題なく設定(コンフィグ)の反映が完了しています。
$ nginx -s reload
※必要に応じて、LinuxのFWやSElinux機能の設定を行ってください。
NGINX Plusの設定(コンフィグ)ファイルのサンプルなどについては、以下ドキュメントをご参照ください。
■メーカードキュメント
NGINX Docs > Home > F5 NGINX Plus > Admin Guide > Load Balancer > TCP and UDP Load Balancing
■弊社作成の日本語セットアップガイド
・NGINX Plus セットアップガイド TCP,UDP ロードバランサー編
※以下リンクより該当資料のお申し込みが可能となっております。
NGINX Plus で利用可能なTCP/UDPロードバランシング方式
NGINX Plus で利用可能なTCP/UDPロードバランシング方式は以下となります。
方式 | 内容 |
Round Robin | ラウンドロビン。デフォルトの負荷分散方式。アップストリームグループ内のサーバに順番に振り分けを行います。 |
Least Connections | 最小接続数。接続中コネクションが最も少ないアップストリームサーバに振り分けを行います。 |
Least Time | 最短時間。アップストリームサーバの最小コネクションと最小レスポンスタイムの情報を元に振り分けを行います。NGINX Plusでのみ使用可能です。 |
Hash | ハッシュ。ユーザ定義のキー(クライアントのIPアドレスなど)を基にリクエスト送信先を決定する方式。クライアントの IP アドレスをキーとした場合、対象サーバがダウンしていない限り、同一アドレスからのリクエストは同じサーバに送信されます。 |
Random | ランダム。この方式はNGINXの重みを考慮した上で、アップストリームグループ内のサーバにランダムに振り分けを行います。 |
Server Weight | 重み付け。優先的に振り分けを行いたいサーバに対して重み付けを設定することが可能です。 |
おわりに
「NGINX Plus」を用いて、TCP/UDP Load Balancerとして利用する方法について、紹介させていただきました。
「NGINX」は、インストールも設定も簡単なうえに、さまざまなLinux Distributionをサポートしています。使い慣れたLinux Distributionにインストールし、お使いいただければと思います。本内容がNGINXのご活用へ向けての一助になれば幸いです。
NGINXに関してご興味・ご関心がございましたら、以下サイトよりお気軽に弊社までお問い合わせください。



