NGINX.COM
Web Server Load Balancing with NGINX Plus

2023年4月14日(金)に第3回目となります、NGINXユーザーカンファレンス 2023 春を開催いたしました。長年にわたり様々なお客様でNGINXをご活用いただいておりますが、その中でも技術面において深く掘り下げたユースケースを3つご紹介させていただきました。

この記事ではイベントの各セッションで紹介されたポイントをご紹介致します。ご興味をお持ちいただいた方はぜひアーカイブをご覧いただき詳細をご確認ください!

目次

開会のあいさつ


F5ソリューションアーキテクト小峰より、NGINXユーザーカンファレンスの第1回、第2回について振り返りをさせていただきました。過去に開催したイベントのアンケートでも多くの方に「ユースケース」に関する発表をご要望いただきました。今回のNGINXユーザーカンファレンス2023春では最新の事例よりNGINXの使い方をご紹介させていただくことお伝えしました。次に要望が多かったのが「NGINXの機能ガッツリ説明」。こちらについては別途NGINXユーザ会エンジニアリング勉強会で様々な紹介をさせていただいている旨ご案内いたしました。これからも皆様の要望に合わせたより良いイベントを作っていきたいと思いますのでお気軽にご参加いただければと思います。

本日のプログラムについてご紹介いたしました。



今回は新たにショートアンケートにより皆様のフィードバックをいただけるようになっております。


皆様とインタラクティブなコミュニケーションを通じて実りあるイベントとしたいと考えております。

NGINX事例講演①:日立製作所「NGINXでの認可について考える」

発表資料はこちら


日立製作所 岡井様より、NGINXの認可について発表をいただきました。岡井様はIAMのOSSであるKeycloakのコントリビュータであり、Financial-grade API(FAPI)に精通されております。
まず、認証と認可の違いについて簡単に説明した後、NGINXをリソースサーバとして利用する方法についてご紹介いただきました。NGINXは高速処理、安定動作に加え、容易にセキュリティ対策を実装できる点がメリットであるとご紹介されました。


ここでAPI認可の3つの実現方法、「オールインワンパターン」「中央集権型パターン」「分散型パターン」について詳細をご説明いただきました。これらはシステムの要件やユースケースに合わせて選択していくものであるとご説明をいただきました。各構成の詳細についてはぜひセッションの内容を御覧ください。


さらにアドバンスドな通信要件に対する対応方法や、NGINXで認可処理を実装する場合の注意点についてまとめていただきました。


セッションの中で各方式を選択する指針や、構成の問題点を図示によりわかりやすく説明いただきました。また具体的な実装の注意点もご紹介いただくことで、日立製作所様では高度な認証・認可の制御と要件に応じたシステム導入が実現されることが理解できました。
セッションの最後のアンケートで「認可に利用するパラメータ」について確認した結果が以下となります。


1番が「認可をしていない」、続いて「RBAC」が選択された結果でした。アプリケーションではユーザに合わせた制御が求められますのでこれらの機能を適切に組み込むことが顧客満足度の高いシステムの実現につながっていくと感じられました。

NGINX事例講演②:野村総合研究所「大規模金融系システムにおけるNGINX Ingress Controller(NGINX Plus)導入事例」

発表資料はこちら


野村総合研究所 小林様より大規模金融系システムにおけるNGINX Ingress Controller(NGINX Plus)の導入についてご紹介をいただきました。野村総合研究所様はコンサルタントとITエンジニアの集団であり、金融システムに加えコンビニエンスストアのシステムなどミッションクリティカルなシステムを対応されているとのことです。小林様はその中でも安定運用が重要となる大規模金融システムのプラットフォームを担当されています。
まず従来のシステム構成では大きく2つの課題「課題①:アプリケーションリリース、共存するアプリへの無影響確認など」、「課題②:アプリケーションの要件に合わせたLBの通信制御・運用」があったとのこと。新システムではコンテナ・Kubernetesの採用と共に、これらの課題の解決を目指したとのことでした。


