NGINX Plus

NGINX Plus

NGINX Plusは、オープンソース・ソフトウェアとして公開されているNginxにエンタープライズ向けの機能拡張を行ったWeb Application Derivery Platformのキーソリューションです。

NGINX Plusには、OSSで公開されているコミュニティー版NGINXをベースより、application load balancing, health checks, Session persistence, advanced cache control, streaming media delivery, activity monitoring, NGINX Plus API for dynamic reconfiguration, Dynamic reconfiguration without process reloads などの機能拡張を行った製品となります。

https://www.nginx.com/products/nginx/

NGINX Plusの利用シーン

■ Load Balancer

NGINXはソフトウェアによりロードバランサー機能を提供します。物理ネットワーク機器を置けないクラウド環境やコンテナ環境内でのロードバランサー機能を使用したい時に最適です。

また、非常に強力なNGINXエンジンをベースにしているため、処理能力が高いことからBIG IPなどのロードバランサー機器からの置き換えにも有効で、ソフトウェア化されることのコスト削減効果は最大80%にものぼると言われています。

  • HTTP, TCP, and UDP load balancing
  • Layer 7 request routing using URI, cookie, args, and more
  • Session persistence based on cookies (NGINX Plus Only)
  • Active health checks on status code and response body (NGINX Plus Only)
  • Service discovery using DNS (NGINX Plus Only)

■ Content Cache

NGINXは様々なキャッシュ機能を提供します。大規模なコンテンツを提供するWebサイトではコンテンツキャッシュの有効活用は非常に重要で、顧客へのレスポンスタイムの改善に大きく寄与します。

NGINXのコンテンツキャッシュ機能は古くから利用されており、CDN(Content Delivery Network)を提供しているサービスの内側ではNGINXをエンジンとして利用していることもあると言われています。

  • Cache static and dynamic content
  • Improve dynamic content performance with microcaching
  • Serve “stale” content while revalidating in the background to improve performance
  • Override or set Cache-Control headers
  • Manage the cache easily with the cache‑purging API (NGINX Plus Only)

■ Web Server

高速で軽量なWebサーバーを目指し開発されたNGINXはEvent Loop方式と呼ばれる設計により、CPUリソースとメモリリソースを消費しない駆動モデルになっています。

この設計思考により開発されたNGINXはレスポンス速度が早く、C10K問題と呼ばれる1万ユーザーが同時アクセスを行った場合にOSのProcessやCPUのコンテキストスイッチの切り替え多発によるサーバーダウンが発生しないことから、大規模なWebサーバーではApacheを上回る利用率となっています。

ソフトウェアとしても非常に軽量なため、Mode2やマイクロサービスなどの分野での利用も拡大しています。

  • Handle hundreds of thousands of clients simultaneously
  • Use up to 90% less memory than other web servers
  • Reverse proxy multiple protocols: HTTP, gRPC, memcached, PHP‑FPM, SCGI, uwsgi
  • Stream HTTP video: FLV, HDS, HLS, MP4
  • HTTP/2 gateway with HTTP/2 server push support

■ Security

Webサーバーを運用する上で求められるSecurity機能をNGINXは提供しています。今では欠かせなくなった常時SSL対応のための仕組みも早期から取り入れられており、古くからNGINXをSSL Terminationとして利用するユーザーが多数います。

  • Request and connection limiting
  • Dual‑stack RSA/ECC SSL/TLS offloading
  • TLS 1.3 support
  • Dynamic certificate loading
  • IP address‑based access control lists (ACLs)
  • JWT authentication for APIs and OpenID Connect single sign‑on (SSO) (NGINX Plus Only)
  • NGINX WAF dynamic module (NGINX Plus Only)
    ※ WAFエンジンをmod_securityよりF5エンジンに切り替え中、リリース日未定

■ Monitoring

NGINXではログベースでの状態把握、管理を行うのが通常ですが、NGINX Plusではモニタリング機能を拡張しています。

リアルタイムでのWeb GUIでの状態確認と設定の反映などが行えるほか、JSON形式で状態を取得することも可能になっています。

  • Monitor NGINX metrics and validate configuration with NGINX Amplify
  • Plug‑ins for AppDynamics, Datadog, and Dynatrace
  • Extended status with more than 90 unique metrics (NGINX Plus Only)
  • Built‑in, real‑time graphical dashboard (NGINX Plus Only)
  • JSON and HTML output for integration with custom monitoring tools (NGINX Plus Only)

■ High Availability (NGINX Plus Only)

NGINX Plusでは、コミュニティー版で提供されていないHA機能を提供します。Active-ActiveやActive-Standbyでの構成が組めるほか、設定の同期などの機能も備えることでロードバランサー、Webサーバー等の可用性を高めることができます。

  • Active‑active and active‑passive HA modes
  • Configuration synchronization among NGINX Plus servers in a cluster
  • State sharing for features including Sticky‑Learn session persistence, rate limiting, and key‑value stores
  • Easy installation with built‑in script