SlideShare una empresa de Scribd logo
1 de 40
NGINX (OSS版)ユーザのため
のNGINX Plus/
NGINX Controller入門
| ©2020 F52
F5ネットワークスジャパン合同会社
NGINX Technical Solutions Architect
松本 央 鈴木 孝彰
| ©2020 F53
Agenda
•NGINXのご紹介
•NGINX導入の流れ
•NGINX OSS / Plusの機能比較
•NGINX Plus
•NGINX Controller
•デモ
| ©2020 F54
NGINX
| ©2020 F55
NGINXの歴史
NGINX
(オープンソー
ス)
2011 : Nginx, Inc. 会社設立
2013 : Nginx Plusリリース
2017 : Announced;
- NGINX Controller
- NGINX Unit
- NGINX WAF
2019
2014 : NGINX Becomes Number One Web Server
for Top 10,000 Busiest Websites in the World
2004 : NGINX 最初のリリー
ス
2019 : Fuels 375M+ web sites, 60%
of the busiest 100K sites
NGINX PLUS
(商用版)
2002 : Igor Sysoev (CTO of NGINX, Inc.)
began development of Nginx
買収
イゴール・シソエフ
NGINX 著者
| ©2020 F56
Web Server
Reverse Proxy
and Cache
Web Server
Reverse Proxy
and Cache
| ©2020 F57
Advanced
Load
Balancing
Advanced
Content
Cache
Web Server
Reverse Proxy
and Cache
Advanced
Monitoring &
Management
Advanced
Security
Controls
| ©2020 F58
4.5億
sites run NGINX
WE HAVE TREMENDOUS INSIGHT INTO APPLICATION PATTERNS
| ©2020 F5 NETWORKS8
https://news.netcraft.com/archives/2020/05/26/may-2020-web-server-survey.html
| ©2020 F59
NGINX Plus – クラウドに依存せずポータブル
ベアメタル マルチクラウド コンテナ
Linux/BSD
CPUs
VMware vSphere
| ©2020 F510
NGINX Plus – クラウドに依存せずポータブル
ベアメタル マルチクラウド コンテナ
Linux/BSD
CPUs
VMware vSphere
Advanced
Load
Balancing
Advanced
Content
Cache
Web Server
Reverse Proxy
and Cache
Advanced
Monitoring &
Management
Advanced
Security
Controls
| ©2020 F511
DELIVERING MODERN APPLICATIONS AT SCALE ACROSS SEAMLESSLY ACROSS MULTI-CLOUD
NGINX 製品
NGINX Plus
All-In-One Software
ロードバランサー、コンテンツキャッシュ、
Webサーバ
安定、高速、高機能
必要となるリソースは最小
NGINX Controller
NGINX+統合管理ソフトウェア
NGINX+のロードバランサやAPI
Gateway、更にマルチクラウド環境に
おいても容易に管理が可能。
GUIに加えAPIでの制御が可能
NGINX Unit
NGINXが開発する新しいダイナミック
アプリケーションサーバ
OSSで提供されており、複数の
プログラミング言語をサポート。
NGINX UnitはREST APIを用いて
設定変更が可能
| ©2020 F512
DELIVERING MODERN APPLICATIONS AT SCALE ACROSS SEAMLESSLY ACROSS MULTI-CLOUD
NGINX Service Mesh
NGINX Plusで複雑な
マイクロサービス、アプリケーション間の
通信問題を解決するシンプルな
サービスメッシュソリューション。
NGINX App Protect
アプリケーションに特化した
Web Application Firewall
NGINX+にシームレスに統合可能な
新しいWAF。 F5の実績に基づき、
高速な高品質なWAFを実現
Open BetaNEW
NGINX 製品
NGINX Ingress
Controller
Kubernetes環境への
外部アクセスをコントロール。
NGINX機能をIngressリソース
を通じて管理可能。
NGINX App Protect対応
| ©2020 F513
© 2019 F5 NETWORKS - CONFIDENTIAL
NGINX OSS – リリースサイクル
NGINX OSSは、mainline(奇数)とstable(偶数)の二種類に分かれます
毎年4月にmainlineからstableをforkします。以降のリリースVersionが新しい番号へ更新されます
NGINX Plusは、NGINX OSSと別のレポジトリで管理されています。mainlineからforkされます
NGINXはmainlineの利用を推奨しますが、更新頻度などの観点からstableの利用も可能です
1year 1year
| ©2020 F514
© 2019 F5 NETWORKS - CONFIDENTIAL
R16 R17 R18
NGINX Plusは、NGINXメインラインでテスト・実証された、すべてのOSS新機能を取り入れます。
NGINX Plusには、エンタープライズ向けの追加機能が含まれています。
NGINX Plusは、4ヶ月毎(4月、9月、12月)にリリースされます。
NGINX Plusは、リリースから2年間サポートされます。
NGINX Plus – リリースサイクル
4month 4month4month
| ©2020 F515
NGINX 導入のながれ
| ©2020 F516
システムの拡張とNGINX導入の流れ
Service
App
App
サービス・リリース
Service
App
App
サービスの規模拡大、システム拡張
Service
App
App
用途に応じて様々な機能を
自由に選択可能!
• Web Server
• Load Balancer
• Reverse Proxy
• Contents Cache
• サービスレベルを高める
ユーザへの通信影響を減らす
障害=損害、クレーム
• セキュリティを高める
重要なデータの管理
ユーザ毎に充実したコンテンツの提供
攻撃者のターゲットに
「安定」「高速」なNGINXの利用を開始 本番環境でシステム規模・重要度が高くなり・・
HA構成、ActiveHelthCheckによる障害影響
軽減。多彩なLB方式等による通信の安定化
WAFによるセキュリティ向上
RateLimit、JWT/Oauth/OIDC認証
NGINX Plus・NGINX Controllerを用いて
より詳細なステータス取得で状況把握が簡単に
規模・重要度に対する優れた堅牢性
さらなる拡張に向けた「品質向上」!
| ©2020 F517
システムの拡張とNGINX導入の流れ
Service
App
App
サービス・リリース
Service
App
App
サービスの規模拡大、システム拡張
Service
App
App
用途に応じて様々な機能を
自由に選択可能!
• Web Server
• Load Balancer
• Reverse Proxy
• Contents Cache
• サービスレベルを高める
ユーザへの通信影響を減らす
障害=損害、クレーム
• セキュリティを高める
重要なデータの管理
ユーザ毎に充実したコンテンツの提供
攻撃者のターゲットに
「安定」「高速」なNGINXの利用を開始 本番環境でシステム規模・重要度が高くなり・・
HA構成、ActiveHelthCheckによる障害影響
軽減。多彩なLB方式等による通信の安定化
WAFによるセキュリティ向上
RateLimit、JWT/Oauth/OIDC認証
NGINX Plus・NGINX Controllerを用いて
より詳細なステータス取得で状況把握が簡単に
より優れた品質のプラットフォームを実現するため
NGINX Plus/Controller をご活用いただけます
規模・重要度に対する優れた堅牢性
さらなる拡張に向けた「品質向上」!
| ©2020 F518
NGINX OSS / Plus の機能比較
| ©2020 F519
© 2019 F5 NETWORKS - CONFIDENTIAL
NGINX OSS / Plus – 機能比較
Features OSS NGINX Plus
ロードバランサー
HTTP/TCP/UDP サポート ✔ ✔
レイヤー7 リクエスト ルーティング ✔ ✔
アクティブ ヘルスチェック ✔
セッション維持 ✔
DNSサービス・ディスカバリ 統合 ✔
コンテンツ キャッシュ
静的/動的コンテンツ キャッシュ ✔ ✔
キャッシュ・パージAPI ✔
Webサーバ・リバースプロキシ
静的コンテンツ用オリジンサーバ ✔ ✔
リバースプロキシ:HTTP, FastCGI,
memcached, SCGI, uwsgi
✔ ✔
HTTP/2 ゲートウェイ ✔ ✔
gRPC プロキシ ✔ ✔
HTTP/2 サーバ プッシュ ✔ ✔
セキュリティ制御
HTTP ベーシック認証 ✔ ✔
HTTP 認証サブリクエスト ✔ ✔
IPアドレスベースのアクセス コントロール リスト ✔ ✔
レート制限 ✔ ✔
デュアル・スタックRSA/ECC SSL/TLS オフロード ✔ ✔
TLS 1.3 サポート ✔ ✔
JWT 認証 ✔
OpenID Connect SSO ✔
NGINX Webアプリケーション ファイヤーウオール
(別途有償)
✔
Features OSS NGINX Plus
監視
AppDynamics, Datadog, Dynatrace プラグイン ✔ ✔
90の追加拡張モニタリング対象項目 ✔
冗長化構成(HA)
アクティブ−アクティブおよびアクティブ−パッシブ構成 ✔
設定の同期 ✔
ステート共有:スティッキーセッション維持、
レート制限、キーバリューストア
✔
プログラム可能性
NGINX JavaScript モジュール ✔ ✔
NGINX Plus 動的再設定API ✔
キーバリューストア ✔
プロセスのリロードが不要な動的再設定 ✔
ストリーミングメディア
ライブストリーミング: RTMP, HLS, DASH ✔ ✔
VOD: Flash (flv), MP4 ✔ ✔
アダプティブ ビットレートVOD: HLS, HDS ✔
MP4 帯域制御 ✔
サード パーティー エコシステム
Kubernetes イングレス コントローラー ✔ ✔
OpenShift ルーター ✔ ✔
動的モジュール レポジトリ ✔
サポート
メーカーサポート ✔
NGINX Unit(OSS)のサポート ✔
https://www.nginx.co.jp/products/products-nginx/#compare-versions
| ©2020 F520
NGINX OSS / Plus – 機能比較
Features OSS NGINX Plus
ロードバランサー
HTTP/TCP/UDP サポート ✔ ✔
レイヤー7 リクエスト ルーティング ✔ ✔
アクティブ ヘルスチェック ✔
セッション維持 ✔
DNSサービス・ディスカバリ 統合 ✔
コンテンツ キャッシュ
静的/動的コンテンツ キャッシュ ✔ ✔
キャッシュ・パージAPI ✔
Webサーバ・リバースプロキシ
静的コンテンツ用オリジンサーバ ✔ ✔
リバースプロキシ:HTTP, FastCGI,
memcached, SCGI, uwsgi
✔ ✔
HTTP/2 ゲートウェイ ✔ ✔
gRPC プロキシ ✔ ✔
HTTP/2 サーバ プッシュ ✔ ✔
セキュリティ制御
HTTP ベーシック認証 ✔ ✔
HTTP 認証サブリクエスト ✔ ✔
IPアドレスベースのアクセス コントロール リスト ✔ ✔
レート制限 ✔ ✔
デュアル・スタックRSA/ECC SSL/TLS オフロード ✔ ✔
TLS 1.3 サポート ✔ ✔
JWT 認証 ✔
OpenID Connect SSO ✔
NGINX Webアプリケーション ファイヤーウオール
(別途有償)
✔
Features OSS NGINX Plus
監視
AppDynamics, Datadog, Dynatrace プラグイン ✔ ✔
90の追加拡張モニタリング対象項目 ✔
冗長化構成(HA)
アクティブ−アクティブおよびアクティブ−パッシブ構成 ✔
設定の同期 ✔
ステート共有:スティッキーセッション維持、
レート制限、キーバリューストア
✔
プログラム可能性
NGINX JavaScript モジュール ✔ ✔
NGINX Plus 動的再設定API ✔
キーバリューストア ✔
プロセスのリロードが不要な動的再設定 ✔
ストリーミングメディア
ライブストリーミング: RTMP, HLS, DASH ✔ ✔
VOD: Flash (flv), MP4 ✔ ✔
アダプティブ ビットレートVOD: HLS, HDS ✔
MP4 帯域制御 ✔
サード パーティー エコシステム
Kubernetes イングレス コントローラー ✔ ✔
OpenShift ルーター ✔ ✔
動的モジュール レポジトリ ✔
サポート
メーカーサポート ✔
NGINX Unit(OSS)のサポート ✔
https://www.nginx.co.jp/products/products-nginx/#compare-versions
| ©2020 F521
NGINX Plus
| ©2020 F522
Active Healthcheck
Service
App
App
NGINX OSS
App
Passive HealthCheck
OK? NG?
クライアントの通信が、一定時間内に指定した回数失敗
した場合、対象サーバを「failed」と判定し、一定時間通
信を転送先から除外します
機
能
クライアントの通信の結果を判定に用います。よってクライ
アントはエラーを受けとった後、その後の影響を緩和する
機能となります
ポ
イ
ン
ト
NGINXがサーバのモニターを行い、指定した回数連続で
モニターが失敗した場合、対象サーバを「failed」と判定し、
一定時間通信を転送先から除外します
機
能
クライアント通信に依存しないため、ユーザ影響なく障害
箇所の切り離しが可能です
モニターではURL Pathやレスポンス内の文字列など多彩
な条件によりアプリの適切な正常性の判定が可能です
ポ
イ
ン
ト
NGINX Plus
Active HealthCheck
Service
App
App
App
Status
Check !
| ©2020 F523
Active Healthcheck:Config
Service
App
App
NGINX OSS
App
Passive HealthCheck
OK? NG?
NGINX Plus
Active HealthCheck
Service
App
App
App
Status
Check !
upstream backend {
zone backend 64k;
server backend1.example.com;
server backend2.example.com max_fails=3 fail_timeout=30s;
}
upstream backend {
zone backend 64k;
server backend1.example.com;
server backend2.example.com;
}
match www_ok {
status 200;
body ”OK";
}
location / {
proxy_pass http://backend;
health_check interval=10 fails=3 passes=2 uri=/echo match=www_ok;
}
・・30秒間に3回失敗した際にFailと判定
・・Monitrを成功と判定する際の条件を指定
ステータスコード「200」、レスポンスに「OK」と含む場合、「up」と判定
・・10秒ごとにuri /echo に対し、www_okの条件でモニターを実施
3回失敗した場合に「Fail」と判定、2回成功した際に「up」と判定
serverがFailと判定された後、一定時間経過後改めてクライアント通信
で正常性を判定し、そのステータスを決定します
health_checkの実行間隔や、matchの条件は柔軟に指定が可能な
ため、アプリケーションレイヤでの正常性が適切に判断できます
| ©2020 F524
Load Balancing
Service
App
App
NGINX OSS
App
様々なバランシングメソッドを用いて、サーバへの通信の転
送が可能。
Round Robin , Least Connections , IP Hash ,
Generic Hash , Randomなど
機
能
比較的多くのロードバランシングメソッドが選択可能。
単一のデータセンターやクラウドなどの環境に閉じる場合に
は大きな問題なく利用が可能
ポ
イ
ン
ト
OSSで実装されたバランシングメソッドに加え、「Least
Time」方式を選択可能。応答時間の判定に用いる要
素として、「header」や「last_byte」など選択可能
機
能
分散先サーバが何かの理由により、処理に時間がかかっ
ている場合や、マルチクラウド環境などで物理的な距離に
よる応答時間に差がある場合に有効に利用できる方式
ポ
イ
ン
ト
NGINX Plus
Service
App
Round
Robin!
2
3
1
Least
Time!
Service
App
オンプレミスDC
2ms
10ms
| ©2020 F525
Load Balancing:Config
Service
App
App
NGINX OSS
App
NGINX Plus
Service
App
Round
Robin!
2
3
1
Least
Time!
Service
App
オンプレミスDC
2ms
10ms
upstream backend {
zone backend 64k;
round_robin;
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
server backend4.example.com;
}
upstream backend {
zone backend 64k;
least_time header;
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
server backend4.example.com;
}
・・要件に応じてバランシングメソッドの指定が可能 ・・ヘッダー応答にかかった時間を元に最短のサーバへ転送
多くの分散方式によりOSSにおいても、一般的なご用件を満たすことが可
能です。また、記述がない場合、「Round Robin」の動作を示します
NGINX Plusをご選択の場合にはより、アプリの応答時間の要求が高い
場合や、マルチリージョン・マルチクラスタにおける適切な分散が可能です
| ©2020 F526
Persistence
Service
App
App
NGINX OSS
App
先程ご紹介したロードバランシングメソッドの内、「IP
Hash」や「Generic Hash」を用いる事により、クライアン
トのIPアドレスや任意のパラメータを用いて、適切にクライ
アントの通信を特定サーバに転送することが可能です
機
能
クライアントIPアドレスや、パラメータから一意に転送先が
決定されます。そのため、通信の偏りが発生しする可能性
があるため比較的軽い処理における通信維持に適してい
ます
ポ
イ
ン
ト
ロードバランシングを行った後の通信の状況をNGINX
Plusが識別し、その後の通信を適切に同じサーバへ転送
する「sticky」が利用可能。通信維持方式として、
「cookie」、「route」、「learn」の選択が可能
機
能
クライアントのリクエストを適切にバランシングした後、
Cookieを用いた制御や、通信内でサーバより応答される
内容などを参照し適切な通信維持を実現します。自由
度が高く、指定した期間通信維持をすることが可能です
ポ
イ
ン
ト
NGINX Plus
Service
App
App
App
LB後の通信をその
後も適切に維持
パラメータより
転送先を決定
2
1
| ©2020 F527
Persistence:Config
Service
App
App
NGINX OSS
App
NGINX Plus
Service
App
App
App
LB後の通信をその
後も適切に維持
パラメータより
転送先を決定
2
1
upstream backend {
zone backend 64k;
hash $request_uri consistent;
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
server backend4.example.com;
}
upstream backend {
zone backend 64k;
least_time header;
sticky cookie srv_id expires=1h domain=.demo.local path=/;
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
server backend4.example.com;
}
送信元IPアドレスや指定のパラメータに応じて転送先が決定されます
分散アルゴリズムよって転送した通信に対し、アプリの実装に合わせた通信
の維持を実装することが可能です。
レスポンスで以下Cookieを応答し、以降、当該keyを含む通信を同じserverへ転送する
Set-Cookie: srv_id=d43**省略**72; expires=Sun, 01-Sep-20
07:29:58 GMT; max-age=3600; domain=.demo.local; path=/
・・「srv_id」というKeyと通信の識別に用いる値
をCookieで応答し、その後通信を維持します
・・hashアルゴリズムにより、リクエストURIに応じて
転送先を一意に決定する
※Upstreamのサーバ転送先が固定される
| ©2020 F528
High Availability
Service
App
App
App
シングル構成での動作となります。
冗長性を実現するためには、DNSでの広
域負荷分散や、上位LBでの負荷分散を
ご利用いただく必要があります
機
能
単一のデータセンターやクラウドなどの環境
に閉じる場合には大きな問題なく利用が可
能
ポ
イ
ン
ト
NGINX Plusでは、インスタンスを冗長構成とする「HA」、
「ConfigSync」、「State Sharing」などの機能により、アプリケーションの
ニーズに合わせ、プラットフォーム全体の耐障害性を大きく向上します
機
能
単一のデータセンターやクラウドではkeepalivedをベースとした「HA」を用
いる事により、旧来と同様の運用方式でシステムの安定性を向上します。
複数のクラウド環境や広域に分散するシステムで、認証やRateLimitを
共有し、広域なアプリケーションで瞬時に状態を共有することが可能
ポ
イ
ン
ト
Service
App
NGINX OSS NGINX Plus
SINGLE構成
Service
App
App
App
オンプレミスDC
Service
App
DoS Sync
State ShareHigh Availability
HA
| ©2020 F529
High Availability:Config
Service
App
NGINX Plus
Service
App
App
App
オンプレミスDC
Service
App
DoS Sync
State ShareHigh Availability
global_defs {
vrrp_version 3
}
vrrp_script chk_manual_failover {
script "/usr/libexec/keepalived/nginx-ha-manual-failover"
interval 10
weight 50
}
vrrp_script chk_nginx_service {
script "/usr/libexec/keepalived/nginx-ha-check"
interval 3
weight 50
}
vrrp_instance VI_1 {
interface eth0
priority 101
virtual_router_id 51
advert_int 1
accept
garp_master_refresh 5
garp_master_refresh_repeat 1
unicast_src_ip 192.168.100.100
unicast_peer {
192.168.100.101
}
virtual_ipaddress {
192.168.100.150
}
track_script {
chk_nginx_service
chk_manual_failover
}
notify "/usr/libexec/keepalived/nginx-ha-notify"
}
stream {
server {
listen 192.168.100.100 :9000
zone_sync;
zone_sync_server 192.168.100.101:9000;
}
}
http {
limit_req_zone $remote_addr zone=req:1M rate=100r/s sync;
server {
listen 80;
location / {
limit_req zone=req;
proxy_pass http://my_backend;
}
}
VRRPはIPv4/IPv6デュアルスタックの対応が可能です。
本設定はスクリプトにより簡易に作成可能です
複数のクラウド環境や広域に分散するシステムで、認証やRateLimitを共有
し、広域なアプリケーションで瞬時に状態を共有することが可能
nginx-ha-keepalivedを導入し、以下設定によりAct/Sby,Act/Actなどの構成が可能です
・・Zone Syncを待ち受けるため、TCP(Stream)に設定
・・Sync先を指定
・・例としてリクエストリミットの
Syncを設定
HA
/etc/keepalived/keepalived.conf
| ©2020 F530
OpenID Connect
3rd Party Module
NGINX OSSはLuaやJavaScriptを用いることにより多
彩な機能拡張が可能です。その機能により3rd Party
Moduleの利用が可能であり、OIDCなどの機能を利用
することが可能となります
機
能
3rd Party Moduleはコミュニティ管理となるOSSのも多く、
メーカ動作保証を提供するものではございません。障害発
生時や切り分け、バグ対応においてもコミュニティとの連携
が求められます
ポ
イ
ン
ト
NGINX Plusの機能のうち、JWTを取り扱う
「auth_jwt」やKey-Valueストアの拡張機能である
「keyval」を活用し、NGINXより動作保証・メーカサポー
ト提供可能なModuleを提供します
機
能
メーカサポートを提供するため、障害発生時の切り分け、
バグ対応が可能です。また、認証情報はKeyvalに格納
されるため、「sync」オプションを利用することにより、クラス
タ間でのState Sharingが可能です
ポ
イ
ン
ト
NGINX OSS NGINX Plus
Service
App
IDP
OIDC
Module
NGINX Support Module
Service
App
IDP
OIDC
Module
| ©2020 F531
OpenID Connect:Config
NGINX Plus
# Custom log format to include the 'sub' claim in the REMOTE_USER field
log_format main_jwt '$remote_addr - $jwt_claim_sub ‘
'[$time_local] "$request" $status '
'$body_bytes_sent "$http_referer“ ’
'"$http_user_agent" "$http_x_forwarded_for"';
# The frontend server - reverse proxy with OpenID Connect authentication
server {
include conf.d/openid_connect.server_conf;
# Authorization code flow and Relying Party processing
error_log /var/log/nginx/error.log debug
listen 8010;
location / {
# This site is protected with OpenID Connect
auth_jwt "" token=$session_jwt;
error_page 401 = @do_oidc_flow;
auth_jwt_key_file $oidc_jwt_keyfile; # Enable when using filename
#auth_jwt_key_request /_jwks_uri; # Enable when using URL
# Successfully authenticated users are proxied to the backend,
proxy_set_header username $jwt_claim_sub;
proxy_pass http://my_backend;
access_log /var/log/nginx/access.log main_jwt;
}
ModuleをGitHubより取得します。スクリプトを用いて簡易に設定の作成が可能です。パラメータの指定により複数IDPへの振り分けが可能です。
・・OIDCで必要となるPATHと
機能に関する設定をinclude
Service
App
IDP
OIDC
Module
NGINX Support Module
・・JWTに関する処理
location = /_jwks_uri {
※省略※
}
location @do_oidc_flow {
※省略※
}
set $redir_location "/_codexch";
location = /_codexch {
※省略※
}
location = /_token {
※省略※
}
location = /_refresh {
※省略※
}
location = /_id_token_validation {
※省略※
}
location = /logout {
※省略※
}
conf.d/openid_connect.server_conf
| ©2020 F532
App Protect
NGINX Plus
Service
App
App
Service
App
App
App App
Service
App
App
App
Ingress
Proxy
Host Reverse Proxy Container/Ingress
個別のWebサーバへ導入可能。
WEBサーバの動的モジュールとして稼働
ホスト単位でアプリケーション保護が可能
リバースプロキシとして配置し、App
Protectを導入可能。WAFの配置をシン
プルにしながら、包括的にアプリケーションを
保護
コンテナ環境でも幅広く動作し、Ingress
として利用するNGINX Plusに導入可能。
その他内部アプリに合わせた配置が可能
構
成
特
徴
Secure Manage
CI/CD
Friendly
実績豊富なF5製WAFの機能を
移植。(高機能/高速/高品質)
柔軟な構成、既存NGINX Plusと
シームレスに統合可能
CI/CDパイプラインと容易に統合。
JSONによるPolicy設定
| ©2020 F533
App Protect:Config
NGINX Plus
いずれの環境においても、同じ設定で幅広く高度なWAFをご活用いただくことが可能です
Service
App
App
Service
App
App
App App
Service
App
App
App
Ingress
Proxy
Host Reverse Proxy Container/Ingress
load_module modules/ngx_http_app_protect_module.so;
http {
server {
listen 80;
# NGINX App Protect on
app_protect_enable on;
app_protect_security_log_enable on;
app_protect_security_log "/etc/nginx/log-default.json" syslog:server=elk:5144;
location /application01 {
root /usr/share/nginx/html;
app_protect_policy_file "/etc/nginx/security-policy.json";
index index.html index.htm;
}
}
}
・・Moduleのload
・・App Protect, Logを有効化
{
"filter": {
"request_type": "all"
},
"content": {
"format": "default",
"max_request_size": "any",
"max_message_size": "5k"
}
}
{
"policy":{
"name":"evasions_enabled",
"template":{ "name":"POLICY_NGINX_BASE" },
"applicationLanguage":"utf-8",
"enforcementMode":"blocking",
"signature-settings": {
"signatureStaging": false,
"placeSignaturesInStaging": false,
"attackSignatureFalsePositiveMode": "disabled",
"minimumAccuracyForAutoAddedSignatures":
"low"
}
・・Log Formatを記述したjsonファイルを指定
・・Policyを記述したjsonファイルを指定
/etc/nginx/log-default.json
/etc/nginx/security-policy.json
| ©2020 F534
NGINX Plus API / Dashboard
Service
App
App
NGINX OSS NGINX Plus
Service
App
App
• NGINXの状態を確認する際に、ログによる状態確認
が中心となります
• 数多くの監視ツール・APMが存在しますが、別途モ
ジュールやソフトウェアを導入し対応することが必要とな
ります
• NGINX Plusの状態をダッシュボードを通じてリアルタイ
ムに確認することが可能です
• 多くの情報をAPIから取得することにより、簡単に3rd
Partyモジュールとの連携を実現することが可能です
ポ
イ
ン
ト
ポ
イ
ン
ト
| ©2020 F535
NGINX Plus API / Dashboard
NGINX Plus
Service
App
App
server {
listen 8080;
location /api {
api write=on;
# directives limiting access to the API
}
location = /dashboard.html {
root /usr/share/nginx/html;
}
}
# curl -s 'http://localhost:8080/api/6/nginx' | jq .
{
"version": "1.19.0",
"build": "nginx-plus-r22",
"address": "10.10.10.33",
"generation": 20,
"load_timestamp": "2020-09-27T12:25:52.600Z",
"timestamp": "2020-09-27T23:42:42.952Z",
"pid": 5403,
"ppid": 14500
}
# curl -X POST -d '{ "server": "10.0.0.1:8089" }' -s
'http://localhost:8080/api/6/http/upstreams/appg1/servers' | jq .
{
"id": 12,
"server": "10.0.0.1:8089",
"weight": 1,
"max_conns": 0,
"max_fails": 1,
"fail_timeout": "10s",
"slow_start": "0s",
"route": "",
"backup": false,
"down": false
}
dashboard
API
・・apiを有効化
・・dashboardを提供
| ©2020 F536
サポート
Service
App
App
NGINX OSS
本番環境でシステム規模拡張に伴う過大
NGINX Plus
Service
App
App
SUPPORT
以下の内容がコミュニティベースの対応となります
• 機能追加による設定相談
• ユーザ増加による設定・パラメータチューニング
• 障害発生時の情報取得方法
• 想定外の動作をした場合の調査・切り分け
• 脆弱性・バグによるパッチの提供
メーカーサポートにより以下の対応となります
• 機能追加による設定相談
• ユーザ増加による設定・パラメータチューニング
• 障害発生時の情報取得方法
• 想定外の動作をした場合の調査・切り分け
• 脆弱性・バグによるパッチの提供
ポ
イ
ン
ト
ポ
イ
ン
ト
SLAを定義し、エンタープライズ品質のサポートを提供
| ©2020 F537
NGINX Controller
| ©2020 F538
NGINX Controller / API Management
NGINX
Controller
App
Protect
+
N Plus
NGINX
Plus
オンプレミス
CUSTOMER
オンプレミス
• 様々なプロトコル:
TCP/UDP, HTTP/HTTPS, gRPC,
• 効率化:
コンテンツキャッシュ
• セキュリティ:
WAF、アクセス制御、レート制限
自由な動作
環境の選択
Data plane
Control plane
• 3rd Party Toolとの容易な統合
• アプリケーション中心の優れたモニタリング
3rd Party
Integration
• 適切にデザインされた
「Control Plane」と「Data Plane」
シンプルな構成で、複数のNGINXを「高速」「安定」「省リソース」を維持しながら簡単に管理
NGINX
Plus
ServiceA
App
App
ServiceB
App
App
ServiceC
App
App
様々な環境の
NGINX設定、
ステータスを管理
| ©2020 F539
デモ
DEMO
アンケートを表示いたしますのでご回答をお願いいたします
Why NGINX Plus/NGINX Controller for NGINX OSS users

Más contenido relacionado

La actualidad más candente

AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMailAWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMailAmazon Web Services Japan
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX, Inc.
 
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!NGINX, Inc.
 
20190703 AWS Black Belt Online Seminar Amazon MQ
20190703 AWS Black Belt Online Seminar Amazon MQ20190703 AWS Black Belt Online Seminar Amazon MQ
20190703 AWS Black Belt Online Seminar Amazon MQAmazon Web Services Japan
 
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Amazon VPC: Security at the Speed Of Light (NET313) - AWS re:Invent 2018
Amazon VPC: Security at the Speed Of Light (NET313) - AWS re:Invent 2018Amazon VPC: Security at the Speed Of Light (NET313) - AWS re:Invent 2018
Amazon VPC: Security at the Speed Of Light (NET313) - AWS re:Invent 2018Amazon Web Services
 
VMware Cloud on AWS POC HCX デプロイガイド
VMware Cloud on AWS POC HCX デプロイガイドVMware Cloud on AWS POC HCX デプロイガイド
VMware Cloud on AWS POC HCX デプロイガイドNoritaka Kuroiwa
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.5.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.5.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.5.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.5.0対応)fisuda
 
AWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct ConnectAWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct ConnectAmazon Web Services Japan
 
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018Amazon Web Services Korea
 
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020AWSKRUG - AWS한국사용자모임
 
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~Juniper Networks (日本)
 
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)Amazon Web Services Japan
 
はじめてのCouch db
はじめてのCouch dbはじめてのCouch db
はじめてのCouch dbEiji Kuroda
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINXNGINX, Inc.
 
FIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH CometFIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH Cometfisuda
 
Learn nginx in 90mins
Learn nginx in 90minsLearn nginx in 90mins
Learn nginx in 90minsLarry Cai
 
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)NTT DATA Technology & Innovation
 
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?VMware Tanzu Korea
 
Jakarta EE 9 と これから
Jakarta EE 9 と これからJakarta EE 9 と これから
Jakarta EE 9 と これからKenji Kazumura
 

La actualidad más candente (20)

AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMailAWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
 
NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
 
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
 
20190703 AWS Black Belt Online Seminar Amazon MQ
20190703 AWS Black Belt Online Seminar Amazon MQ20190703 AWS Black Belt Online Seminar Amazon MQ
20190703 AWS Black Belt Online Seminar Amazon MQ
 
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Amazon VPC: Security at the Speed Of Light (NET313) - AWS re:Invent 2018
Amazon VPC: Security at the Speed Of Light (NET313) - AWS re:Invent 2018Amazon VPC: Security at the Speed Of Light (NET313) - AWS re:Invent 2018
Amazon VPC: Security at the Speed Of Light (NET313) - AWS re:Invent 2018
 
VMware Cloud on AWS POC HCX デプロイガイド
VMware Cloud on AWS POC HCX デプロイガイドVMware Cloud on AWS POC HCX デプロイガイド
VMware Cloud on AWS POC HCX デプロイガイド
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.5.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.5.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.5.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.5.0対応)
 
AWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct ConnectAWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct Connect
 
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
AWS 기반 블록체인 (1부) - 블록체인 환경 구성하기 (박혜영 & 유다니엘, AWS 솔루션즈 아키텍트) :: AWS DevDay2018
 
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020
쿠알못이 Amazon EKS로 안정적인 서비스 운영하기 - 최용호(넥슨코리아) :: AWS Community Day 2020
 
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
vSRX on Your Laptop : PCで始めるvSRX ~JUNOSをさわってみよう!~
 
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
 
はじめてのCouch db
はじめてのCouch dbはじめてのCouch db
はじめてのCouch db
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINX
 
FIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH CometFIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH Comet
 
Learn nginx in 90mins
Learn nginx in 90minsLearn nginx in 90mins
Learn nginx in 90mins
 
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
 
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
MSA 전략 2: 마이크로서비스, 어떻게 구현할 것인가?
 
Jakarta EE 9 と これから
Jakarta EE 9 と これからJakarta EE 9 と これから
Jakarta EE 9 と これから
 

Similar a Why NGINX Plus/NGINX Controller for NGINX OSS users

NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報NGINX, Inc.
 
NGINX Instance Manager Tames the Sprawl (Japanese version)
NGINX Instance Manager Tames the Sprawl (Japanese version)NGINX Instance Manager Tames the Sprawl (Japanese version)
NGINX Instance Manager Tames the Sprawl (Japanese version)NGINX, Inc.
 
