SlideShare a Scribd company logo
API ゲートウェイとしての
NGINX Plus活用方法
F5 ネットワークス ジャパン
©2023 F5
2
• API / APIゲートウェイ
• APIに求められる要件・構成
• NGINX
• 動作デモ
• まとめ
Agenda
©2023 F5
3
API / APIゲートウェイ
©2023 F5
4
アプリケーション・API
データの取得リクエスト
位置情報
データの応答
地図データ
API
Client Service / Application
©2023 F5
5
近年のアプリケーション・API
• 変化に強いこと。自由な変更・拡張、安定性
近年のアプリケーションに求めるもの
Client Service / Application
クライアントの増加・多様なクライアント クラウドネイティブテクノロジの活用
複数チームによる開発
社内・社外システムの連携でAPIの活用は増加していきます
©2023 F5
6
課題:デジタルトランスフォーメーションが運用を複雑化
70%
社内システム統合のためAPIを
構築する企業
81%
パブリック/プライベートクラウド、
オンプレミス等、3つ以上の環境を
利用する企業
41%
12ヶ月以内にAPIに関する
セキュリティインシデントが
発生した組織
SOURCE: State of Application Strategy Report (F5, 2022); “API Attacks Soar Amid Growing Application Surface Area” (Dark Reading, 2022)
アーキテクチャの増加、APIの増加がセキュリティインシデントの可能性を高める
©2023 F5
7
APIゲートウェイ として NGINX Plus を活用する
• APIゲートウェイがAPIの接続を受け付け、クライアントやアプリケーションに求められる
機能を効果的に実現し、アプリケーションを「セキュア」に「効率的」に運用する
API GW
API GW基本機能
• APIルーティング
• Service Discovery
• Rate Limit
• TLS / mTLS
API GW拡張機能
• API認証・認可 (JWT/OAuth/OIDC/SAML)
• 細かなアクセス制御・HTTP操作
• WAF/L7DoS対策
• NJS / LUAによる機能拡張
©2023 F5
8
APIに求められる要件・構成
©2023 F5
9
複雑化するAPI・アプリケーション
シンプルな運用 / コスト削減 / パフォーマンス / セキュリティを
両立する構成とは?
Edge
Cloud
On Premises
©2023 F5
10
Gartner – Distributed Enforcement Model
App & Network Security Layer
Access Control Layer
©2023 F5
11
Gartner – Distributed Enforcement Model
1) 内外(North-South) と サービス間(East-West)
APIアクセスの両方をサポート
2) “Edge Gateway”での全体的なアクセスコントロールと
”Micro Gateway”での詳細なアクセスコントロール
a. “Edge Gateway”では認証を実行し、JWTを使用
してAPIリクエストに追加のコンテキストを注入
b. ”Micro Gateway”ではクライアントに関するJWT
内の情報を使用して、詳細なアクセスコントロー
ルを実行する
3) このアプローチは、マイクロサービス間のAPIトラフィ
ックに対してのセキュリティ層を提供することが可能
Outer APIGW
(Edge GW)
Inner APIGW
(Micro GW)
©2023 F5
12
3つのAPIセキュリティ要素
Access
Control • APIエンドポイントに対する認証認可の管理
Network
Security
• 安全なネットワーク通信(mTLS)
• ネットワークレベルで、不要なトラフィック
を防ぐ(DDoS、レートリミット)
App
Security
• 脆弱性を軽減
• 高度なBot対策技術によるAPI不正利用対策
• ペイロードセキュリティ(WAF)
©2023 F5
13
OWASP API TOP10
Broken Object Level Authorization
Broken User Authentication
Excessive Data Exposure
Lack of Resource & Rate Limiting
Broken Function Level Authorization
Mass Assignment
Security Misconfiguration
Injection
Improper Assets Management
Insufficient Logging & Monitoring
Access Control
Network Security
App Security
https://github.com/acrcdlsd/OWASP/blob/master/API
%20Security%20Top%2010/2019/0x11-t10.md
©2023 F5
14
システム要件を満たすNGINX APIゲートウェイ
シンプルな運用 / コスト削減 / パフォーマンス / セキュリティの両立
お客様ご要件に合わせて自由な配置・機能の選択が可能です
Edge
Cloud
On Premises
App & Network Security Layer
Access Control Layer
Anti
DDoS
ADC
Bot
Mitigation
WAF
Outer APIGW
(Edge GW)
Inner APIGW
(Micro GW)
API認証・認可 (JWT/OAuth/OIDC/SAML)
細かなアクセス制御・HTTP操作
WAF/L7DoS対策
App
App
App
App
Access
Network App
App
©2023 F5
15
NGINX
©2023 F5
16
Source: Datadog Container Report 2021
The Top Technologies
Running on Docker
Top Ingress Providers
CNCF Survey
Source: CNCF Survey 2020
コンテナプラットフォームに最適なNGINX
©2023 F5
17
あらゆる環境に適合するNGINX
モノリシック
マイクロサービス
オンプレ
クラウド・エッジ
どのようなアプリでも
10年先を見据えて今すぐ活用できるツール
©2023 F5
18
NGINX API ゲートウェイのパフォーマンス vs Kong , AWS APIGW
NGINXをAPIゲートウェイとして動作させた場合、レイテンシを抑え通信の制御が可能
©2023 F5
19
NGINX App Protect WAF のパフォーマンス vs WAFなし
Latency
(ms)
NGINX App Protect WAF vs No Security latency distribution
Lower is better
Source: Gigaom 2021
WAF機能を導入した際にも、通信遅延を限りなく少なく抑えることが可能
ほぼ遅延の値に差がない
©2023 F5
20
NGINX App Protect WAF のパフォーマンス vs AWS vs Azure
NGINX App Protect WAF vs AWS WAF vs Azure WAF latency distribution
その他のWAFに比べ最もレイテンシが少ない、高速なWAF
©2023 F5
21
動作デモ
©2023 F5
22
デモ環境
自PCにk8sを構築し、下記をデプロイ
NGINX Ingress Controller/App Protect
デモ内容
(1) Blue-Greenデプロイメント
(実際はカナリーリリース)
(2) 流量制限
(3) APIセキュリティ
©2023 F5
23
デモ・・・の前に、最もシンプルなAPI GW
k8s Cluster
pod
外部ネットワークからの攻撃
前段LBへの制限
冗長化の方法が
限られている
設定・構成が複雑で
管理が難しい
pod
他社 API GW
API GWとしての
NGINX Ingress
Controller
DBが必要
k8s外にサーバ必要
APIGWに求められる多くの機能を実装することが可能なため、構成をシンプルに、運用が容易な環境を実現できる
Ingress
Controller
as API GW
= ミッションクリティカルなAPI GW
柔軟な権限管理
(VS/VSR/Policy)
柔軟な通信制御
ヘッダー・Cookie
TCP/UDP対応
詳細なMetrics
・OpenTracing
OIDC・JWTに
よる通信制御
WAF/L7 DoS対策による高度
な防御 (※追加モジュール)
Circuit Breaker/帯域制御な
ど柔軟な流量制御
高度な通信制御機能 高度なセキュリティ機能
製品開発メーカーのサポート・
セキュリティパッチの提供
メーカーサポート
実績
K8Sに一番使われている
Ingress Controller
消費リソースが少なく
安定動作・高速処理
©2023 F5
24
CRD – Custom Resource Definition
Custom Resource Definition – CRD
NGINX – VirtualServer/VirtualServerRoute and etc
Contour – HTTPProxy and etc
Traefik – IngressRoute and etc
ミスを発生
させやすい
©2023 F5
25
CRD – VirtualServer/VirtualServerRoute
Namespace: cafe
KIC
VirtualServerRoute
VirtualServerRoute
VirtualServer / VirtualServerRoute リソースは、設定ファイルの分割、高度な通信制御など、
Ingressリソースではサポートされていない機能を実現します Policy
• ACL
• Rate limting
• MTLS
• JWT Validation
• Advance Routing
• Persistency
• Traffic Splitting
• WAF
• etc
Policy
• ACL
• Rate limting
• MTLS
• JWT Validation
• Advance Routing
• Persistency
• Traffic Splitting
• WAF
• etc
Service: coffee
Service: tea
VirtualServer
route: coffee
route: tea
routes:
Namespace: coffee
Namespace: tea
• 容易な設定
• エラーが発生しにくい
• 詳細なコントロール
インフラチームが設定管理
アプリ側の各チームが設定管理
©2023 F5
26
事例 – NRI様(NGINXユーザ会より)
NGINXを活用することで
インフラチームの負荷を軽減
K8s上のアプリへの振り分け
はやはりNGINXがベスト
NICのCRDにより、
適材適所な管理を実現
組織の壁を考慮した理
想的な運用スタイル
理想的なバージョンアップ方法
BIG-IPが活躍するところ
アプリのBlueGreen等
はNGINXが実現可能
©2023 F5
27
事例 – NRI様(NGINXユーザ会より)
サポートの重要性についてお話頂いた
自分達だけでの解決は困難
やはりサポートに任せましょう
最終的にはバグ等ではなく、NGINXとその後ろにあるアプリサーバでのKeep-Alive設定値の不一致によるもの
F5サポートはそういうところもしっかりと見つけてくれてアドバイスすることが可能
©2023 F5
28
トラフィック
分割ポリシー
ターゲット条件
指定可能な条件例
• header
• cookie
• argument
• variable
variableの例:
$args, $http2, $https, $remote_addr, $remote_port,
$query_string, $request, $request_body,
$request_uri, $request_method, $scheme
デモ(1) Blue-Greenデプロイメント
Blue-Greenデプロイメント
ABテスト
カナリアリリース
©2023 F5
29
デモ(2) 流量制限
単純なレートリミット
Path: /
RateLimit: 5r/s, burst
Path: /coffee
RateLimit: 1r/s
Path: /tea
RateLimit: 無し
burst値ありのレートリミット
バースト値(burst)はキューのサイズを定義
レート制限を超えた数のリクエストを処理することができる
キューがいっぱいになるとそれ以降のリクエストはエラーとなる
©2023 F5
30
デモ(3) APIセキュリティ
OpenAPI
定義ファイル
WAFポリシー
OpenAPI定義ファイルを指定するだけで、強力なホワイト
リスト型セキュリティ & OWASP TOP10等への対応が可能
©2023 F5
31
まとめ
©2023 F5
32
まとめ
Edge Cloud/On Premises
• 皆様のシステムはどのようにアプリケーションを配置されますでしょうか?
• システムの運用でどのような機能・構成が適しているでしょうか?
• 適切な機能の配置
• 攻撃に対する防御
• 適切なチームによる自由な構成変更
APIを活用する昨今のアプリケーションにおいて求められる
シンプルな運用 / コスト削減 / パフォーマンス / セキュリティ向上
をNGINXが提供いたします
©2023 F5
33
お役立ち情報
©2023 F5
34
無料トライアル
https://www.nginx.co.jp/free-trial-request/
https://www.nginx.co.jp/free-trial-request-nginx-ingress-controller/
NGINX Plus, NGINX App Protect
無料トライアル
NGINX Plusは、オールインワン型のソフトウェアロードバランサ、コンテンツ
キャッシュ、Webサーバ、APIゲートウェイ、マイクロサービスプロキシです。
NGINX App Protectは、業界トップクラスのF5の高度なWAFテクノロジーをNGINX
Plusに搭載し最新のアプリケーションセキュリティを提供します。
この2つの技術の融合により、最新の分散型環境におけるWeb/モバイルアプリケー
ションの拡張性と保護が実現します。
NGINX Ingress Controller with
NGINX App Protect 無料トライアル
NGINX Plusで実現するNGINX Ingress Controllerは、軽量で、Kubernetesアプリ
ケーションに最適な高度な機能を搭載するオールインワンソフトウェアです。
無料のNGINX Service Meshとも統合することが可能で、単一の構成でnorth-south
とeast-westの両方のトラフィックを管理できます。高性能な機能で、本番環境で利
用するKubernetesに最適なアプリケーションデリバリを提供します。
NGINX Plus無料トライアル
NGINX Ingress Controller
無料トライアル
©2023 F5
35
NGINXドキュメント/コンテンツ
https://nginx.co.jp/
NGINX日本語サイト
https://nginx.org/en/docs/
https://nginx.org/en/docs/dirindex.html
NGINX OSS / Directive / Variable etc.
(各種マニュアル)
©2023 F5
36
https://f5j-tech-info.readthedocs.io/ja/latest/content03/content3.html
有償版NGINXを触って頂くためのラボガイドです。こちらのページから各機能へのリンクが
ありますので、ご興味のある機能についてはぜひ触ってみてください!
NGINXラボガイド index
©2023 F5
37
O’REILLY NGINXクックブック設定レシピ集(日本語版)
https://www.nginx.co.jp/resources/ebooks/nginx-cookbook-jp/
©2023 F5
38
これからはじめるNGINX技術解説
https://www.nginx.co.jp/resources/webinars/nginx-back-to-basic-jp/
基本編 Part1
・基本動作、OSS / Plus違い
基本編 Part2
・Reverse Proxy、LB設定
セキュリティ編
・WAF、RateLimit、Auth
Ingress Controller編
・設定、Snippet、Log
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法

