NGINX Plus リリース 11 (R11)の提供開始を発表できることを嬉しく思います。 このリリースでは、製品の拡張とカスタマイズを容易にし、さらに幅広い展開をサポートできるように、NGINX Plus にいくつかの新機能を提供します。
NGINX Plus R11 では、動的モジュールのバイナリ互換性が導入されています。 つまり、NGINX Open Source に対してコンパイルされた動的モジュールを NGINX Plus にロードできるということです。
さまざまなオープンソースおよび市販のモジュールから、多数のサードパーティ製 NGINX モジュールを活用して、NGINX Plus の機能を拡張および追加できます。 開発者は、サポートされている NGINX Plus コアに基づいて、カスタム拡張機能、アドオン、および新製品を作成できます。
NGINX Plus R11では、他にも多くの機能強化が追加されています。
NGINX Plus R11 の詳細
NGINX コミュニティは、セキュリティ ソリューション、認証モジュール、さらにはLuaなどの完全なアプリケーション ランタイム環境など、NGINX オープン ソースの幅広いモジュール拡張機能を開発してきました。
私たちは、NGINX Plus 用のこれらのサードパーティ モジュールの一部を構築および保守し、リリースごとに更新して、NGINX Plus リポジトリを通じて配布しています。 これらのビルドは NGINX Plus で正しく動作することが認定されており、弊社のサポート チームがインストールと基本的な構成の技術サポートを提供します。
R11 リリースでは、対応する NGINX オープンソース リリースに準拠するサードパーティ モジュールをコンパイルし、これらのモジュールを安全に NGINX Plus にロードできるようになりました。
NGINX Plus の各リリースは、NGINX Open Source のバージョンに基づいて構築されています。 nginx
-v
を実行して、一致するオープンソースのバージョン番号を確認します。NGINX Plus R11の場合は、NGINX 1.11.5 になります。
$ nginx -v nginx バージョン: nginx/1.11.5 (nginx-plus-r11)
動的モジュールをコンパイルするには、まず、NGINX Plus バージョンのベースとなる NGINX ソース コードを取得します (ここでは、 NGINX Plus R11の場合はnginx-1.11.5
)。
$ wget https://nginx.org/download/nginx-1.11.5.tar.gz $ tar -xzvf nginx-1.11.5.tar.gz
次に、新しい--with-compat
引数を指定してconfigure
コマンドを実行し、NGINX Plus と互換性のある標準ビルド環境を作成します。
$ cd nginx-1.11.5 $ ./configure --with-compat --add-dynamic-module=/path/to/module $モジュールを作成する
NGINX Plus で操作するための独自のモジュールのコンパイルの詳細については、ブログの「NGINX Plus 用の動的モジュールのコンパイル」<.htmla> を参照してください。
自分でコンパイルしたモジュール (コミュニティ モジュール、サードパーティ パートナーが提供するモジュール、カスタム モジュール) は、NGINX ではテストもサポートもされていません。問題に関するテクニカル サポートを依頼する場合、NGINX テクニカル サポート チームは、サポートされていないモジュールを削除して、テクニカル サポート プロセスの一環として障害を再現し、障害がサポートされていないモジュールによって発生したかどうかを確認するよう依頼することがあります。
NGINX Plus R11 は、 TCP および UDP ロード バランシングの主要な機能強化により、より幅広いアプリケーションをサポートします。
NGINX Plus の TCP/UDP ロードバランサーを使用して、SSL/TLS 接続を復号化せずに負荷分散できるようになりました。 これは、SSL/TLS で暗号化された接続をリモート サーバーに転送する必要がある、安全な環境またはトラフィック量の多い環境で役立ちます。
新しい SSL サーバー名の事前読み取り機能により、 NGINX Plus R11 は各着信 SSL/TLS 接続を検査し、接続をルーティングするターゲット ドメイン (Server Name Indication [SNI] 値など) を決定できます。
SSL サーバー名は、新しい$ssl_preread_server_name
変数で提供されます。 SSL/TLS ハンドシェイクの SNI フィールドから抽出されたターゲット ホストの名前が含まれます。
変数は、 proxy_pass
ディレクティブの引数として、または仮想サーバーのアクセス ログのフィールドとして使用できます。 この機能を有効にするには、次の例に示すように、設定にssl_preread
ディレクティブを含める必要があることに注意してください。
NGINX Plus R11の新しいストリーム ログモジュールは、以前のリリースで HTTP 接続に対して利用可能だったものと同じ種類のアクセス ログを TCP/UDP 接続に対して提供します。 Streamモジュールによって処理される各 TCP/UDP セッションをログに記録して、データ レート、負荷分散の決定、エラー状態などを検査できるようになりました。 これは、TCP または UDP トランザクションをデバッグまたは監査するときに重要な機能です。
Stream モジュールは多数の変数を公開しており、それらすべてをログに記録できます。 次のように変数を使用して、デフォルトのログ形式をカスタマイズできます。
このリリースでは、NGINX Plus が PROXY プロトコルを使用して拡張された TCP 接続を受け入れることができるようになり、TCP 接続のPROXY プロトコルのサポートがより包括的になりました。
この機能により、ログ記録や認証の目的で接続の実際の送信元 IP アドレスを特定できるため、NGINX Plus を使用した TCP 接続の管理能力が向上します。
ステータスモジュールでは、処理されたセッションの数やさまざまなエラー状態の数など、ストリーム
カテゴリでより多くのメトリックが報告されるようになりました。
ストリーム ログ モジュールの新しいaccess_log
コマンドに加えて、追加のメトリックにより、TCP および UDP サービスの動作を監視し、予期しないエラー率が発生した場合にそれを検出することが容易になります。
[編集者注 – Status モジュールは非推奨となり、 NGINX Plus R13で導入されたNGINX Plus APIモジュールに置き換えられました。
サードパーティのGeoIP2 モジュールが認定され、NGINX Plus ユーザーがリポジトリで利用できるようになりました。 GeoIP2 モジュールは、ローカライズされた名前を提供し、元の GeoIP モジュールで使用されるものよりも詳細な情報を提供する MaxMind GeoIP2 形式のデータベースを使用します。
新しいモジュールを取得するには、次のコマンドを実行します (Debian および Ubuntu に適しています)。
$ apt-get アップデート$ apt-get インストール nginx-plus-module-geoip2
/etc/nginx/nginx.confのメイン(最上位)コンテキストに、新しくインストールされたモジュールのload_module
ディレクティブを追加します。
GeoIP2 モジュールの詳細については、公式 GitHub ページを参照してください。
エディター– 次の使用例は、NGINX JavaScript モジュールの多くの使用例の 1 つにすぎません。 すべてのユースケースのリストについては、 「NGINX JavaScript モジュールのユースケース」を参照してください。
この投稿は、 NGINX JavaScript 0.2.4で導入された Stream モジュールのリファクタリングされたセッション ( s
) オブジェクトを使用するように更新されました。
NGINX JavaScript は、NGINX および NGINX Plus の次世代構成言語です。 NGINX JavaScript を使用すると、使い慣れた JavaScript 構文を使用して、標準の NGINX 構成言語で実行できるよりも複雑な操作を実行できます。 このリリースには、NGINX JavaScript モジュールに対するいくつかの機能強化が含まれています。
NGINX JavaScript はまだ開発中であり、リリースでの更新は最終的に計画された機能に向けたものです。 このマイルストーンでは、Stream モジュールとの統合と、より幅広い JavaScript 言語サポートという 2 つの領域に重点を置きました。
Stream モジュールでは、NGINX JavaScript はデータを検査および変更するために、いくつかの内部リクエスト処理フェーズにアクセスできます。 たとえば、次の NGINX JavaScript コードは、MySQL プロトコル ストリームの 3 番目のメッセージを検査し、SQL 操作を識別するためのキー パターンを検索する方法を示しています。
NGINX JavaScript コア言語のサポートが大幅に拡張され、さらに多くの組み込みオブジェクトと関数がサポートされるようになりました。 更新は、Mercurial ソース リポジトリと NGINX Plus パッケージ リポジトリを通じて共有されます。
NGINX Plus は、ディスク キャッシュの整理を担当する別のキャッシュ マネージャープロセスを操作します。 特定の状況では、大量のメモリを回復する必要がある場合など、キャッシュ マネージャーが大量のファイルを削除する必要がある場合があります。
新しい「リンク解除スロットル」機能を使用すると、キャッシュされたファイルの削除の最大レートを指定できます。 レートを低くすると、基盤となるディスクの負荷が軽減され、システム パフォーマンスが向上します。
削除率は、 proxy_cache_path
、 fastcgi_cache_path
、 scgi_cache_path
、およびuwsgi_cache_path
ディレクティブの新しいmanager_files
、 manager_threshold
、およびmanager_sleep
パラメータによって制御されます。
NGINX Plus を実行している場合は、都合の良いときにリリース 11 にアップグレードすることをお勧めします。 数多くの修正と改善が行われており、サポート チケットを発行する必要がある場合に、当社がサポートしやすくなります。 インストールおよびアップグレードの手順については、カスタマー ポータルをご覧ください。
注記: 以前発表されたとおり、 NGINX Plus R11以降にはnginx-plus-extrasパッケージは含まれません。 まだそのパッケージを使用している場合は、代わりにnginx-plusパッケージをデプロイし、必要な追加モジュールを NGINX Plus モジュール リポジトリから動的にロードする必要があります。
NGINX Plus をまだお試しいただいていない方は、Web アクセラレーション、負荷分散、アプリケーション配信、または強化された監視および管理API を備えた完全にサポートされた Web サーバーとして、ぜひお試しいただくことをお勧めします。 今すぐ30 日間の無料トライアルを開始して、NGINX Plus がアプリケーションの配信とスケールアウトにどのように役立つかを実際に確認することができます。
「このブログ投稿には、入手できなくなった製品やサポートされなくなった製品が参照されている場合があります。 利用可能な F5 NGINX 製品およびソリューションに関する最新情報については、 NGINX 製品ファミリーをご覧ください。 NGINX は現在 F5 の一部です。 以前の NGINX.com リンクはすべて、F5.com の同様の NGINX コンテンツにリダイレクトされます。"