Openshift NGINX Kubernetes (Japanese Webinar)
Openshift NGINX Kubernetes (Japanese Webinar)Openshift NGINX Kubernetes (Japanese Webinar)
Openshift NGINX Kubernetes (Japanese Webinar)NGINX, Inc.
 
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナーNGINX, Inc.
 
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」Takaaki Suzuki
 
Fundamentals of Microservices Japanese Webinar
Fundamentals of Microservices Japanese WebinarFundamentals of Microservices Japanese Webinar
Fundamentals of Microservices Japanese WebinarNGINX, Inc.
 
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナーNGINX, Inc.
 
NGINX New Features (Japanese Webinar)
NGINX New Features (Japanese Webinar)NGINX New Features (Japanese Webinar)
NGINX New Features (Japanese Webinar)NGINX, Inc.
 
NGINX Ingress Controller on RedHat OpenShift.pdf
NGINX Ingress Controller on RedHat OpenShift.pdfNGINX Ingress Controller on RedHat OpenShift.pdf
NGINX Ingress Controller on RedHat OpenShift.pdfFumieNakayama
 
NGINX & OpenShift Webinar for Energy Sector
NGINX & OpenShift Webinar for Energy Sector NGINX & OpenShift Webinar for Energy Sector
NGINX & OpenShift Webinar for Energy Sector NGINX, Inc.
 