More Related Content

PDF
WebAssemblyのWeb以外のことぜんぶ話す
PPTX
Dockerからcontainerdへの移行
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
PDF
YAPC::Tokyo 2013 ritou OpenID Connect
PPTX
OSSライセンス入門
PDF
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
PDF
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
PDF
M04_失敗しないための Azure Virtual Desktop 設計ガイド
WebAssemblyのWeb以外のことぜんぶ話す
Dockerからcontainerdへの移行
SPAセキュリティ入門~PHP Conference Japan 2021
YAPC::Tokyo 2013 ritou OpenID Connect
OSSライセンス入門
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
M04_失敗しないための Azure Virtual Desktop 設計ガイド

What's hot (20)

PDF
Keycloak拡張入門
PDF
Laravelの認証について
ODP
Guide To AGPL
PDF
20190821 AWS Black Belt Online Seminar AWS AppSync
PPTX
root権限無しでKubernetesを動かす
PPTX
Azure aws違い
PPTX
Spring CloudとZipkinを利用した分散トレーシング
PPTX
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
PDF
単なるキャッシュじゃないよ!?infinispanの紹介
PPTX
PHPとシグナル、その裏側
PPTX
Keycloakのステップアップ認証について
PDF
昨今のストレージ選定のポイントとCephStorageの特徴
PPTX
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
PDF
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
PDF
次世代Webコンテナ Undertowについて
PPTX
AKS と ACI を組み合わせて使ってみた
PDF
OpenID Connect入門
PDF
AWS BlackBelt AWS上でのDDoS対策
PPTX
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
PDF
Unified JVM Logging
Keycloak拡張入門
Laravelの認証について
Guide To AGPL
20190821 AWS Black Belt Online Seminar AWS AppSync
root権限無しでKubernetesを動かす
Azure aws違い
Spring CloudとZipkinを利用した分散トレーシング
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
単なるキャッシュじゃないよ!?infinispanの紹介
PHPとシグナル、その裏側
Keycloakのステップアップ認証について
昨今のストレージ選定のポイントとCephStorageの特徴
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
次世代Webコンテナ Undertowについて
AKS と ACI を組み合わせて使ってみた
OpenID Connect入門
AWS BlackBelt AWS上でのDDoS対策
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
Unified JVM Logging
Ad

