パブリッククラウドで稼働する最新の分散アプリケーションにシームレスなユーザーエクスペリエンスを提供するには、効率的でセキュアなアプリケーションデリバリサービスのアーキテクチャ設計が不可欠です。クラウドネイティブなアプリケーションデリバリを構成する数多くの要素の中でも、Application Delivery Controller as a Service(ADCaaS)は、負荷分散、可用性、オブザーバビリティ、トラフィック最適化、アプリケーション保護、インフラストラクチャ自動化において重要な役割を果たします。
パブリッククラウドプロバイダーが提供する標準のADCaaSツールは、有力な出発点となり得ますが、アプリケーションデリバリー環境におけるカスタマイズ性とプログラマビリティ、スケーラビリティ、可視性に関する高度な要件や極めて固有の要件に必ずしも適合するとは限りません。本記事では、標準ツールの活用からサードパーティー製のクラウドネイティブサービスという選択肢の検討まで、Microsoft Azure上で稼働するアプリケーションに適したADCaaSを評価、選定するためのアプローチを紹介します。
Azure向けのADCaaSを選定する際、組織は使いやすさ、スケーラビリティ、カスタマイズ性、オブザーバビリティなどの要素を比較検討する必要があります。最適な選択肢は、多くの場合、環境の規模、アプリケーションデリバリのニーズの複雑さ、運用上の優先事項によって異なります。
デフォルトのADCaaSツールを使用する場合
パブリッククラウドプロバイダーが提供する標準のADCaaSツール(Microsoft AzureクラウドのAzure Load BalancerやAzure Application Gatewayなど)は、最も簡単でわかりやすい導入オプションです。これらのツールはクラウドエコシステムと緊密に統合されており、最小限の設定作業で、汎用的なアプリケーションデリバリーの多くのユースケースに対応できます。
- 使いやすさ:デフォルトのADCaaSツールは、パブリッククラウド環境内で簡単に導入、運用、管理できます。
- 一元管理:クラウドプロバイダーのエコシステムの一部として、これらのツールでは、パブリッククラウドプラットフォーム全体で一貫した管理インターフェースとダッシュボードを利用できます。
- 標準機能:基本的な負荷分散、脅威対策、その他のInfrastructure as a Service(IaaS)ネイティブサービスとの連携により、主要なニーズに標準で対応します。
デフォルトのADCaaSツールは、標準機能で十分であり、高度なカスタマイズやアプリケーションおよびAPIの高度な接続機能を必要としない、比較的静的な小~中規模のデプロイに最適です。
サードパーティ製クラウドネイティブADCaaSサービスを使用する場合
デフォルトのADCaaSでは、高度なカスタマイズ機能の不足、スケーリングの制約、可視性の不足などにより要件を満たせない場合、クラウドマーケットプレイスで提供されるサードパーティ製のクラウドネイティブADCaaSが、次の有力な選択肢となります。その一例が、F5 NGINXaaS for Azureです。大規模環境でパフォーマンス、可用性、保護、可視性を強化し、複雑さや運用負荷を増やすことなく、ユーザーエクスペリエンス全体を向上できるよう設計されています。
F5 NGINXaaS for Azureは、複雑さや運用負荷を増やすことなく、パフォーマンス、可用性、保護、可視性を大規模環境で強化し、ユーザーエクスペリエンス全体を向上させます。
Azureでサードパーティ製ADCaaSを評価する際は、以下の機能を検討してください。
- 負荷分散アルゴリズム:最先端のADCaaSツールは、インテリジェントな負荷ベースのトラフィック分散をサポートします。たとえば、F5 NGINXaaS for Azureのleast timeアルゴリズムにより、アプリケーションの応答時間を最短化し、リソース利用を最適化できます。
- ダウンタイムなしの再構成: バックエンドサービスの柔軟かつ動的な自動スケーリングでは、ADCaaSがトポロジーの変更を無停止で処理できない場合、接続タイムアウトやエラーが発生する可能性があります。F5 NGINXaaS for Azureは動的な構成更新をサポートしているため、リクエストが急増した際もトラフィックフローを中断することなく、スムーズで一貫したユーザーエクスペリエンスを実現します。
- 可観測性:多くの場合、デフォルトのツールでアプリケーションの健全性とパフォーマンスを十分に可視化できます。しかし、問題を迅速に特定して解決するには、詳細な状況をリアルタイムで把握する必要がある場合もあります。お客さまに影響が及ぶ前に把握できることが理想的です。たとえば、F5 NGINXaaS for Azureでは、200を超える詳細なリアルタイム指標を監視およびレポートできるため、トラブルシューティングの迅速化と、アプリケーションの健全性およびパフォーマンスに関するより深いインサイトの獲得に役立ちます。
- カスタマイズ性とプログラマビリティ:高度なADCaaSで重要となる要素の1つは、柔軟な構成と完全にプログラム可能なデータプレーンによって、独自のシナリオやユースケースを実現できるようにすることです。F5 NGINXaaS for Azureは、データプレーン構成をより幅広く制御できる機能と、組み込みのNGINX JavaScriptを提供することで、この目標の達成を支援します。これにより、組織固有のニーズや要件に合わせて高度にカスタマイズされた機能を実装する際に、ほぼ無制限の柔軟性が得られます。
- 統合機能: 高度なアプリケーションおよびAPI保護を統合し、1つのツールでレイヤー4とレイヤー7の両方のロードバランサーを実装できるため、複雑さやツールの乱立を軽減できます。F5 NGINXaaS for Azureのレイヤー4およびレイヤー7の統合機能と、業界をリードするF5のWebアプリケーションファイアウォール保護を組み合わせることで、テクノロジーの集約と運用コストの最適化に役立ちます。さらに、Azure Entra、Azure Key Vault、Azure MonitorなどのAzureの主要サービスと緊密に統合することで、Azure環境全体にわたり、円滑で一貫したアプリケーションデリバリーを実現します。
クラウドマーケットプレイスから入手できるF5 NGINXaaS for Azureは、追加インフラストラクチャの管理に伴う複雑さを増やすことなく、パフォーマンス、スケーラビリティ、可視性の向上が求められる導入シナリオに最適です。また、多数のクラウドネイティブな分散アプリケーションをホストする、中規模から大規模の動的な環境に適しています。
まとめ
プラットフォームアーキテクトやクラウドアーキテクトが適切なADCaaSを選定するには、使いやすさ、柔軟性、拡張性、運用の複雑さのバランスを取る必要があります。シンプルかつ迅速に導入するには、まずAzureクラウドプラットフォームが提供するデフォルトのツールを使用します。高度な機能、より優れた拡張性、可視性の向上が必要な場合は、F5 NGINXaaS for Azureなど、マーケットプレイスで提供されているサードパーティ製のネイティブADCaaSを検討してください。
「as a Service」ソリューションではニーズを満たせない場合、VMまたはコンテナにデプロイ可能なADCを使用すると、運用オーバーヘッドは増加するものの、より高度な制御が可能になります。特に、複数の環境にわたる一貫性と一元管理が重要な要件となる、複雑なマルチクラウドアーキテクチャに適しています。
最終的な判断は、チームの優先事項と対応能力によって異なります。シンプルさと制御性のどちらを重視する場合でも、適切なADCaaSを活用することで、アーキテクトはレジリエンスと高いパフォーマンスを備え、将来の変化にも対応できるアプリケーションデリバリープラットフォームを構築できます。
モダンでレジリエントなクラウドアプリケーションデリバリーアーキテクチャの構築を始めるには、Azure MarketplaceでF5 NGINXaaS for Azureをご確認ください。
著者について