まず、新システムではコンテナにより疎結合化することで課題①を解決したそうです。アプリケーションの分離により、ユーザからのリクエスト情報を元に適切なアプリケーションに転送する機能がより重要になりました。この機能をNGINX Ingress Controllerで実現。図からもわかるように、NGINX Ingress Controllerはすべての通信を処理するためとても重要なポイントとなっています。BIG-IPはHTTPSの終端に利用し、アプリケーションに関連する詳細な通信制御はNGINX Ingress Controllerが提供するVirtualServer/VirtualServerRouteの機能を利用し、インフラチームとアプリケーションチームの適切な役割分担を実現されたとのことです。


今までの環境では、アプリケーションリリースに際し、夜間にBIG-IPの設定変更など行っていたとのことですが、新システムはその対応が不要になり、VirtualServerRouteの機能を用いてアプリケーションチームが自由に・即座に設定を反映することができるようになりました。
次にこのNGINXの活用において重要なポイント、メーカーサポートについてご紹介いただきました。


NGINXのメーカーサポートでは、お客様から申告のあった事象をラボ環境で再現させ検証します。この調査により、挙動の詳細に関する解析や本番環境に適用できるコンフィグ例の提示があった点に高い価値を感じられたとのことです。大規模金融システムにおける機能の選定において、この高度なサポートは必須であるとご紹介いただきました。F5/NGINXが数々の大規模案件で求められる要件をNGINX Ingress Controllerの機能として実装しており、それらを大規模金融系システムでご活用いただいた良い事例だと感じました。
セッションの最後のアンケートで「Kubernetes Ingressで実現できると嬉しい機能」について確認した結果が以下となります。


1番多くの回答はセキュリティ機能。こちらについては小林様のチームでも興味を持たれているとのこと。性能面やスケールなどの観点からアプリケーションの近くにセキュリティを実装することも考えているとのことでした。

NGINX事例講演③:「NGINX App Protect WAFで実現する、自然にセキュリティを組み込むCICDとは」

発表資料はこちら


日立製作所 栗原様よりNGINX App Protect WAFを活用しCICDにセキュリティを自然に組み込む方法についてご紹介をいただきました。まずシフトレフトを実現するアプリ型WAFについて紹介がありました。アプリ型WAFは、アプリの近くにWAFを配置することであり、この構成における複数のメリットの内「シフトレフトの実現」「セキュリティの最低水準の担保」の2つが、特に大規模開発に求められる要件になると評価されていました。
この構成を実現するため、VMware Tanzu Application PlatformのCICDテンプレートを利用し、開発者が意識せず全アプリPodにWAFをサイドカーとしてInjectする構成を実現されました。この機能を活用することで、「セキュリティチームによるWAFのビルド」「CICD管理チームによるCICDテンプレートの構築」「開発チームによるテンプレート利用」について適切に権限を分けて運用することが可能となるとのこと。


実際のデプロイの動作のデモを紹介されており、開発者が意識せずWAFを挿入することができ、自動的にクロスサイトスクリプティング(XSS)といった攻撃をブロックできることを紹介されていました。
次にNAP WAFのセキュリティポリシーの管理方法について評価した結果を紹介されていました。各実装案には特徴とメリット・デメリットが存在することを確認されていましたが、その中でも案2-1のパターンがセキュリティ管理の観点からも比較的運用が容易であろうとのことでした。


ここまでの内容で紹介した手法は、開発者がセキュリティポリシーにある一定の知識を持つことが求められます。開発者の多くは開発に集中したいというニーズがあると考え、より開発者に適した手法についても検討を進められていました。その手法がOpenAPI定義ファイルを用いた手法です。一部の開発では、OpenAPI定義ファイルを元にサーバサイドのコードを生成するなどの手法が取られています。このOpenAPI定義ファイルを通信制御のルールとしてWAFが利用することで開発者の負担を大きく下げることが可能と紹介されていました。


各方式の詳細はぜひセッションの内容を御覧ください。
これらをうまく組み合わせることにより、セキュリティ水準を高めたアプリケーションのデプロイの実現を進めているとのことでした。
セッションの最後のアンケートで「アプリ型WAFが実現できそうか」について確認した結果が以下となります。


