NGINX.COM
Web Server Load Balancing with NGINX Plus

NGINX Plus

NGINX Plusとは何ですか?NGINXオープンソースとはどう違うのですか?

NGINX Plusは、オープンソース版のNGINXにさまざまな機能拡張を施した商用版です。

そもそもNGINXは、イベント駆動型アーキテクチャの採用などにより、従来のWebサーバに比べ多くの同時接続数を可能にし、軽量で高いスケーラビリティを実現するWebサーバソフトウェアです。そのオープンソース版のNGINXに標準実装されていないセッションパーシステンス機能や、APIによる動的設定変更機能、アクティブヘルスチェック機能などの多くの追加機能が使用でき、サポートを得られるのがNGINX Plusとなります。

NGINXおよびNGINX Plusの機能比較表は、こちらのURLから参照ください。

NGINXオープンソースよりもNGINX Plusを使用する主な利点は何ですか?

NGINX Plusはより拡張性に優れ、メーカーによりサポートされた高度な機能を多く実装しています。

簡易なインストール:NGINXのプライベートリポジトリから、ビルド済みでテスト済みのバイナリをインストールするだけです。

安心のサポート:NGINXオープンソースとNGINX Plusのどちらも熟知し経験と知識豊富なチームによる完全なサポートとアップデートが保証されます。

豊富な機能:NGINX Plusは、高性能なWebサーバ機能、強力なフロントエンドロードバランサー機能、拡張性の高い高速なキャッシュ機能などを組み合わせて、Webアプリケーションに理想的なエンドツーエンドプラットフォームを実現します。 NGINX Plusは、NGINXオープンソースをベースに取り入れ設計されており、NGINXオープンソースの開発も続けています。詳細については、以下の英文Blog(NGINX(F / OSS)とNGINX Plusの違いは何か?)もご参照ください。

  • 現在NGINXオープンソースを使用されている企業:NGINX Plusは、ミッションクリティカルなアプリケーション環境で複数のプロキシや、ロードバランサー、およびキャッシュサーバなどを常に独自で管理、メンテナンスしなければならない管理の複雑さを軽減することができるシステムです。
  • ハードウェアベースのロードバランサーを現在使用している企業:NGINX Plusは、費用対効果の高いサブスクリプションで、より柔軟なソフトウェアフォームとして様々なADC機能のフルセットを手に入れることができます。
  • スケーラブルで信頼性の高いWebアーキテクチャで、最新ソリューションが必要な企業:NGINX Plusは、世界で最も高負荷なWebサイトをサポートするNGINXオープンソースの10年以上の実績に裏打ちされた確かな技術が保証された商用版です。
  • 非常にスケーラブルなHTTPビデオ配信のソリューションを必要とする企業:NGINX Plusは高度なビデオ配信サポート機能を備えています。
NGINXオープンソースは、どういう場面で使用するもの?

NGINXオープンソースは…

  • ソースコードを表示または編集したい。
  • NGINX Plus Extrasに含まれていないサードパーティのモジュールでコンパイルするか、独自のカスタムモジュールを作成したい。
  • 独自のパッケージとセキュリティ修正を維持したい。
  • 商用サポートは必要としていない。
NGINX Plusの導入が最も効果的なユーザケースは?
  • 予測可能で信頼性が高く、高パフォーマンスなユーザーエクスペリエンスを必要とする商用アプリケーションまたはWebサイトを実行している。
  • NGINX OSSを使用しているが、複雑さや管理の手間を軽減するため、サポートされているNGINXビルド版を使用したい。
  • Webアーキテクチャをモノリシックアプリケーションから軽量の「スケールアウト」可能な分散型コンポーネント化アーキテクチャに移行している。(さらに、外づけの「シェル/ルーティングレイヤー」が必要)。
  • 仮想化/クラウド環境に移行しており、既存のハードウェアベースのLB / ADCソリューションに代わる、よりモダンでクラウドフレンドリーな代替手段が必要。
  • ハードウェアベースのLB / ADCソリューションがあり、NGINX Plusに比べて10倍のコストがかかっている。高価で拡張性のない旧システムにこれ以上の費用をかけたくない。
  • 大規模なHTTPストリーミングメディア(HTTPビデオ/オーディオ)を行うメディア/コンテンツを所有している。
NGINX Plusは、ソフトウェアパッケージまたは「仮想アプライアンス」(ESX / Xenなどの仮想マシンのイメージ)ですか?

NGINX Plusは、Linuxベースシステム向けの、NGINXオープンソースと同じコンパクトなソフトウェアパッケージシステムです。パッケージ化された仮想アプライアンスとして、Amazon AWSでも利用できますし、また仮想化技術のchroot jail内部や、Linuxコンテナー、および独自の仮想マシンなどでも、NGINX Plusをデプロイすることが可能です。