関連するブログ記事
チュートリアル:NGINXを使用してアプリケーション向けにOpenTelemetryを構成する
OpenTelemetryを使用してNGINXサーバーの状態と健全性をより明確に把握することで、問題のトラブルシューティングを行い、Webアプリケーションのパフォーマンスを向上できます。
AkitaのNGINX Plus認定モジュールでAPIエンドポイントの問題を特定・修正
Akita SoftwareのAPIオブザーバビリティ向け新しいNGINX Plus Certified Moduleを活用して、APIエンドポイントの問題をより迅速に特定し、修正できます。
JavaプロジェクトをスキャフォールディングしてKubernetesネイティブアプリを構築する方法
Red HatのシニアプリンシパルデベロッパーアドボケイトであるDaniel Oh氏が、Javaプロジェクトをゼロから構築するためのひな形を作成し、Kubernetesネイティブアプリケーションとしてビルドする方法を解説します。
F5 NGINXaaS for Azureのご紹介:Microsoft Azureでネイティブに利用できるSaaS型ロードバランシング
NGINXaaS for Azureは、NGINX PlusをAzureネイティブのSaaSとして利用できるサービスです。NGINXの設定を容易にリフト&シフトできるため、クラウド導入とモダンアプリの展開を加速できます。

SELinuxでNGINXおよびNGINX Plusを使用する
Red Hat Enterprise Linux(RHEL)および関連ディストリビューションでSecurity-Enhanced Linux(SELinux)を有効にすると、デフォルト設定によりNGINXとNGINX Plusの一部の操作が制限されます。この記事では、すべての機能を利用できるようにSELinuxの設定を変更する方法について説明します。
NGINX PlusによるAWS Auto Scalingグループの負荷分散
新しいnginx-asg-sync統合ソフトウェアにより、NGINX PlusはAWS Auto Scalingグループの負荷を直接分散できるため、クラウドでの負荷分散がさらに柔軟になります