先進的なアプローチであるため、1番目、2番目に難しいと言った意見がありました。こちらはある程度想定される結果でしたが、実現できそうだという回答(「実現できそうです!(11%)」「チューニングを気にしなければできるかも(13%)」「k8sは使っていないが、NGINX使っているからできるかも(11%)」)に投票されている方が、想定より多くいらっしゃいました。より強く開発チームのメリットが訴求できるような手法となれば、多くの人に利用いただけるかもしれないとのことでした。

NGINXアップデートとQUIC・HTTP/3対応ビルド済みNGINXの提供について

発表資料はこちら


最後のセッションではNGINX 松本より、NGINX最新アップデートと、QUIC・HTTP/3対応ビルド済みNGINXの提供について紹介しました。
F5/NGINXでは様々なOSSとエンタープライズユースに向けたサービスを提供しています。NGINX OSS、NGINX Plusを中心に、統合管理、セキュリティ強化、コンテナなど幅広い提供機能があることを紹介いたしました。


NGINX Plusの最新版は2023/11/29にリリースされたR28であり、そのアップデート内容とその他プロダクトの最新のアップデート情報をご紹介しました。


次にQUIC・HTTP/3です。HTTPの歴史を簡単に振り返った後、昨今のアプリケーションで、QUIC・HTTP/3が求められる背景について紹介しました。


現在、F5/NGINXよりQUIC・HTTP/3に対応したビルド済みのバイナリ「nginx-quic」を提供していること、それらを簡単に利用できることについて紹介いたしました。
セッションの最後のアンケートで「本日のイベントを通じて興味のあるNGINXの機能」について確認した結果が以下となります。


多くの方は、ワールドワイドでも実績のあるリバースプロキシ、ロードバランサー、キャッシュサーバの機能に興味を持ってくださっていました。次点はNGINX Ingress Controller、WAF機能となっており、これからのアプリケーションに必要不可欠な機能がお客様に求められていることが感じられると思います。

まとめ

本イベントでは多くの方にご参加いただきありがとうございました。数回にわたりNGINXユーザーカンファレンスを開催していく中で、多くのお客様の中でアプリケーションやコンテナ、Kubernetes、また環境を問わずセキュリティの重要度が増していることを感じています。世の中の便利な技術革新と比例して、悪意あるユーザによる攻撃も複雑化しています。NGINXは安定性・高速性を土台とし、幅広い活用が可能なソフトウェアです。ユーザーカンファレンスでは皆様に有益となるユースケースや最新情報をご紹介していきます。これらのNGINX情報を活用いただき、皆様のシステムにおけるセキュリティや安定性を向上させるお手伝いができることを願っております。
改めましてありがとうございました!

関連資料

ウェビナー:NGINXユーザーカンファレンス 2023 春

Hero image
NGINXクックブック 設定レシピ集(日本語版)

待望の【O'Reilly】NGINX Cookbook日本語版がついに完成!NGINXクックブックは、NGINXを最大限に活用する方法を解説しています。



著者について

Horizontal NGINX Logo

F5

F5, Inc.は、人気のオープンソースプロジェクト、NGINXを支える企業です。NGINXはモダンアプリケーションを開発・提供するためのテクノロジースイートを提供しています。F5製品との併用で、コードからユーザーまでをマルチクラウドアプリケーションサービスでNetOpsとDevOpsの間のギャップを埋めることができます。

About F5 NGINX

F5 NGINXについて
F5, Inc.は、人気のオープンソースプロジェクト「NGINX」を支援しています。NGINXはモダンアプリケーションを開発・構築するためのテクノロジースイートを提供しています。NGINXとF5製品との併用で、コードからユーザーまでの広範なアプリケーション領域をサポートし、マルチクラウドアプリケーションサービスとしてNetOpsとDevOps間の課題を解決します。

詳しくはnginx.co.jpをご覧ください。Twitterで@nginxをフォローして会話に参加することもできます。