NGINX Plusにはサードパーティのモジュールがバンドルされていますか?

標準のNGINX Plusパッケージには、公式のオープンソースビルドのNGINXで作成されたモジュールとNGINX Plusの拡張機能が含まれており、サードパーティのモジュールは、実行中のNGINX Plusインスタンスに動的にロードすることができます。NGINX Inc.では、広範囲のサードパーティモジュールへの対応および保守に努めています。これらの対応モジュールの一覧リストは、こちらから入手できます。

上記のリストにないカスタムまたはサードパーティのモジュールも、実行中のNGINX Plusインスタンスでいつでも動的にロードすることができます。実行方法の詳細については、こちらを参照してください。

リポジトリからNGINX Plusを取得するにはどうすればよいですか?

https://cs.nginx.com/repo_setupの指示に従ってください。

NGINX Plusのトライアル後、サブスクリプションを購入した場合、設定をそのまま使用することはできますか?それともNGINX Plusを再インストール/再展開する必要がありますか?

再インストールの必要はありません、そのままお使いいただけます。ただし、評価用証明書を本番証明書に置き換える必要があります。これを行わないと、評価証明書の有効期限が切れた際に、インストールできなくなります。MyF5というカスタマーポータルから製品証明書を取得できます。これを/etc/ssl/nginxディレクトリにコピーし、評価用証明書を置き換えてください。

NGINX Plusに管理用GUI /ダッシュボードはありますか?

NGINX Plusには、NGINX Plus APIに基づいて構築され、詳細なモニタリングメトリクスを備えたビルドインのダッシュボードが含まれています。実際の動作を確認するには、こちらのライブデモをご覧ください。

また、NGINX Plus用の集中型プラットフォームであるNGINX Controllerを使えば、マルチクラウド環境全体においてすべてのNGINX Plusロードバランサーなどの機能を管理することが可能です。直感的なウィザード形式のGUIを使用して、すべてのNGINX Plusインスタンスを構成することができます。また、カスタムダッシュボードを作成して、最も重要なメトリックを追跡することもできます。

さらに、AppDynamicsDatadogDynatraceなど多くのモニタリング製品がNGINX Plusとの統合ソリューションを提供しています。 対応製品のリストについては、パートナーページをご覧ください。

さらなる詳細については、ライブアクティビティモニタリングについての製品ページ、NGINX Plus管理ガイド、およびNGINX Plus APIモジュールのリファレンスドキュメントを参照してください。

NGINX Plusのコンフィギュレーションテストおよびリロードは、システム稼働を止めることなく動作できますか?

ダウンタイムはもちろんなし、また現在の接続を中断することなく、NGINXの構成をリロードすることができます。 簡易な再構成で、NGINXプロセスを新しくセットすることができ、古いプロセスは終了させるまで動作し続けます(ただし、新しい要求は受け入れません。すべての新しい要求は新しいプロセスのセットによって受け入れられます)。 ライブバイナリアップグレードも同様に機能します。 アップグレードが成功すると、NGINXワーカープロセスの古いセットが終了するように通知され、新しいセットが引き継ぎます。 詳細については、NGINXの制御を参照してください。

NGINX Plusではどのように動的な設定変更ができますか?

ロードバランシングパラメータ変更と負荷分散対象サーバの追加削除ができます。 (詳細は、On-the-fly reconfiguration of NGINX Plusを参照ください。)

NGINX Plusには、どのようなサードパーティソフトウェアがバンドルされていますか?

NGINX Plusビルドの一部である(つまり、コンパイルされた)サードパーティソフトウェアのリストは、NGINX Plusリファレンスドキュメントの付録Bにあります。 NGINX Plusは、動的リンクを使用して、次のサードパーティライブラリに対してもリンクされます。 このソフトウェアはNGINX Plusに同梱はしていません。

  •  OpenSSL
  •  zlib
  •  PCRE

NGINX Plusは「SSL対応」でもありますが、OpenSSLライブラリ自体の出荷/配布はしていません。

NGINX Plusを使い始めるにはどうすればよいですか?

ログイン手順を記載したメールをお送りいたします。ログイン後、アクセスキーを取得していただき、NGINX Plusの管理ガイドのインストール手順に沿って操作してください。

NGINX Open Source版がすでにインストールされています。 NGINX Plusをインストールするとどうなりますか?

NGINX Plusは、あらかじめ定義されたモジュールのセットが組み込まれたバイナリとして配布されるため(NGINX Plusの技術仕様にリストされている)、ソースからコンパイルされたサードパーティモジュールを使用している場合、NGINX Plusをインストールすると、NGINXサーバの動作が変わる可能性があります。 ただし、実行時にサードパーティのモジュールを動的にNGINX Plusにロードすることができます。 アップグレードする前に、NGINXの現在のバージョンと現在のNGINX Plusリリースの機能の違いを確認することをお勧めします。

