エンタープライズITの潮流変化と新たな課題、セキュリティ筆頭に実効的な解決策を提示
はじめに
本連載では、NGINX(エンジンエックス)が求められている時代背景と、そのユースケース、具体的な設定手順について複数回に分けて解説致します。第1回目となる本稿では、アプリケーションの変遷や利用実態、そこで新たに浮上する様々な課題に応えるものとして期待を集めるNGINXの概要を紹介致します。
エンタープライズITの歴史を振り返る
NGINXのお話に入る前に、アプリケーションの変遷を少し振り返りたいと思います。
今から20年ほど前、アプリケーションは物理的なインフラストラクチャであるオンプレミスのデータセンターでホストされ、クライアント・サーバ方式や、ウェブ、ミドルウェア、データベースといった3層モデルを利用して構築されていました。
アプリケーションの開発と運用を担うのは、基本的にはアプリケーションを所有する企業。ウォーターフォール型の手法を用いて開発し、本番環境への変更は稀にしか発生しませんでした。
アプリケーション利用者はヒトが前提であり、アクセス制御はファイアウォールを利用したネットワークレベルで実現していました。インフラは自社内設備でソフトウェアは自社内開発だったために直接制御できる範囲が大きく、非常に安定した運用を行ってきました。
今日では、コスト効率を高めながら、ビジネス要件により迅速に対応するため、クラウドやコンテナ技術を採用。アプリケーションは物理的な場所から仮想的な場所へ移り、従来の3層モデルからコンテナ・APIを駆使した分散型アーキテクチャへと移り変わっています。
また、アプリケーションの開発と運用については、複数のチームがそれぞれの領域を担当するDevOps等の手法が取り入れられるようになり、変更も頻繁に実施されるようになりました。さらに、アプリケーション利用者はヒト以外に、API連携を行うソフトウェアが加わるようになったのは周知の通りです。
そして、クラウドやオープンソースソフトウェア等の利用が増えるにつれ、自社で直接制御できる項目が少なくなってきたことも昨今の大きな特徴と言えるでしょう。
これらの変化により、アプリケーション環境にどのような課題が生じているのでしょうか?
変化によって露呈した新たな課題
F5が発行している2021年度アプリケーション戦略レポート(以下、F5 SOAS Report)によると、
- アプリケーションは企業のDX活動を進めるうえでの重要な基盤であること
- アプリケーションのモダナイズ化にはAPI、コンテナ、クラウドの活用が顕著であること
一方で、アプリケーションアーキテクチャが変わりゆく上での新しい運用課題として、例えば、
- APIやKubernetes/コンテナといった新しいコンポーネントに対するアクセス管理
- ヒト以外のアクセスに対応するための認証・認可方法
- ネットワークインフラ担当者やアプリケーション開発者との連携
また、同レポートによると、
- 企業の87%が従来と最新、両方のアーキテクチャを管理していること
- 半数近くが複数にわたる環境にて、5つ以上のアーキテクチャを管理・運用していること
複数の環境が混在すると、運用管理ツールやスキルだけではなく、セキュリティやパフォーマンスを担保する技術を、いかに効果的に展開するか、という課題が極めて重要になってきます。
実際に、モダンアーキテクチャを採用する上で、開発・PoCまでは実施したものの、本番環境へは未だ適用できていないケースを散見します。その理由の一つとなっているのがセキュリティなのです。
Contrast Security社が2020年に発行したState of DevSecOps Reportによると、99%以上の組織が本番環境のアプリケーションに、少なくとも4つの脆弱性があることを認めています。また、80%近くが開発中のアプリケーションで20以上の脆弱性を報告しています。特に様々な組織、パートナーが利用するAPIの急増がこの問題の原因の1つとなっています。
開発に近い段階でセキュリティを実装する、DevSecOpsの手法を取り入れているものの、現実にはセキュリティギャップが発生。このギャップを少なくし、本番環境に必要とされる高い安定性とセキュリティ、復元力を提供する位置づけとして注目を集めているのがNGINX(エンジンエックス)です。
セキュリティをはじめ課題に応えるNGINX
NGINXはIgor Sysoev氏によって開発されたオープンソースソフトウェアです。初版は2004年にリリースされ、主にWebサーバとして利用されてきました。その後、2011年にNGINX社が設立され、オープンソース版の開発と合わせて商用版であるNGINX Plusが提供されるようになりました。
2019年にF5 Networks社がNGINX社を買収した後も、オープンソース版、商用版共に開発と提供が継続。特に最近では、従来F5社が提供してきたWAF機能をNGINXに移植したNGINX App Protect(エンジンエックス アッププロテクト)等、商用環境に必要とされるセキュリティ機能の拡張が顕著になっています。
現在はユースケースとして、Webサーバ、リバースプロキシー、コンテンツキャッシュに加え、Kubernetes環境におけるセキュアなIngress Controllerとしても利用されており適用領域は着実に拡がっています。
また、開発プロセスのどこにでもセキュリティを提供し、CI/CDパイプラインと完全統合することが可能。インフラチーム、開発チームがお互いの作業に集中できるため、柔軟な制御と安定性を担保できる点でも期待を集めています。
オープンソース版と商用版それぞれの特徴をあらためて表にまとめました。
NGINXオープンソースソフトウェアは主に開発者や個々のチームに向けた軽量・高速なアプリケーション基盤となります。また、本番環境に必要な安定性・信頼性も備えています。
NGINX Plus(エンジンエックス プラス)は、オープンソースをベースとし、本番環境や大企業に必要とされるセキュリティ、ガバナンス、可観測性を機能として追加した商用版となります。
現在、内容に応じた2種類のサポートプランを展開しています。
次回に向けて
今回はアプリケーションの変遷を振り返ると共に、それによって浮上してきた課題や、それに応えるNGINXの概要について解説しました。次回以降では、NGINXを用いて、どのようにプラットフォーム全体に高い安定性、セキュリティ、復元力を適応するのか? ──具体的なユースケースと、その構築手順を連載致します。
<参考文献>
https://www.f5.com/ja_jp/state-of-application-strategy-report
https://www.nginx.co.jp/blog/what-is-nginx/
https://www.nginx.com/blog/nginx-sprint-2-0-clear-vision-fresh-code-new-commitments-to-open-source/
https://www.nginx.com/blog/securely-set-devops-free-nginx-modern-application-security/
https://www.contrastsecurity.com/security-influencers/95-percent-of-organizations-admit-to-at-least-one-successful-application-exploit-in-past-year
https://onug.net/blog/application-architectures-its-been-a-journey/
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- オンプレミス環境のKubernetesに潜む、セキュリティ×利便性のジレンマを解決する
- コンテナ領域で存在感を強めるNGINX、OpenShiftとの親和性でKubernetes本番環境のセキュリティや可用性を追求
- NGINX Ingress Controllerの柔軟なアプリケーション制御、具体的なユースケースと設定方法を理解する
- サイオステクノロジーがNginxの商用版「NGINX Plus」の国内販売を発表
- CNDT 2020にNGINXのアーキテクトが登壇。NGINX Ingress ControllerとそのWAF機能を紹介
- 話題のDockerの魅力とは? OSSインフラナイター vol.1 レポート
- Windows Server 2016 Technical Preview 3におけるDockerの利用
- APIマネージメントのKong、Mashapeからブランディングを一新して成長をアピール
- NginxでハイパフォーマンスWordPress in SoftLayer
- Linux Foudationの2020年上半期の動きを振り返る(2)