Similar to 【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法 (20)

PDF
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
PPTX
NGINX Kubernetes API
PPTX
API and Modern App Security for Microservices
PDF
Fundamentals of Microservices Japanese Webinar
PPTX
Secure Kubernetes Apps in Production (Japanese Webinar)
PDF
NGINX製品の最新機能アップデート情報
PDF
Kubernetes環境で実現するWebアプリケーションセキュリティ
PDF
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
PPTX
NGINX Plus Hands On Training
PDF
NGINX Ingress Controllerで実現するセキュリティ.pdf
PDF
NGINX & OpenShift Webinar for Energy Sector
PPTX
Introducing NGINX App Protect (Japanese Webinar)
PDF
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
PPTX
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組み
PDF
NGINX Back to Basics: Ingress Controller (Japanese Webinar)
PDF
NGINX Ingress Controller on RedHat OpenShift.pdf
PPTX
NGINX + Ansible Automation Webinar (日本語版)
PPTX
6_マイクロサービスに必要なセキュリティ_NGINX_UserGroup_220415.pptx
PDF
NGINX Ingress Controller with WAF for Kubernetes
PDF
nginx-plus
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
NGINX Kubernetes API
API and Modern App Security for Microservices
Fundamentals of Microservices Japanese Webinar
Secure Kubernetes Apps in Production (Japanese Webinar)
NGINX製品の最新機能アップデート情報
Kubernetes環境で実現するWebアプリケーションセキュリティ
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
NGINX Plus Hands On Training
NGINX Ingress Controllerで実現するセキュリティ.pdf
NGINX & OpenShift Webinar for Energy Sector
Introducing NGINX App Protect (Japanese Webinar)
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
マルチクラウド環境の膨大なAPIトラフィックをリアルタイムに処理するNGINXの仕組み
NGINX Back to Basics: Ingress Controller (Japanese Webinar)
NGINX Ingress Controller on RedHat OpenShift.pdf
NGINX + Ansible Automation Webinar (日本語版)
6_マイクロサービスに必要なセキュリティ_NGINX_UserGroup_220415.pptx
NGINX Ingress Controller with WAF for Kubernetes
nginx-plus
Ad