NGINX Plusインストールの実行方法は、既存のデプロイメント内容によって異なります。 NGINXまたはNGINX Plusをアップグレードする前に、常に既存のNGINX構成ファイルをバックアップすることをお勧めします。

  • yumパッケージマネージャーを使用してNGINXオープンソースをインストールした場合は、yum swapコマンドを実行して削除し、NGINX Plusをインストールします。 パッケージマネージャーを使用すると、NGINX Plusへのライブバイナリアップグレードが提供されます。
  • apt-getパッケージマネージャーを使用してNGINXオープンソースをインストールした場合は、apt-get installコマンドを実行してNGINX Plusをインストールします。
  • ソースからNGINXオープンソースをインストールした場合は、NGINXサービスを手動で停止し、システムから既存のNGINXバイナリを削除してから、オペレーティングシステムのパッケージマネージャーを使用してNGINX Plusをインストールする必要があります。

機能について

NGINX OSS版に比べ、NGINX Plusで得られる高度なロードバランシング機能には、どのようなものがありますか?

NGINX Plusでは、セッション維持、障害チェックのためのヘルスチェック、再構成時のスロースタート制御などのロードバランシングアルゴリズムが使用可能です。 詳細については、NGINX OSSとNGINX Plusによる機能比較を参照してください。

サポートされる負荷分散アルゴリズムにはどのようなものがありますか?

現在、NGINX Plusでは次のような複数のロードバランシングメソッドをサポートしています。

  • ラウンドロビン、重み付きラウンドロビン
  • リースト コネクション(最小接続)、重み付き最小接続
    *接続コネクション数が少ないサーバを優先して、ユーザからのリクエストを割り当て
  • 最小レスポンス、重み付き最小レスポンス
    *応答速度が短いサーバ順に、ユーザからのリクエストを割り当て
  • ソースIPハッシュベース、重み付きソースIPハッシュベース
  • ジェネリックハッシュ
  • コンシステントハッシュ
  • セッション維持のメソッドでは、ユーザーセッションを識別し、初回のアクセス以降は負荷分散処理を行わず、そのトラフィックを適切なアップストリーム宛に転送することができます。

    • Cookie挿入
    • Cookieと変数ベースのルーティング(「jvmroute」など)
    • 以降、Cookieに埋め込まれた情報に従ったセッション維持

    詳細については、NGINX Plusのページを参照してください。

NGINX Plusはセッション維持をサポートしていますか?

はい、サポートしています。 Cookieの挿入、変数ベースのルーティングをサポートし、セッション維持をCookie情報から認識します。 参照:NGINX Plusによるロードバランシング

NGINX Plusはメールプロトコルの負荷分散をサポートしていますか?

HTTP/HTTPS/FastCGI/uwsgi/SCGI/memcacheの負荷分散のみをサポートしています。SMTP/POP3/IMAPトラフィックを負荷分散するのではなく、1つのアップストリームにプロキシおよびルーティングします。

アプリケーションの状態監視はどのように機能しますか?

アクティブヘルスチェック機能を提供しています。

参照:NGINX Plusによるアプリケーションヘルスチェック

NGINX Plusにはキャッシング機能が含まれていますか?静的コンテンツ専用ですか?

NGINX Plusは、静的コンテンツと動的コンテンツの両方に対して非常にスケーラブルなキャッシュエンジンを備えています。キャッシングは、HTTP / FastCGI / uwsgi / SCGIなどのすべてのプロキシモード/プロトコルでサポートされています。キャッシュされたコンテンツはハイブリッドキャッシュに保存されます。ホットコンテンツはメモリに保存され、すべてのコンテンツはディスク上のキャッシュに保存され、ソフトウェアの再起動や再起動後も保持されます。詳細については、NGINX Plusによるコンテンツキャッシングを参照してください。

NGINX Plusはキャッシュの無効化/キャッシュの消去をサポートしていますか?

はい。NGINX Plusは、特定のURLまたはワイルドカードの一致に基づく完全なキャッシュ無効化をサポートしています。参照:NGINX Plusの機能:キャッシュ

NGINX Plusは、NGINXオープンソースとどう違うのですか?

NGINX Plusでは、サポート力に定評のある(受賞歴のある)NGINXエンジニアの優れたサポートに加え、アクティブヘルスチェック、セッション維持、JWT認証など、NGINXオープンソースでは利用できない独自の高度な機能が含まれています。

詳細については、NGINX PlusとNGINXオープンソースの機能比較をご覧ください。

NGINXオープンソースを使っているのですが、NGINX Plusについて知っておくべきことは何ですか?