Secure Kubernetes Apps in Production (Japanese Webinar)
Secure Kubernetes Apps in Production (Japanese Webinar)Secure Kubernetes Apps in Production (Japanese Webinar)
Secure Kubernetes Apps in Production (Japanese Webinar)NGINX, Inc.
 
NGINX Plus Hands On Training
NGINX Plus Hands On Training NGINX Plus Hands On Training
NGINX Plus Hands On Training NGINX, Inc.
 
API and Modern App Security for Microservices
API and Modern App Security for MicroservicesAPI and Modern App Security for Microservices
API and Modern App Security for MicroservicesNGINX, Inc.
 
NGINX Ingress Controller with WAF for Kubernetes
NGINX Ingress Controller with WAF for KubernetesNGINX Ingress Controller with WAF for Kubernetes
NGINX Ingress Controller with WAF for KubernetesNGINX, Inc.
 
NGINX + Ansible Automation Webinar (日本語版)
NGINX + Ansible Automation Webinar (日本語版)NGINX + Ansible Automation Webinar (日本語版)
NGINX + Ansible Automation Webinar (日本語版)NGINX, Inc.
 
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法NGINX, Inc.
 
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組み
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組みマルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組み
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組みNGINX, Inc.
 
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Shinichiro Arai
 
Microsoft MVP から見たクラウド サービスの現状と今後について
Microsoft MVP から見たクラウド サービスの現状と今後についてMicrosoft MVP から見たクラウド サービスの現状と今後について
Microsoft MVP から見たクラウド サービスの現状と今後についてIIJ
 
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!NGINX, Inc.
 

Similar a Why NGINX Plus/NGINX Controller for NGINX OSS users (20)

NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報
 
NGINX Instance Manager Tames the Sprawl (Japanese version)
NGINX Instance Manager Tames the Sprawl (Japanese version)NGINX Instance Manager Tames the Sprawl (Japanese version)
NGINX Instance Manager Tames the Sprawl (Japanese version)
 
Openshift NGINX Kubernetes (Japanese Webinar)
Openshift NGINX Kubernetes (Japanese Webinar)Openshift NGINX Kubernetes (Japanese Webinar)
Openshift NGINX Kubernetes (Japanese Webinar)
 
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
 
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
 
Fundamentals of Microservices Japanese Webinar
Fundamentals of Microservices Japanese WebinarFundamentals of Microservices Japanese Webinar
Fundamentals of Microservices Japanese Webinar
 
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
 
NGINX New Features (Japanese Webinar)
NGINX New Features (Japanese Webinar)NGINX New Features (Japanese Webinar)
NGINX New Features (Japanese Webinar)
 
NGINX Ingress Controller on RedHat OpenShift.pdf
NGINX Ingress Controller on RedHat OpenShift.pdfNGINX Ingress Controller on RedHat OpenShift.pdf
NGINX Ingress Controller on RedHat OpenShift.pdf
 
NGINX & OpenShift Webinar for Energy Sector
NGINX & OpenShift Webinar for Energy Sector NGINX & OpenShift Webinar for Energy Sector
NGINX & OpenShift Webinar for Energy Sector
 
Secure Kubernetes Apps in Production (Japanese Webinar)
Secure Kubernetes Apps in Production (Japanese Webinar)Secure Kubernetes Apps in Production (Japanese Webinar)
Secure Kubernetes Apps in Production (Japanese Webinar)
 
NGINX Plus Hands On Training
NGINX Plus Hands On Training NGINX Plus Hands On Training
NGINX Plus Hands On Training
 
API and Modern App Security for Microservices
API and Modern App Security for MicroservicesAPI and Modern App Security for Microservices
API and Modern App Security for Microservices
 
NGINX Ingress Controller with WAF for Kubernetes
NGINX Ingress Controller with WAF for KubernetesNGINX Ingress Controller with WAF for Kubernetes
NGINX Ingress Controller with WAF for Kubernetes
 
NGINX + Ansible Automation Webinar (日本語版)
NGINX + Ansible Automation Webinar (日本語版)NGINX + Ansible Automation Webinar (日本語版)
NGINX + Ansible Automation Webinar (日本語版)
 
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
 
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組み
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組みマルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組み
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組み
 
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
 
Microsoft MVP から見たクラウド サービスの現状と今後について
Microsoft MVP から見たクラウド サービスの現状と今後についてMicrosoft MVP から見たクラウド サービスの現状と今後について
Microsoft MVP から見たクラウド サービスの現状と今後について
 
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
 

Más de NGINX, Inc.

【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法NGINX, Inc.
 
Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3NGINX, Inc.
 
Managing Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & KubecostManaging Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & KubecostNGINX, Inc.
 
Manage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with ObservabilityManage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with ObservabilityNGINX, Inc.
 
Accelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with AutomationAccelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with AutomationNGINX, Inc.
 
Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101NGINX, Inc.
 
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices ArchitecturesUnit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices ArchitecturesNGINX, Inc.
 
Easily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINXEasily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINXNGINX, Inc.
 
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINXKeep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINXNGINX, Inc.
 
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...NGINX, Inc.
 
Protecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINXProtecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINXNGINX, Inc.
 
NGINX Kubernetes API
NGINX Kubernetes APINGINX Kubernetes API
NGINX Kubernetes APINGINX, Inc.
 
Successfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINXSuccessfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINXNGINX, Inc.
 
Installing and Configuring NGINX Open Source
Installing and Configuring NGINX Open SourceInstalling and Configuring NGINX Open Source
Installing and Configuring NGINX Open SourceNGINX, Inc.
 
Shift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINXShift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINXNGINX, Inc.
 
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptxHow to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptxNGINX, Inc.
 
Kubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティKubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティNGINX, Inc.
 
Software Delivery and the Rube Goldberg Machine: What Is the Problem We Are T...
Software Delivery and the Rube Goldberg Machine: What Is the Problem We Are T...Software Delivery and the Rube Goldberg Machine: What Is the Problem We Are T...
Software Delivery and the Rube Goldberg Machine: What Is the Problem We Are T...NGINX, Inc.
 
Open Sourcing NGINX Agent and Demo
Open Sourcing NGINX Agent and DemoOpen Sourcing NGINX Agent and Demo
Open Sourcing NGINX Agent and DemoNGINX, Inc.
 
NGINX, Open Source, and You – Another Decade of Innovation
NGINX, Open Source, and You – Another Decade of InnovationNGINX, Open Source, and You – Another Decade of Innovation
NGINX, Open Source, and You – Another Decade of InnovationNGINX, Inc.
 

Más de NGINX, Inc. (20)

【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
 
Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3Get Hands-On with NGINX and QUIC+HTTP/3
Get Hands-On with NGINX and QUIC+HTTP/3
 
Managing Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & KubecostManaging Kubernetes Cost and Performance with NGINX & Kubecost
Managing Kubernetes Cost and Performance with NGINX & Kubecost
 
Manage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with ObservabilityManage Microservices Chaos and Complexity with Observability
Manage Microservices Chaos and Complexity with Observability
 
Accelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with AutomationAccelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with Automation
 
Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101Unit 2: Microservices Secrets Management 101
Unit 2: Microservices Secrets Management 101
 
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices ArchitecturesUnit 1: Apply the Twelve-Factor App to Microservices Architectures
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
 
Easily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINXEasily View, Manage, and Scale Your App Security with F5 NGINX
Easily View, Manage, and Scale Your App Security with F5 NGINX
 
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINXKeep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
 
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
 
Protecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINXProtecting Apps from Hacks in Kubernetes with NGINX
Protecting Apps from Hacks in Kubernetes with NGINX
 
NGINX Kubernetes API
NGINX Kubernetes APINGINX Kubernetes API
NGINX Kubernetes API
 
Successfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINXSuccessfully Implement Your API Strategy with NGINX
Successfully Implement Your API Strategy with NGINX
 
Installing and Configuring NGINX Open Source
Installing and Configuring NGINX Open SourceInstalling and Configuring NGINX Open Source
Installing and Configuring NGINX Open Source
 
Shift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINXShift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINX
 
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptxHow to Avoid the Top 5 NGINX Configuration Mistakes.pptx
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
 
Kubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティKubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティ
 
Software Delivery and the Rube Goldberg Machine: What Is the Problem We Are T...
Software Delivery and the Rube Goldberg Machine: What Is the Problem We Are T...Software Delivery and the Rube Goldberg Machine: What Is the Problem We Are T...
Software Delivery and the Rube Goldberg Machine: What Is the Problem We Are T...
 
Open Sourcing NGINX Agent and Demo
Open Sourcing NGINX Agent and DemoOpen Sourcing NGINX Agent and Demo
Open Sourcing NGINX Agent and Demo
 
NGINX, Open Source, and You – Another Decade of Innovation
NGINX, Open Source, and You – Another Decade of InnovationNGINX, Open Source, and You – Another Decade of Innovation
NGINX, Open Source, and You – Another Decade of Innovation
 

Why NGINX Plus/NGINX Controller for NGINX OSS users

  • 2. | ©2020 F52 F5ネットワークスジャパン合同会社 NGINX Technical Solutions Architect 松本 央 鈴木 孝彰
  • 3. | ©2020 F53 Agenda •NGINXのご紹介 •NGINX導入の流れ •NGINX OSS / Plusの機能比較 •NGINX Plus •NGINX Controller •デモ
  • 5. | ©2020 F55 NGINXの歴史 NGINX (オープンソー ス) 2011 : Nginx, Inc. 会社設立 2013 : Nginx Plusリリース 2017 : Announced; - NGINX Controller - NGINX Unit - NGINX WAF 2019 2014 : NGINX Becomes Number One Web Server for Top 10,000 Busiest Websites in the World 2004 : NGINX 最初のリリー ス 2019 : Fuels 375M+ web sites, 60% of the busiest 100K sites NGINX PLUS (商用版) 2002 : Igor Sysoev (CTO of NGINX, Inc.) began development of Nginx 買収 イゴール・シソエフ NGINX 著者
  • 6. | ©2020 F56 Web Server Reverse Proxy and Cache Web Server Reverse Proxy and Cache
  • 7. | ©2020 F57 Advanced Load Balancing Advanced Content Cache Web Server Reverse Proxy and Cache Advanced Monitoring & Management Advanced Security Controls
  • 8. | ©2020 F58 4.5億 sites run NGINX WE HAVE TREMENDOUS INSIGHT INTO APPLICATION PATTERNS | ©2020 F5 NETWORKS8 https://news.netcraft.com/archives/2020/05/26/may-2020-web-server-survey.html
  • 9. | ©2020 F59 NGINX Plus – クラウドに依存せずポータブル ベアメタル マルチクラウド コンテナ Linux/BSD CPUs VMware vSphere
  • 10. | ©2020 F510 NGINX Plus – クラウドに依存せずポータブル ベアメタル マルチクラウド コンテナ Linux/BSD CPUs VMware vSphere Advanced Load Balancing Advanced Content Cache Web Server Reverse Proxy and Cache Advanced Monitoring & Management Advanced Security Controls
  • 11. | ©2020 F511 DELIVERING MODERN APPLICATIONS AT SCALE ACROSS SEAMLESSLY ACROSS MULTI-CLOUD NGINX 製品 NGINX Plus All-In-One Software ロードバランサー、コンテンツキャッシュ、 Webサーバ 安定、高速、高機能 必要となるリソースは最小 NGINX Controller NGINX+統合管理ソフトウェア NGINX+のロードバランサやAPI Gateway、更にマルチクラウド環境に おいても容易に管理が可能。 GUIに加えAPIでの制御が可能 NGINX Unit NGINXが開発する新しいダイナミック アプリケーションサーバ OSSで提供されており、複数の プログラミング言語をサポート。 NGINX UnitはREST APIを用いて 設定変更が可能
  • 12. | ©2020 F512 DELIVERING MODERN APPLICATIONS AT SCALE ACROSS SEAMLESSLY ACROSS MULTI-CLOUD NGINX Service Mesh NGINX Plusで複雑な マイクロサービス、アプリケーション間の 通信問題を解決するシンプルな サービスメッシュソリューション。 NGINX App Protect アプリケーションに特化した Web Application Firewall NGINX+にシームレスに統合可能な 新しいWAF。 F5の実績に基づき、 高速な高品質なWAFを実現 Open BetaNEW NGINX 製品 NGINX Ingress Controller Kubernetes環境への 外部アクセスをコントロール。 NGINX機能をIngressリソース を通じて管理可能。 NGINX App Protect対応
  • 13. | ©2020 F513 © 2019 F5 NETWORKS - CONFIDENTIAL NGINX OSS – リリースサイクル NGINX OSSは、mainline(奇数)とstable(偶数)の二種類に分かれます 毎年4月にmainlineからstableをforkします。以降のリリースVersionが新しい番号へ更新されます NGINX Plusは、NGINX OSSと別のレポジトリで管理されています。mainlineからforkされます NGINXはmainlineの利用を推奨しますが、更新頻度などの観点からstableの利用も可能です 1year 1year
  • 14. | ©2020 F514 © 2019 F5 NETWORKS - CONFIDENTIAL R16 R17 R18 NGINX Plusは、NGINXメインラインでテスト・実証された、すべてのOSS新機能を取り入れます。 NGINX Plusには、エンタープライズ向けの追加機能が含まれています。 NGINX Plusは、4ヶ月毎(4月、9月、12月)にリリースされます。 NGINX Plusは、リリースから2年間サポートされます。 NGINX Plus – リリースサイクル 4month 4month4month
  • 15. | ©2020 F515 NGINX 導入のながれ
  • 16. | ©2020 F516 システムの拡張とNGINX導入の流れ Service App App サービス・リリース Service App App サービスの規模拡大、システム拡張 Service App App 用途に応じて様々な機能を 自由に選択可能! • Web Server • Load Balancer • Reverse Proxy • Contents Cache • サービスレベルを高める ユーザへの通信影響を減らす 障害=損害、クレーム • セキュリティを高める 重要なデータの管理 ユーザ毎に充実したコンテンツの提供 攻撃者のターゲットに 「安定」「高速」なNGINXの利用を開始 本番環境でシステム規模・重要度が高くなり・・ HA構成、ActiveHelthCheckによる障害影響 軽減。多彩なLB方式等による通信の安定化 WAFによるセキュリティ向上 RateLimit、JWT/Oauth/OIDC認証 NGINX Plus・NGINX Controllerを用いて より詳細なステータス取得で状況把握が簡単に 規模・重要度に対する優れた堅牢性 さらなる拡張に向けた「品質向上」!
  • 17. | ©2020 F517 システムの拡張とNGINX導入の流れ Service App App サービス・リリース Service App App サービスの規模拡大、システム拡張 Service App App 用途に応じて様々な機能を 自由に選択可能! • Web Server • Load Balancer • Reverse Proxy • Contents Cache • サービスレベルを高める ユーザへの通信影響を減らす 障害=損害、クレーム • セキュリティを高める 重要なデータの管理 ユーザ毎に充実したコンテンツの提供 攻撃者のターゲットに 「安定」「高速」なNGINXの利用を開始 本番環境でシステム規模・重要度が高くなり・・ HA構成、ActiveHelthCheckによる障害影響 軽減。多彩なLB方式等による通信の安定化 WAFによるセキュリティ向上 RateLimit、JWT/Oauth/OIDC認証 NGINX Plus・NGINX Controllerを用いて より詳細なステータス取得で状況把握が簡単に より優れた品質のプラットフォームを実現するため NGINX Plus/Controller をご活用いただけます 規模・重要度に対する優れた堅牢性 さらなる拡張に向けた「品質向上」!
  • 18. | ©2020 F518 NGINX OSS / Plus の機能比較
  • 19. | ©2020 F519 © 2019 F5 NETWORKS - CONFIDENTIAL NGINX OSS / Plus – 機能比較 Features OSS NGINX Plus ロードバランサー HTTP/TCP/UDP サポート ✔ ✔ レイヤー7 リクエスト ルーティング ✔ ✔ アクティブ ヘルスチェック ✔ セッション維持 ✔ DNSサービス・ディスカバリ 統合 ✔ コンテンツ キャッシュ 静的/動的コンテンツ キャッシュ ✔ ✔ キャッシュ・パージAPI ✔ Webサーバ・リバースプロキシ 静的コンテンツ用オリジンサーバ ✔ ✔ リバースプロキシ:HTTP, FastCGI, memcached, SCGI, uwsgi ✔ ✔ HTTP/2 ゲートウェイ ✔ ✔ gRPC プロキシ ✔ ✔ HTTP/2 サーバ プッシュ ✔ ✔ セキュリティ制御 HTTP ベーシック認証 ✔ ✔ HTTP 認証サブリクエスト ✔ ✔ IPアドレスベースのアクセス コントロール リスト ✔ ✔ レート制限 ✔ ✔ デュアル・スタックRSA/ECC SSL/TLS オフロード ✔ ✔ TLS 1.3 サポート ✔ ✔ JWT 認証 ✔ OpenID Connect SSO ✔ NGINX Webアプリケーション ファイヤーウオール (別途有償) ✔ Features OSS NGINX Plus 監視 AppDynamics, Datadog, Dynatrace プラグイン ✔ ✔ 90の追加拡張モニタリング対象項目 ✔ 冗長化構成(HA) アクティブ−アクティブおよびアクティブ−パッシブ構成 ✔ 設定の同期 ✔ ステート共有:スティッキーセッション維持、 レート制限、キーバリューストア ✔ プログラム可能性 NGINX JavaScript モジュール ✔ ✔ NGINX Plus 動的再設定API ✔ キーバリューストア ✔ プロセスのリロードが不要な動的再設定 ✔ ストリーミングメディア ライブストリーミング: RTMP, HLS, DASH ✔ ✔ VOD: Flash (flv), MP4 ✔ ✔ アダプティブ ビットレートVOD: HLS, HDS ✔ MP4 帯域制御 ✔ サード パーティー エコシステム Kubernetes イングレス コントローラー ✔ ✔ OpenShift ルーター ✔ ✔ 動的モジュール レポジトリ ✔ サポート メーカーサポート ✔ NGINX Unit(OSS)のサポート ✔ https://www.nginx.co.jp/products/products-nginx/#compare-versions
  • 20. | ©2020 F520 NGINX OSS / Plus – 機能比較 Features OSS NGINX Plus ロードバランサー HTTP/TCP/UDP サポート ✔ ✔ レイヤー7 リクエスト ルーティング ✔ ✔ アクティブ ヘルスチェック ✔ セッション維持 ✔ DNSサービス・ディスカバリ 統合 ✔ コンテンツ キャッシュ 静的/動的コンテンツ キャッシュ ✔ ✔ キャッシュ・パージAPI ✔ Webサーバ・リバースプロキシ 静的コンテンツ用オリジンサーバ ✔ ✔ リバースプロキシ:HTTP, FastCGI, memcached, SCGI, uwsgi ✔ ✔ HTTP/2 ゲートウェイ ✔ ✔ gRPC プロキシ ✔ ✔ HTTP/2 サーバ プッシュ ✔ ✔ セキュリティ制御 HTTP ベーシック認証 ✔ ✔ HTTP 認証サブリクエスト ✔ ✔ IPアドレスベースのアクセス コントロール リスト ✔ ✔ レート制限 ✔ ✔ デュアル・スタックRSA/ECC SSL/TLS オフロード ✔ ✔ TLS 1.3 サポート ✔ ✔ JWT 認証 ✔ OpenID Connect SSO ✔ NGINX Webアプリケーション ファイヤーウオール (別途有償) ✔ Features OSS NGINX Plus 監視 AppDynamics, Datadog, Dynatrace プラグイン ✔ ✔ 90の追加拡張モニタリング対象項目 ✔ 冗長化構成(HA) アクティブ−アクティブおよびアクティブ−パッシブ構成 ✔ 設定の同期 ✔ ステート共有:スティッキーセッション維持、 レート制限、キーバリューストア ✔ プログラム可能性 NGINX JavaScript モジュール ✔ ✔ NGINX Plus 動的再設定API ✔ キーバリューストア ✔ プロセスのリロードが不要な動的再設定 ✔ ストリーミングメディア ライブストリーミング: RTMP, HLS, DASH ✔ ✔ VOD: Flash (flv), MP4 ✔ ✔ アダプティブ ビットレートVOD: HLS, HDS ✔ MP4 帯域制御 ✔ サード パーティー エコシステム Kubernetes イングレス コントローラー ✔ ✔ OpenShift ルーター ✔ ✔ 動的モジュール レポジトリ ✔ サポート メーカーサポート ✔ NGINX Unit(OSS)のサポート ✔ https://www.nginx.co.jp/products/products-nginx/#compare-versions
  • 22. | ©2020 F522 Active Healthcheck Service App App NGINX OSS App Passive HealthCheck OK? NG? クライアントの通信が、一定時間内に指定した回数失敗 した場合、対象サーバを「failed」と判定し、一定時間通 信を転送先から除外します 機 能 クライアントの通信の結果を判定に用います。よってクライ アントはエラーを受けとった後、その後の影響を緩和する 機能となります ポ イ ン ト NGINXがサーバのモニターを行い、指定した回数連続で モニターが失敗した場合、対象サーバを「failed」と判定し、 一定時間通信を転送先から除外します 機 能 クライアント通信に依存しないため、ユーザ影響なく障害 箇所の切り離しが可能です モニターではURL Pathやレスポンス内の文字列など多彩 な条件によりアプリの適切な正常性の判定が可能です ポ イ ン ト NGINX Plus Active HealthCheck Service App App App Status Check !
  • 23. | ©2020 F523 Active Healthcheck:Config Service App App NGINX OSS App Passive HealthCheck OK? NG? NGINX Plus Active HealthCheck Service App App App Status Check ! upstream backend { zone backend 64k; server backend1.example.com; server backend2.example.com max_fails=3 fail_timeout=30s; } upstream backend { zone backend 64k; server backend1.example.com; server backend2.example.com; } match www_ok { status 200; body ”OK"; } location / { proxy_pass http://backend; health_check interval=10 fails=3 passes=2 uri=/echo match=www_ok; } ・・30秒間に3回失敗した際にFailと判定 ・・Monitrを成功と判定する際の条件を指定 ステータスコード「200」、レスポンスに「OK」と含む場合、「up」と判定 ・・10秒ごとにuri /echo に対し、www_okの条件でモニターを実施 3回失敗した場合に「Fail」と判定、2回成功した際に「up」と判定 serverがFailと判定された後、一定時間経過後改めてクライアント通信 で正常性を判定し、そのステータスを決定します health_checkの実行間隔や、matchの条件は柔軟に指定が可能な ため、アプリケーションレイヤでの正常性が適切に判断できます
  • 24. | ©2020 F524 Load Balancing Service App App NGINX OSS App 様々なバランシングメソッドを用いて、サーバへの通信の転 送が可能。 Round Robin , Least Connections , IP Hash , Generic Hash , Randomなど 機 能 比較的多くのロードバランシングメソッドが選択可能。 単一のデータセンターやクラウドなどの環境に閉じる場合に は大きな問題なく利用が可能 ポ イ ン ト OSSで実装されたバランシングメソッドに加え、「Least Time」方式を選択可能。応答時間の判定に用いる要 素として、「header」や「last_byte」など選択可能 機 能 分散先サーバが何かの理由により、処理に時間がかかっ ている場合や、マルチクラウド環境などで物理的な距離に よる応答時間に差がある場合に有効に利用できる方式 ポ イ ン ト NGINX Plus Service App Round Robin! 2 3 1 Least Time! Service App オンプレミスDC 2ms 10ms
  • 25. | ©2020 F525 Load Balancing:Config Service App App NGINX OSS App NGINX Plus Service App Round Robin! 2 3 1 Least Time! Service App オンプレミスDC 2ms 10ms upstream backend { zone backend 64k; round_robin; server backend1.example.com; server backend2.example.com; server backend3.example.com; server backend4.example.com; } upstream backend { zone backend 64k; least_time header; server backend1.example.com; server backend2.example.com; server backend3.example.com; server backend4.example.com; } ・・要件に応じてバランシングメソッドの指定が可能 ・・ヘッダー応答にかかった時間を元に最短のサーバへ転送 多くの分散方式によりOSSにおいても、一般的なご用件を満たすことが可 能です。また、記述がない場合、「Round Robin」の動作を示します NGINX Plusをご選択の場合にはより、アプリの応答時間の要求が高い 場合や、マルチリージョン・マルチクラスタにおける適切な分散が可能です
  • 26. | ©2020 F526 Persistence Service App App NGINX OSS App 先程ご紹介したロードバランシングメソッドの内、「IP Hash」や「Generic Hash」を用いる事により、クライアン トのIPアドレスや任意のパラメータを用いて、適切にクライ アントの通信を特定サーバに転送することが可能です 機 能 クライアントIPアドレスや、パラメータから一意に転送先が 決定されます。そのため、通信の偏りが発生しする可能性 があるため比較的軽い処理における通信維持に適してい ます ポ イ ン ト ロードバランシングを行った後の通信の状況をNGINX Plusが識別し、その後の通信を適切に同じサーバへ転送 する「sticky」が利用可能。通信維持方式として、 「cookie」、「route」、「learn」の選択が可能 機 能 クライアントのリクエストを適切にバランシングした後、 Cookieを用いた制御や、通信内でサーバより応答される 内容などを参照し適切な通信維持を実現します。自由 度が高く、指定した期間通信維持をすることが可能です ポ イ ン ト NGINX Plus Service App App App LB後の通信をその 後も適切に維持 パラメータより 転送先を決定 2 1
  • 27. | ©2020 F527 Persistence:Config Service App App NGINX OSS App NGINX Plus Service App App App LB後の通信をその 後も適切に維持 パラメータより 転送先を決定 2 1 upstream backend { zone backend 64k; hash $request_uri consistent; server backend1.example.com; server backend2.example.com; server backend3.example.com; server backend4.example.com; } upstream backend { zone backend 64k; least_time header; sticky cookie srv_id expires=1h domain=.demo.local path=/; server backend1.example.com; server backend2.example.com; server backend3.example.com; server backend4.example.com; } 送信元IPアドレスや指定のパラメータに応じて転送先が決定されます 分散アルゴリズムよって転送した通信に対し、アプリの実装に合わせた通信 の維持を実装することが可能です。 レスポンスで以下Cookieを応答し、以降、当該keyを含む通信を同じserverへ転送する Set-Cookie: srv_id=d43**省略**72; expires=Sun, 01-Sep-20 07:29:58 GMT; max-age=3600; domain=.demo.local; path=/ ・・「srv_id」というKeyと通信の識別に用いる値 をCookieで応答し、その後通信を維持します ・・hashアルゴリズムにより、リクエストURIに応じて 転送先を一意に決定する ※Upstreamのサーバ転送先が固定される
  • 28. | ©2020 F528 High Availability Service App App App シングル構成での動作となります。 冗長性を実現するためには、DNSでの広 域負荷分散や、上位LBでの負荷分散を ご利用いただく必要があります 機 能 単一のデータセンターやクラウドなどの環境 に閉じる場合には大きな問題なく利用が可 能 ポ イ ン ト NGINX Plusでは、インスタンスを冗長構成とする「HA」、 「ConfigSync」、「State Sharing」などの機能により、アプリケーションの ニーズに合わせ、プラットフォーム全体の耐障害性を大きく向上します 機 能 単一のデータセンターやクラウドではkeepalivedをベースとした「HA」を用 いる事により、旧来と同様の運用方式でシステムの安定性を向上します。 複数のクラウド環境や広域に分散するシステムで、認証やRateLimitを 共有し、広域なアプリケーションで瞬時に状態を共有することが可能 ポ イ ン ト Service App NGINX OSS NGINX Plus SINGLE構成 Service App App App オンプレミスDC Service App DoS Sync State ShareHigh Availability HA
  • 29. | ©2020 F529 High Availability:Config Service App NGINX Plus Service App App App オンプレミスDC Service App DoS Sync State ShareHigh Availability global_defs { vrrp_version 3 } vrrp_script chk_manual_failover { script "/usr/libexec/keepalived/nginx-ha-manual-failover" interval 10 weight 50 } vrrp_script chk_nginx_service { script "/usr/libexec/keepalived/nginx-ha-check" interval 3 weight 50 } vrrp_instance VI_1 { interface eth0 priority 101 virtual_router_id 51 advert_int 1 accept garp_master_refresh 5 garp_master_refresh_repeat 1 unicast_src_ip 192.168.100.100 unicast_peer { 192.168.100.101 } virtual_ipaddress { 192.168.100.150 } track_script { chk_nginx_service chk_manual_failover } notify "/usr/libexec/keepalived/nginx-ha-notify" } stream { server { listen 192.168.100.100 :9000 zone_sync; zone_sync_server 192.168.100.101:9000; } } http { limit_req_zone $remote_addr zone=req:1M rate=100r/s sync; server { listen 80; location / { limit_req zone=req; proxy_pass http://my_backend; } } VRRPはIPv4/IPv6デュアルスタックの対応が可能です。 本設定はスクリプトにより簡易に作成可能です 複数のクラウド環境や広域に分散するシステムで、認証やRateLimitを共有 し、広域なアプリケーションで瞬時に状態を共有することが可能 nginx-ha-keepalivedを導入し、以下設定によりAct/Sby,Act/Actなどの構成が可能です ・・Zone Syncを待ち受けるため、TCP(Stream)に設定 ・・Sync先を指定 ・・例としてリクエストリミットの Syncを設定 HA /etc/keepalived/keepalived.conf
  • 30. | ©2020 F530 OpenID Connect 3rd Party Module NGINX OSSはLuaやJavaScriptを用いることにより多 彩な機能拡張が可能です。その機能により3rd Party Moduleの利用が可能であり、OIDCなどの機能を利用 することが可能となります 機 能 3rd Party Moduleはコミュニティ管理となるOSSのも多く、 メーカ動作保証を提供するものではございません。障害発 生時や切り分け、バグ対応においてもコミュニティとの連携 が求められます ポ イ ン ト NGINX Plusの機能のうち、JWTを取り扱う 「auth_jwt」やKey-Valueストアの拡張機能である 「keyval」を活用し、NGINXより動作保証・メーカサポー ト提供可能なModuleを提供します 機 能 メーカサポートを提供するため、障害発生時の切り分け、 バグ対応が可能です。また、認証情報はKeyvalに格納 されるため、「sync」オプションを利用することにより、クラス タ間でのState Sharingが可能です ポ イ ン ト NGINX OSS NGINX Plus Service App IDP OIDC Module NGINX Support Module Service App IDP OIDC Module
  • 31. | ©2020 F531 OpenID Connect:Config NGINX Plus # Custom log format to include the 'sub' claim in the REMOTE_USER field log_format main_jwt '$remote_addr - $jwt_claim_sub ‘ '[$time_local] "$request" $status ' '$body_bytes_sent "$http_referer“ ’ '"$http_user_agent" "$http_x_forwarded_for"'; # The frontend server - reverse proxy with OpenID Connect authentication server { include conf.d/openid_connect.server_conf; # Authorization code flow and Relying Party processing error_log /var/log/nginx/error.log debug listen 8010; location / { # This site is protected with OpenID Connect auth_jwt "" token=$session_jwt; error_page 401 = @do_oidc_flow; auth_jwt_key_file $oidc_jwt_keyfile; # Enable when using filename #auth_jwt_key_request /_jwks_uri; # Enable when using URL # Successfully authenticated users are proxied to the backend, proxy_set_header username $jwt_claim_sub; proxy_pass http://my_backend; access_log /var/log/nginx/access.log main_jwt; } ModuleをGitHubより取得します。スクリプトを用いて簡易に設定の作成が可能です。パラメータの指定により複数IDPへの振り分けが可能です。 ・・OIDCで必要となるPATHと 機能に関する設定をinclude Service App IDP OIDC Module NGINX Support Module ・・JWTに関する処理 location = /_jwks_uri { ※省略※ } location @do_oidc_flow { ※省略※ } set $redir_location "/_codexch"; location = /_codexch { ※省略※ } location = /_token { ※省略※ } location = /_refresh { ※省略※ } location = /_id_token_validation { ※省略※ } location = /logout { ※省略※ } conf.d/openid_connect.server_conf
  • 32. | ©2020 F532 App Protect NGINX Plus Service App App Service App App App App Service App App App Ingress Proxy Host Reverse Proxy Container/Ingress 個別のWebサーバへ導入可能。 WEBサーバの動的モジュールとして稼働 ホスト単位でアプリケーション保護が可能 リバースプロキシとして配置し、App Protectを導入可能。WAFの配置をシン プルにしながら、包括的にアプリケーションを 保護 コンテナ環境でも幅広く動作し、Ingress として利用するNGINX Plusに導入可能。 その他内部アプリに合わせた配置が可能 構 成 特 徴 Secure Manage CI/CD Friendly 実績豊富なF5製WAFの機能を 移植。(高機能/高速/高品質) 柔軟な構成、既存NGINX Plusと シームレスに統合可能 CI/CDパイプラインと容易に統合。 JSONによるPolicy設定
  • 33. | ©2020 F533 App Protect:Config NGINX Plus いずれの環境においても、同じ設定で幅広く高度なWAFをご活用いただくことが可能です Service App App Service App App App App Service App App App Ingress Proxy Host Reverse Proxy Container/Ingress load_module modules/ngx_http_app_protect_module.so; http { server { listen 80; # NGINX App Protect on app_protect_enable on; app_protect_security_log_enable on; app_protect_security_log "/etc/nginx/log-default.json" syslog:server=elk:5144; location /application01 { root /usr/share/nginx/html; app_protect_policy_file "/etc/nginx/security-policy.json"; index index.html index.htm; } } } ・・Moduleのload ・・App Protect, Logを有効化 { "filter": { "request_type": "all" }, "content": { "format": "default", "max_request_size": "any", "max_message_size": "5k" } } { "policy":{ "name":"evasions_enabled", "template":{ "name":"POLICY_NGINX_BASE" }, "applicationLanguage":"utf-8", "enforcementMode":"blocking", "signature-settings": { "signatureStaging": false, "placeSignaturesInStaging": false, "attackSignatureFalsePositiveMode": "disabled", "minimumAccuracyForAutoAddedSignatures": "low" } ・・Log Formatを記述したjsonファイルを指定 ・・Policyを記述したjsonファイルを指定 /etc/nginx/log-default.json /etc/nginx/security-policy.json
  • 34. | ©2020 F534 NGINX Plus API / Dashboard Service App App NGINX OSS NGINX Plus Service App App • NGINXの状態を確認する際に、ログによる状態確認 が中心となります • 数多くの監視ツール・APMが存在しますが、別途モ ジュールやソフトウェアを導入し対応することが必要とな ります • NGINX Plusの状態をダッシュボードを通じてリアルタイ ムに確認することが可能です • 多くの情報をAPIから取得することにより、簡単に3rd Partyモジュールとの連携を実現することが可能です ポ イ ン ト ポ イ ン ト
  • 35. | ©2020 F535 NGINX Plus API / Dashboard NGINX Plus Service App App server { listen 8080; location /api { api write=on; # directives limiting access to the API } location = /dashboard.html { root /usr/share/nginx/html; } } # curl -s 'http://localhost:8080/api/6/nginx' | jq . { "version": "1.19.0", "build": "nginx-plus-r22", "address": "10.10.10.33", "generation": 20, "load_timestamp": "2020-09-27T12:25:52.600Z", "timestamp": "2020-09-27T23:42:42.952Z", "pid": 5403, "ppid": 14500 } # curl -X POST -d '{ "server": "10.0.0.1:8089" }' -s 'http://localhost:8080/api/6/http/upstreams/appg1/servers' | jq . { "id": 12, "server": "10.0.0.1:8089", "weight": 1, "max_conns": 0, "max_fails": 1, "fail_timeout": "10s", "slow_start": "0s", "route": "", "backup": false, "down": false } dashboard API ・・apiを有効化 ・・dashboardを提供
  • 36. | ©2020 F536 サポート Service App App NGINX OSS 本番環境でシステム規模拡張に伴う過大 NGINX Plus Service App App SUPPORT 以下の内容がコミュニティベースの対応となります • 機能追加による設定相談 • ユーザ増加による設定・パラメータチューニング • 障害発生時の情報取得方法 • 想定外の動作をした場合の調査・切り分け • 脆弱性・バグによるパッチの提供 メーカーサポートにより以下の対応となります • 機能追加による設定相談 • ユーザ増加による設定・パラメータチューニング • 障害発生時の情報取得方法 • 想定外の動作をした場合の調査・切り分け • 脆弱性・バグによるパッチの提供 ポ イ ン ト ポ イ ン ト SLAを定義し、エンタープライズ品質のサポートを提供
  • 37. | ©2020 F537 NGINX Controller
  • 38. | ©2020 F538 NGINX Controller / API Management NGINX Controller App Protect + N Plus NGINX Plus オンプレミス CUSTOMER オンプレミス • 様々なプロトコル: TCP/UDP, HTTP/HTTPS, gRPC, • 効率化: コンテンツキャッシュ • セキュリティ: WAF、アクセス制御、レート制限 自由な動作 環境の選択 Data plane Control plane • 3rd Party Toolとの容易な統合 • アプリケーション中心の優れたモニタリング 3rd Party Integration • 適切にデザインされた 「Control Plane」と「Data Plane」 シンプルな構成で、複数のNGINXを「高速」「安定」「省リソース」を維持しながら簡単に管理 NGINX Plus ServiceA App App ServiceB App App ServiceC App App 様々な環境の NGINX設定、 ステータスを管理

Notas del editor

  1. ではNGINXについて話しましょう。ご存知の方も多いと思います。先程も紹介いたしましたが、NGINXはOSSとしてスタートし、WebサーバやRverse Proxy、キャッシュサーバとしてご活用いただけるソフトウェアとなります。
  2. NGINX Plusではそれらの機能を根幹としながらも、より拡張されたLBや、コンテンツキャッシュ、モニタリング機能を提供し、またNGINXの有償サポートにより、基幹システムやミッションクリティカルなシステムでよりご活用いただけるようビジネスを展開しております。
  3. ここでこの数字を見たいと思います。4.5億以上のWEBサイトでNGINXが利用されており、様々なWebServerがある中で35%のシェアを獲得しております。
  4. それではここでは、NGINXの動作環境について見ていきたいと思います。 NGINXはまず、ここに記載されている、皆様が普段触られているであろう各種LINUX/UNIX環境で動作いたします。 また、CPUアーキテクチャについてはX86だけでなく、ARMやPower8にも対応しております。 これらの環境であればNGINXは動作いたしますので、Linuxがインストールされたサーバのベアメタルや、仮想マシンとして動作するかクシュクラウド。さらにはコンテナでも幅広く動作することが可能となっております。
  5. この様に、NGINXは先程ご紹介した機能を単一でも、複数の機能を同時にもご利用いただくことが可能であり、 それをありとあらゆる環境でご利用いただくことができますので、お客様のアプリケーションがどこで動作しているかによらずいずれの環境においても、 安定して、高速で、フットプリントの少ない、高品質なWebアプリケーションサーバとしてご利用いただくことが可能になっております。
  6. それではここで、NGINXが提供する製品についてご紹介していきたいと思います。
  7. NGINX App Protectは先日ご紹介した、F5の長年培ってきたWAFの技術をNGINXに統合した新しいWAFとなります。 先程様々な環境で動作することをご紹介させていただきましたが、それらの環境においてもこのWAFを動作させることが可能となりますので、 LBでWAFや、その背後のRverseProxy、API Gatewayなど、柔軟にWAFをデプロイすることが可能となっております。
  8. Introducing NGINX 1.16 and 1.17 https://www.nginx.com/blog/nginx-1-16-1-17-released/
  9. R21 : April 7, 2020 R20 : December 3, 2019 R19 : September 3, 2019 R18 : April 9, 2019
  10. それでは、これからNGINX OSSとPlusの違いや、Plusの特徴について入っていきますが、その前に一般的なNGINX導入の流れについて考えてみたいと思います。
  11. それでは具体的な機能を見ていきましょう
  12. それでは具体的な機能を見ていきましょう
  13. https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/
  14. https://nginx.org/en/docs/http/ngx_http_upstream_module.html#least_time
  15. https://www.nginx.com/products/nginx/high-availability https://docs.nginx.com/nginx/admin-guide/high-availability/zone_sync/ https://nginx.org/en/docs/stream/ngx_stream_zone_sync_module.html
  16. https://www.nginx.com/blog/nginx-plus-r22-released/#oidc https://github.com/nginxinc/nginx-openid-connect http://nginx.org/en/docs/http/ngx_http_auth_jwt_module.html
  17. https://www.nginx.com/products/nginx/live-activity-monitoring https://nginx.org/en/docs/http/ngx_http_api_module.html
  18. それでは具体的な機能を見ていきましょう
  19. での