More from NGINX, Inc. (20)

PPTX
Get Hands-On with NGINX and QUIC+HTTP/3
PPTX
Managing Kubernetes Cost and Performance with NGINX & Kubecost
PDF
Manage Microservices Chaos and Complexity with Observability
PDF
Accelerate Microservices Deployments with Automation
PDF
Unit 2: Microservices Secrets Management 101
PDF
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
PDF
Easily View, Manage, and Scale Your App Security with F5 NGINX
PDF
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
PDF
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
PPTX
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
PPTX
Protecting Apps from Hacks in Kubernetes with NGINX
PPTX
Successfully Implement Your API Strategy with NGINX
PPTX
Installing and Configuring NGINX Open Source
PPTX
Shift Left for More Secure Apps with F5 NGINX
PPTX
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
PDF
Software Delivery and the Rube Goldberg Machine: What Is the Problem We Are T...
PDF
Open Sourcing NGINX Agent and Demo
PDF
NGINX, Open Source, and You – Another Decade of Innovation
PDF
A Guide to Adopting Kubernetes
PPTX
An Open Source Community Behind Your Firewall – Improving Developer Productiv...
Get Hands-On with NGINX and QUIC+HTTP/3
Managing Kubernetes Cost and Performance with NGINX & Kubecost
Manage Microservices Chaos and Complexity with Observability
Accelerate Microservices Deployments with Automation
Unit 2: Microservices Secrets Management 101
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
Easily View, Manage, and Scale Your App Security with F5 NGINX
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Protecting Apps from Hacks in Kubernetes with NGINX
Successfully Implement Your API Strategy with NGINX
Installing and Configuring NGINX Open Source
Shift Left for More Secure Apps with F5 NGINX
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
Software Delivery and the Rube Goldberg Machine: What Is the Problem We Are T...
Open Sourcing NGINX Agent and Demo
NGINX, Open Source, and You – Another Decade of Innovation
A Guide to Adopting Kubernetes
An Open Source Community Behind Your Firewall – Improving Developer Productiv...

【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法