NGINX Plusは、エンタープライズ向けに開発され信頼の高いテクニカルサポートの提供と拡張機能を備えた商用製品です。 NGINXをすでにお使いいただいているユーザ様は、さらに高度な負荷分散メソッドの活用や、APIの高度な構成やキャッシュ管理、セッション維持、アプリケーションに最適なヘルスチェック機能など、さらに商用向けにプラスされた高度な機能を活用し、用途を広げることができます。

一般的なNGINX ユースケース

NGINX Plusの主なユースケースは何ですか?

NGINX Plusの最も一般的な利用目的は次のとおりです。

  • アプリケーションの負荷分散
  • アプリケーションのアクセラレーション/アプリケーション配信/コンテンツキャッシング
  • SSL終端/セキュリティゲートウェイ
  • APIゲートウェイ
  • ストリーミングメディア
NGINX PlusをWebSocketプロキシとして使用できますか?

はい、可能です。実際、NGINXは長年、Node.jsの優先プロキシ/フロントエンドとして使用されてきました。 NGINX PlusおよびWebSocketプロトコルの使用について説明している次の記事をご参照ください:WebSocketsプロキシとしてのNGINX(英語)

アマゾンウェブサービス(AWS)でNGINX Plusを使用できますか?

はい、可能です。 NGINX PlusはオープンソースのNGINXソフトウェアに基づいており、Amazon Web Services(AWS)の全ウェブサイトの35%以上で使用されています。 NGINX AMI(Amazon LinuxおよびUbuntu用)と、独自のAMIまたはVMの上で使用できるスタンドアロン(BYOLのような)サブスクリプションの両方を提供しています。 AWS Marketplaceの製品リンクは次のとおりです。

[編集者:2015年現在、2つの追加のAMIが利用可能です(最新の情報はお問合せください):

AWS Marketplaceには、現在「試用版」モードもあります。詳細については、Amazon EC2でのNGINX Plusの使用開始を参照、またはnginx.co.jp問合せフォームより最新情報をご確認ください。

ELBの代わりにAWSでNGINX Plusを使用できますか?

はい、可能です。Amazon Elastic Load Balancing(ELB)の代わりにNGINX Plusを安全に使用することができます。特に、アプリケーションに対し、非常に細かく高度に構成可能なリクエストルーティング、正確なロギング、SSL終端、キャッシング、接続/帯域幅管理の機能などが必要な場合に有効です。NGINX Plusは、ELBとバックエンドサーバーの間でも使用できます。

CloudFrontの代わりにAmazon AWSでNGINX Plusを使用できますか?

可能です。CloudFrontは非常に分散されたアーキテクチャであり、世界中の何千ものエッジノードを網羅しています。そのため、機能としてNGINX Plusは非常に強力なエッジキャッシングソリューションとして使うことが可能です。

HDS/HLSなどのストリーミングメディア拡張機能をプロキシモードのNGINX Plusで使用できますか?

NGINXは、ストリーミングメディア機能がバックエンドサーバー(NGINXなど)によって処理される場合に、ストリーミングメディアのプロキシに使用できますが、NGINX Plusストリーミングメディア拡張機能は、直接接続されたストレージからのみコンテンツをストリーミングするためのものです。ビデオコンテンツを取り込む別の方法は、RTMPを使用する方法です。

HTTPビデオにNGINX Plusを導入できますか?

はい、可能です。NGINX PlusはHTTPビデオ配信用の非常に人気のあるソリューションであり、WowzaまたはAdobe製品に代わる優れた高性能、拡張性、コスト効率の高い代替品です。

具体的にどのような最適化に役立ちますか?

NGINX Plusは、Webアクセラレーションソリューションとして有名です。システム(ERP/CRM/Eコマースなど)が通信プロトコルとしてHTTPを使用している場合、NGINX Plusはさまざまな最適化を使用して、アプリケーションバックエンドの不要な負荷を減らし、高可用性を改善し、レイテンシを減らし、全体的に高いパフォーマンスを向上させるため、様々な最適化を採用しています。 NGINX Plusは、アプリケーションスタックに次の高速化手法を導入しています。

  • 同時接続処理の負荷を軽減: システムが数千から数万の同時接続クライアントを簡単に処理実行
  • 静的コンテンツのオフロード: アプリケーションのバックエンドから画像/ビデオ/CSS/HTML/JSをNGINX Plusへ移動
  • リアルタイムなコンテンツの圧縮
  • 静的コンテンツと動的コンテンツの両方で、繰り返しコンテンツを簡単にキャッシュ
  • サーバの負荷分散やアプリケーションの状態監視など、アプリケーションのスケーラビリティを実現するための豊富な技術を提供
  • セッション制限、接続、および帯域幅を柔軟に制御できるため、セキュリティを向上
  • SSLターミネーションをアプリケーションバックエンドからNGINX Plusに任せ、複雑なSSL処理を実行