Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NGINXENG JP#1 - 2-NGINX-提供するソフトウェア

hiropo20
December 08, 2022

NGINXENG JP#1 - 2-NGINX-提供するソフトウェア

■NGINX-エンジニアリング勉強会#1
https://nginx-eng.connpass.com/event/267673/

その他のイベント資料や動画などイベントページをご覧ください。

hiropo20

December 08, 2022
Tweet

More Decks by hiropo20

Other Decks in Technology

Transcript

  1. ©2022 F5 2 NGINXとは nginx(「エンジンエックス」のように発音[1][2]) は、フリーかつオープンソースなWebサーバであ る。処理性能・高い並行性・メモリ使用量の小さ さに焦点を当てて開発されており、 HTTP, HTTPS,

    SMTP, POP3, IMAPのリバースプ ロキシの機能や、ロードバランサ、HTTPキャッ シュなどの機能も持つ。 出典: フリー百科事典『ウィキペディア(Wikipedia)』 作者 Igor Sysoev 開発元 Nginx Inc. 初版 2004年10月4日 (18年前) 最新版 1.22.1 最新評価版 1.23.0 リポジトリ hg.nginx.org/nginx プログラミング 言語 C言語 対応OS Unix系、Microsoft Windows 種別 Webサーバ、 リバースプロキシ ライセンス BSDライク 公式サイト nginx.org, Nginx Inc. https://ja.wikipedia.org/wiki/Nginx
  2. ©2022 F5 3 NGINXとは HTTPS/gRPC App TCP/UDP SMTP HTML File

    WEBサーバ / Path Routing / キャッシュ / 通信の細かな制御により、 高速 安定 高機能 高機能なReverse Proxy / キャッシュサーバ Load Balancing / API Gateway として利用可能
  3. ©2022 F5 5 NGINXが提供するソフトウェア NGINX Plus NGINX OSSをベースに、さらなるエンタープライズユースに対応したソフトウェア (LBメソッド・冗長機能・JWT制御・API制御 に加え、各種セキュリティモジュールの利用が可能)

    NGINX Management Suite NGINX統合管理ソフトウェア。 API Connectivity Manager(ACM)はNGINX PlusによるAPI管理を提供 NGINX Instance Manager NGINX OSS、NGINX Plusの統合管理。ヒストリカルなAPM機能、コンフィグ・証明書管理、管理 対象のNGINX OSS / NGINX Plusに対するAPI制御機能を提供 NGINX App Protect WAF F5が提供する、ミッションクリティカル環境に最適な高速な高品質なWAF NGINX App Protect DoS 従来のツールでは検知できないレイヤー7のDoS脅威から高度な保護を提供 NGINX Ingress Controller Kubernetes環境での高度な通信制御を提供。NGINX機能をIngressリソースを通じて管理可能。 NGINX Service Mesh NGINX Plusによるコンテナ間の制御を提供するシンプルなサービスメッシュソリューション NGINX for Azure NGINX PlusをAzureからSaaS環境として提供、コンフィグを貼り付けるだけで活用が可能 All-In-One SW Overview NGINX OSS Dev/Opsに最適な、超軽量・高速・多機能なAll-In-One Software NGINX Unit 動的かつ分散アプリケーション環境向けに設計されたアプリケーションサーバ NJS (NGINX JavaScript) NGINXの機能を拡張するJavaScript言語のサブセットモジュール NJS Open Source Security Container SaaS
  4. ©2022 F5 6 主要NGINXソフトウェアの構成イメージ App Proxy Client App NJS オンプレミス

    クラウド・コンテナ K8S(コンテナ・NIC) NGINX OSS 環境 App HTTP gRPC etc TCP/ UDP NGINX Plus App オンプレミス クラウド・コンテナ K8S(コンテナ・NIC) App WAF DOS NJS HTTP gRPC etc TCP/ UDP NGINX Unit App オンプレミス クラウド・コンテナ K8S(コンテナ) JS Ruby Go Java Perl PHP Python HTTP JWT/OIDC/ActiveHC/ Cookie Persistence/ より詳細なMetrics/ メーカーSupport OSS NGINX Ingress Controller Pod K8S(NIC) Pod WAF DOS NJS HTTP SMTP etc TCP/ UDP Container NGINX Service Mesh K8S(NSM) C HTTP gRPC TCP/ UDP Container Container C Pod Pod Pod Pod
  5. ©2022 F5 7 主要NGINXソフトウェアの構成イメージ:NIC App Proxy Client App NJS オンプレミス

    クラウド・コンテナ K8S(コンテナ・NIC) NGINX OSS NGINX Plus NGINX Unit NGINX Ingress Controller NGINX Service Mesh 環境 App App オンプレミス クラウド・コンテナ K8S(コンテナ・NIC) App WAF DOS NJS App オンプレミス クラウド・コンテナ K8S(コンテナ) JS Ruby Go Java Perl PHP Python HTTP gRPC etc TCP/ UDP HTTP gRPC etc TCP/ UDP HTTP Pod K8S(NIC) Pod WAF DOS NJS HTTP SMTP etc TCP/ UDP K8S(NSM) HTTP gRPC TCP/ UDP Container Container 用途をNICに 限定・安価 C C Container Pod Pod Pod Pod
  6. ©2022 F5 8 主要NGINXソフトウェアの構成イメージ:Support App Proxy Client App NJS オンプレミス

    クラウド・コンテナ K8S(コンテナ・NIC) NGINX OSS NGINX Plus NGINX Unit NGINX Ingress Controller NGINX Service Mesh 環境 App App オンプレミス クラウド・コンテナ K8S(コンテナ・NIC) App WAF DOS NJS App オンプレミス クラウド・コンテナ K8S(コンテナ) JS Ruby Go Java Perl PHP Python HTTP gRPC etc TCP/ UDP HTTP gRPC etc TCP/ UDP HTTP Pod K8S(NIC) Pod WAF DOS NJS HTTP SMTP etc TCP/ UDP K8S(NSM) HTTP gRPC TCP/ UDP Container Container OSS(無料) Support 有料 Support OSS(無料) Support OSS(無料) Support Plus(有料) Support 無料利用可 Support 有料 Support Plus Subで 対応可能 提供 Support C C Container Pod Pod Pod Pod
  7. ©2022 F5 9 主要NGINXソフトウェアの構成イメージ:Support App Proxy Client App NJS オンプレミス

    クラウド・コンテナ K8S(コンテナ・NIC) NGINX OSS NGINX Plus NGINX Unit NGINX Ingress Controller NGINX Service Mesh 環境 App App オンプレミス クラウド・コンテナ K8S(コンテナ・NIC) App WAF DOS NJS App オンプレミス クラウド・コンテナ K8S(コンテナ) JS Ruby Go Java Perl PHP Python HTTP gRPC etc TCP/ UDP HTTP gRPC etc TCP/ UDP HTTP Pod K8S(NIC) Pod WAF DOS NJS HTTP SMTP etc TCP/ UDP K8S(NSM) HTTP gRPC TCP/ UDP Container Container OSS(無料) Support 有料 Support OSS(無料) Support OSS(無料) Support Plus(有料) Support 無料利用可 Support 有料 Support Plus Subで 対応可能 提供 Support C C Container Pod Pod Pod Pod 困ったらF5までご連絡ください (問い合わせページもあります)
  8. ©2022 F5 10 主要NGINXソフトウェア:Management Suite/NGINX for Azure App Proxy App

    オンプレミス クラウド・コンテナ K8S(コンテナ) 環境 App NGINX Instance Manager WAF App App WAF App App 管理 IM NGINX for Azure HTTP App App SaaS Agent Agent Agent API Connectivity Manager API オンプレミス クラウド・コンテナ K8S(コンテナ) API API API API API APIGW APIGW APIGW Dev Portal ACM Agent Agent Agent
  9. ©2022 F5 12 インストール・デプロイメントガイド NGINX Ingress Controller https://docs.nginx.com/nginx-ingress-controller/ NGINX Service

    Mesh https://docs.nginx.com/nginx-service-mesh/ NGINX App Protect WAF https://docs.nginx.com/nginx-app-protect/ NGINX App Protect DoS https://docs.nginx.com/nginx-app-protect-dos/ NGINX Management Suite https://docs.nginx.com/nginx-management-suite/ NGINX for Azure https://docs.nginx.com/nginxaas/azure/ Document NGINX OSS / NGINX Plus https://docs.nginx.com/nginx/ http://nginx.org/en/docs/ NGINX Unit https://unit.nginx.org/ NJS (NGINX JavaScript) http://nginx.org/en/docs/njs/index.html https://github.com/nginx/njs-examples/ NJS
  10. ©2022 F5 14 パブリック クラウド 導入計画に合わせた 柔軟な提供 Subscription すべてのプロダクト トライアル・

    OSS Market Place NGINX Plus / App Protect WAF (仮想マシン / NGINX Ingress Controller) NGINXソフトウェアの利用開始・購入手法 小規模・PoC 本番環境 長期・大規模環境 オンプレミス Trial
  11. ©2022 F5 15 ライセンスによりカバーされるサポート内容 特徴 スタンダード プレミアム 重要度が比較的低く、長めの回答時間が 許容される、NGINXおよびNGINX Plus

    の本番環境デプロイメント向けサポート すべてのエンタープライズアプリケー ションまたは本番環境のデフォルトスタ ンダード インシデント数 無制限 無制限 サポート時間 営業時間(平日日中帯) 24時間 Emailサポート 英語対応 *日本語対応 (平日9:00-18:00) 英語対応 *日本語対応 (平日9:00-18:00) 電話サポート 英語対応 *日本語対応 (平日9:00-18:00) 英語対応 *日本語対応 (平日:9:00-18:00) 応答時間 英語 – 30分~24時間以内 日本語 - ベストエフォート 英語 - 30分~24時間以内 日本語 – ベストエフォート マニュアルに関する質問回答 24時間 24時間 ホットバグ修正 対応可 対応可 ソフトウェアアップデート メジャー、マイナー共に対応 メジャー、マイナー共に対応 サードパーティーモジュール サポート ◯ ◯ NGINX Unit - ◯ https://www.nginx.co.jp/support/ 推奨
  12. ©2022 F5 17 NGINX OSS – リリースサイクル NGINX OSSは、mainline(奇数)とstable(偶数)の二種類に分かれます 毎年4月にmainlineからstableをforkします。以降のリリースVersionが新しい番号へ更新されます

    NGINX Plusは、NGINX OSSと別のレポジトリで管理されています。mainlineからforkされます NGINXはmainlineの利用を推奨しますが、更新頻度などの観点からstableの利用も可能です 1year 1year
  13. ©2022 F5 18 R25 R26 R27 NGINX Plusは、NGINXメインラインでテスト・実証された、すべてのOSS新機能を取り入れます。 NGINX Plusは、年3回バイナリパッケージがリリースされます。

    NGINX Plusは、エンタープライズ向けの追加機能と商用サポート(英語、日本語)が含まれています。 NGINX Plus – リリースサイクル https://docs.nginx.com/nginx/releases/
  14. ©2022 F5 20 コンテナプラットフォームに最適なNGINX Technology Source: Datadog Container Report 2022

    Top Ingress Providers CNCF Survey Source: CNCF Survey 2020 安定・高速動作がクラウドネイティブ環境に最適 実績
  15. ©2022 F5 21 柔軟に拡張できる最高のパフォーマンス HARDWARE SPECS EXPECTED PERFORMANCE 2 CPU

    cores 4 GB RAM 2x10 GbE NIC 74,000 RPS 9,100 SSL TPS (ECC) 4 Gbps throughput 4 CPU cores 8 GB RAM 2x10 GbE NIC 150,000 RPS 17,600 SSL TPS (ECC) 8 Gbps throughput 8 CPU cores 16 GB RAM 2x10 GbE NIC 300,000 RPS 33,000 SSL TPS (ECC) 8 Gbps throughput HARDWARE SPECS EXPECTED PERFORMANCE 2 CPU cores 4 GB RAM 2x1 GbE NIC 90,000 RPS 4,500 SSL TPS (ECC) 1 Gbps throughput 4 CPU cores 4 GB RAM 2x40 GbE NIC 175,000 RPS 8,500 SSL TPS (ECC) 5 Gbps throughput 8 CPU cores 4 GB RAM 2x40 GbE NIC 350,000 RPS 16,000 SSL TPS (ECC) 40 Gbps throughput 0 2000 4000 6000 8000 10000 12000 14000 16000 18000 系列1 0 50000 100000 150000 200000 250000 300000 350000 400000 系列1 0 5000 10000 15000 20000 25000 30000 35000 系列1 0 50000 100000 150000 200000 250000 300000 350000 系列1 2 Core 4 GB 4 Core 4 GB 8 Core 4 GB 2 Core 4 GB 4 Core 8 GB 8 Core 16 GB https://www.nginx.com/resources/datasheets/nginx-plus-sizing-guide/ https://www.nginx.com/resources/datasheets/nginx-ingress-controller-kubernetes/ ベアメタル:CPU/メモリに応じて様々な規模に柔軟な対応 Ingress Controller:アプライアンスに相当する高速・安定な処理 安定・拡張性
  16. ©2022 F5 27 • NGINXの持つ基本機能群 おさらい • NGINX(OSS版)とNGINX Plusの違い •

    NGINX Plus基本コン フィグのデモ Webinar 1 – これからはじめるNGINX技術解説~基本編 https://www.nginx.co.jp/resources/webinars/nginx-back-to-basic-jp/ このセミナーの主な内容:
  17. ©2022 F5 28 Webinar 2 – これからはじめるNGINX技術解説~基本編 Part2 • NGINXの持つ基本機能群

    おさらい • NGINXの動作の基礎、 listen directiveについて • NGINXのReverse Proxy 機能&設定 • NGINX の高度なロード バランシング機能&設定 https://www.nginx.co.jp/resources/webinars/nginx-back-to-basic-2-jp/ このセミナーの主な内容:
  18. ©2022 F5 29 • NGINXの持つセキュリ ティ機能おさらい • NGINX Rate Limitの紹

    介&設定 • JWT validation (OAuth, OIDC) の紹介&設定 • WAFの紹介&設定 Webinar 3 – これからはじめるNGINX技術解説Part 3 ~セキュリティ編 https://www.nginx.co.jp/resources/webinars/nginx-back-to-basic-3-security-jp/ このセミナーの主な内容:
  19. ©2022 F5 30 • NGINX Ingress Controllerとは? • KubernetesにおけるNGINX Ingress

    Controllerの必要性 • 基本設定の紹介 (Ingress/VS/VSR 機能・設定) • Ingress Snippetによる拡張(既 存コンフィグの再利用) • ログの確認方法 Webinar 4 – これからはじめるNGINX技術解説~Ingress Controller編 https://www.nginx.co.jp/resources/webinars/nginx-back-to-basic-ingress-controller-jp/ このセミナーの主な内容: