NGINX Plus を HTTP Load Balancer として利用する
<目次>
目次[非表示]
はじめに
本ブログでは、NGINX Plusを用いて実装するHTTP 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でのインストール手順概要を簡単に紹介します。
RHEL 9.0+ / Oracle Linux 9 / AlmaLinux 9 / Rocky Linux 9
上記Linux OSへのNGINX Plusのインストール手順概要を以下に記載いたします。
- ライセンスファイル(nginx-repo.crt 及び nginx-repo.key)の入手
上記ファイルは、以下いずれかの手法にて取得ください。
入手方法は後述の内容を参照ください。
(※1) 正規ライセンス
(※2) 評価ライセンス
以降、NGINX PlusをインストールするLinux OSでの操作となります。
- /etc/ssl/nginxディレクトリを作成します。
- ca-certificatesをインストールします。
- nginx-repo.crtとnginx-repo.keyを/etc/ssl/nginx/ディレクトリに配置します。
- NGINX Plus repositoryを追加します。
- NGINX Plusをインストールします。
実際に利用するコマンド等については以下ドキュメントを参照ください。
■メーカードキュメント
- 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 > Installing NGINX Plus on RHEL 9.0+, Oracle Linux 9, AlmaLinux 9, Rocky Linux 9
■弊社作成の日本語セットアップガイド
- NGINX Plus セットアップガイドインストールRHEL9 編
※以下リンクより該当資料のお申し込みが可能となっております。
NGINX:資料ダウンロード
Ubuntu 20.04 LTS / 22.04 LTS / 24.04 LTS
上記Linux OSへのNGINX Plusのインストール手順概要を以下に記載いたします。
- ライセンスファイル(nginx-repo.crt 及び nginx-repo.key)の入手
上記ファイルは、以下いずれかの手法にて取得ください。
入手方法は後述の内容を参照ください。
(※1) 正規ライセンス
(※2) 評価ライセンス
以降、NGINX PlusをインストールするLinux OSでの操作となります。
- /etc/ssl/nginxディレクトリを作成します。
- nginx-repo.crtとnginx-repo.keyを/etc/ssl/nginx/ディレクトリに配置します。
- 下記パッケージをインストールします。
・apt-transport-https
・lsb-release
・ca-certificates
・wget
・gnupg2
・ubuntu-keyring
- NGINX signing keyをインストールします。
- NGINX Plus repositoryを追加します。
- nginx-plus apt configurationをダウンロードします。
- NGINX Plusをインストールします。
実際に利用するコマンド等については以下ドキュメントを参照ください。
■メーカードキュメント
- Ubuntu 20.04 LTS / 22.04 LTS / 24.04 LTS
Home > F5 NGINX Plus > Admin Guide > Installing NGINX and NGINX Plus > Installing NGINX Plus > Installing NGINX Plus on Debian or Ubuntu
■弊社作成の日本語セットアップガイド
- NGINX Plus セットアップガイドインストールUbuntu 編
※以下リンクより該当資料のお申し込みが可能となっております。
NGINX:資料ダウンロード
Amazon Linux 2023
上記Linux OSへのNGINX Plusのインストール手順概要を以下に記載いたします。
- ライセンスファイル(nginx-repo.crt 及び nginx-repo.key)の入手
上記ファイルは、以下いずれかの手法にて取得ください。
入手方法は後述の内容を参照ください。
(※1) 正規ライセンス
(※2) 評価ライセンス
以降、NGINX PlusをインストールするLinux OSでの操作となります。
- /etc/ssl/nginxディレクトリを作成します。
- ca-certificatesをインストールします。
- nginx-repo.crtとnginx-repo.keyを/etc/ssl/nginx/ディレクトリに配置します。
- NGINX Plus repositoryを追加します。
- NGINX Plusをインストールします。
実際に利用するコマンド等については以下ドキュメントを参照ください。
■メーカードキュメント
- Amazon Linux 2023
Home > F5 NGINX Plus > Admin Guide > Installing NGINX and NGINX Plus > Installing NGINX Plus > Installing NGINX Plus on Amazon Linux 2023
上記以外のLinux Distributionにおけるインストール手順は以下ドキュメントに記載がございます。NGINX PlusをインストールされるLinux OSのご要件に応じて、ご確認ください。
NGINX Docs > Home > F5 NGINX Plus > Admin Guide > Installing NGINX and NGINX Plus > Installing NGINX Plus
(※1)
・サブスクリプションを契約済みのお客様に限ります。
・F5社のMyF5 Customer Portalからダウンロードを実施ください。
(※2)
・弊社から提供可能です。以下サイトよりお気軽にご連絡ください。
テクマトリックス NGINX紹介ページ
ご依頼後、ダウンロード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」とした設定(コンフィグ)ファイルを配置することで設定の追加を行うことができます。
HTTP Load Balancerの設定
NGINX Plusのインストール完了後、NGINX Plusの設定を行います。以下の1~3の手順を実施する必要があります。
※作成する設定(コンフィグ)ファイルは、「/etc/nginx/conf.d/nginx.example.com.conf」とします。
- 設定(コンフィグ)ファイルの作成
設定(コンフィグ)ファイル「/etc/nginx/conf.d/nginx.example.com.conf」を作成します。
- 設定(コンフィグ)ファイルのテスト
以下コマンドで、NGINX Plusの設定(コンフィグ)のテストを行います。
$ nginx -t
- 設定(コンフィグ)ファイルの読み込み
以下コマンドで、NGINX Plusを再起動し、設定(コンフィグ)を反映します。
メッセージが出力されることなくreloadが完了すれば、問題なく設定(コンフィグ)の反映が完了しています。
$ nginx -s reload
※必要に応じて、LinuxのFWやSElinux機能の設定を行ってください。
NGINX Plusの設定(コンフィグ)ファイルのサンプルなどについては、以下ドキュメントをご参照ください。
■メーカードキュメント
NGINX Docs > Home > F5 NGINX Plus > Admin Guide > Load Balancer > HTTP Load Balancing
■弊社作成の日本語セットアップガイド
- NGINX Plus セットアップガイド ロードバランサー編
※以下リンクより該当資料のお申し込みが可能となっております。
NGINX:資料ダウンロード
HTTPS Load Balancerの設定
ClientとNGINX Plus間をHTTPSで通信させるHTTPS Load Balancerを設定するには、以下の1~4の手順を実施する必要があります。
作成する設定(コンフィグ)ファイルは、「/etc/nginx/conf.d/nginx.example.com.ssl.conf」とします。
- SSL証明書及び秘密鍵の配置
SSL証明書ファイルおよび秘密鍵ファイルを/etc/nginx/ssl/ディレクトリに配置します。
- 設定(コンフィグ)ファイルの作成
設定(コンフィグ)ファイル「/etc/nginx/conf.d/nginx.example.com.ssl.conf」を作成します。
- 設定(コンフィグ)ファイルのテスト
以下コマンドで、NGINX Plusの設定(コンフィグ)のテストを行います。
$ nginx -t
- 設定(コンフィグ)ファイルの読み込み
以下コマンドで、NGINX Plusを再起動し、設定(コンフィグ)を反映します。
メッセージが出力されることなくreloadが完了すれば、問題なく設定(コンフィグ)の反映が完了しています。
$ nginx -s reload
NGINX Plusの設定(コンフィグ)ファイルのサンプルなどについては、以下ドキュメントをご参照ください。
■弊社作成の日本語セットアップガイド
- NGINX Plus セットアップガイド ロードバランサー SSL編
※以下リンクより該当資料のお申し込みが可能となっております。
NGINX:資料ダウンロード
NGINX Plus で利用可能なロードバランシング方式
NGINX Plus で利用可能なロードバランシング方式は以下となります。
方式 |
内容 |
Round Robin |
ラウンドロビン。デフォルトの負荷分散方式。アップストリームプール内のサーバリストの順番で振り分けを行います。 |
Least Connections |
最小接続数。接続中コネクションが最も少ないアップストリームサーバに振り分けを行います。 |
IP Hash |
IPハッシュ。クライアントのIPアドレスからリクエスト送信先を決定する方法。同じアドレ スからのリクエストは、利用できない場合を除き、同じサーバに到達することが保証されます。 |
Generic Hash |
ジェネリックハッシュ。定義された文字列、変数、あるいはその組み合わせであるキーからリクエスト送信先を決定する方式。 |
Least Time |
最短時間。アップストリームサーバの最小コネクションと最小レスポンスタイムの情報を元 に振り分けを行います。NGINX Plusでのみ使用可能です。 |
Random |
ランダム。この方式はNGINXの重みを考慮した上で、アップストリームサーバグループか らランダムに振り分けを行います。 |
Server Weight |
重み付け。優先的に振り分けを行いたいサーバに対して重み付けを設定することが可能です。 |
おわりに
「NGINX Plus」を用いて、HTTP Load Balancer及びHTTPS Load Balancerとして、利用する方法を紹介させていただきました。
「NGINX」は、インストールも設定も簡単なうえに、さまざまなLinux Distributionをサポートしています。使い慣れたLinux Distributionにインストールし、お使いいただければと思います。本内容がNGINXのご活用へ向けての一助になれば幸いです。
NGINXに関してご興味・ご関心がございましたら、以下サイトよりお気軽に弊社までお問い合わせください。
「テクマトリックス NGINX紹介ページ」
また、同ページにて「NGINX」に関する動画も公開しておりますので、ぜひご覧ください。
BIG-IPのリプレースについてはこちらから