Application Delivery Controller (ADC) は、複雑な Web アプリケーションやエンタープライズ アプリケーションへのクライアント接続を管理するネットワーク デバイスです。 ADC はデータセンター内に戦略的に配置され、Web サーバーおよびアプリケーション サーバーとの間でエンドユーザー トラフィックを配信します。
アプリケーション デリバリー コントローラーの起源と進化
Application Delivery Controller の概念は、多くのサーバー間でトラフィックを分散するために使用される基本的なロード バランサーに由来しています。このテクノロジーは、単純なロード バランサの限界を克服するために、第 1 世代の ADC が導入された 1990 年代後半から 2000 年代前半に進化しました。
これらの第一世代の ADC は、ネットワーク ベースのアプリケーション配信プラットフォームとしても知られ、SSL オフロード、Cookie の永続化などの高度な機能を提供しました。長年にわたり、ADC はさらに洗練され、コンテンツ スイッチング、HTTP 圧縮、接続多重化、SSL VPN、コンテンツ キャッシュ、ファイアウォール機能などの高度な機能を提供してきました。
Application Delivery Controller の詳細を理解する
ADC は基本的にロード バランサとして機能し、クライアント リクエストを複数のサーバーに分散して、リソースの使用を最適化し、スループットを最大化し、応答時間を最小化し、単一サーバーの過負荷を回避します。 SSL オフロード、Web アプリケーション ファイアウォール (WAF)、アプリケーション アクセラレーションなど、パフォーマンスとセキュリティを強化する追加機能を組み込むことでさらに一歩進んでいます。
ADC の主な役割は、レイヤー 4 (トランスポート層) およびレイヤー 7 (アプリケーション層) のネットワーク サービスを提供して、ネットワーク トラフィックを効果的に分散することです。 ADC は、接続管理、データ圧縮、SSL 暗号化/復号化、コンテンツ キャッシュ、およびこれらのプロセス集約型タスクをアプリケーション サーバーからオフロードし、アプリケーションのスムーズな配信を保証するその他のタスクを実行します。
アプリケーション配信コントローラーの内部の仕組み
ADC は、静的コンテンツと動的コンテンツの両方で動作します。静的コンテンツの場合、ADC はキャッシュと圧縮技術を使用して配信速度を向上させます。動的コンテンツの場合、負荷分散アルゴリズムを使用してクライアント要求を複数のサーバーに均等に分散します。
ADC は通常、ネットワークの DMZ (非武装地帯) 内のファイアウォールと 1 つ以上のアプリケーション サーバーの間に配置されます。クライアントがアプリケーションのリクエストを送信すると、ADC はリクエストをインターセプトし、いくつかの要素 (サーバーの負荷、可用性など) に基づいてどのサーバーがリクエストを最もよく満たすことができるかを決定し、そのサーバーにリクエストを転送します。
アプリケーション デリバリー コントローラーの主な機能
ADC は、ネットワーク内でのアプリケーション配信を最適化し、安全にするためのさまざまな機能を提供します。主な機能には次のようなものがあります。
-
負荷分散: クライアント要求を複数のサーバーに分散して、単一のサーバーがボトルネックになるのを防ぎます。
-
SSL オフロード: SSL トラフィックの暗号化と復号化のプロセスを Web サーバーから ADC にオフロードします。
-
Web アプリケーション ファイアウォール: Web アプリケーションを一般的な脅威や脆弱性から保護します。
-
コンテンツ スイッチング: 要求されたコンテンツのタイプに基づいて、クライアントの要求を適切なサーバーに送信します。
-
HTTP 圧縮: 送信されるデータのサイズを縮小して、配信を高速化します。
-
接続の多重化: サーバー接続を再利用することでサーバーの負荷を軽減します。
アプリケーションデリバリーコントローラーの種類
ADC には、その展開に応じて 2 つの主なタイプがあります。
-
ハードウェアベースのADC: データ センターに設置される物理デバイスです。多くの場合、高いパフォーマンスと拡張性を実現するように設計されています。
-
ソフトウェアベースのADC: これらは、標準サーバーまたはクラウド上で実行される仮想アプライアンスです。これらは柔軟性とコスト削減を提供しますが、ハードウェア ADC と同じレベルのパフォーマンスを提供できない可能性があります。
タイプ | 利点 | 短所 |
---|---|---|
ハードウェアベース | 高いパフォーマンス、スケーラビリティ | 高コスト、柔軟性が低い |
ソフトウェアベース | 柔軟性、コスト削減 | パフォーマンスが低下する可能性がある |
アプリケーション配信コントローラの適用と問題解決
ADC はさまざまな方法で使用できますが、主な用途は Web およびエンタープライズ アプリケーションへのクライアント接続の管理にあります。また、アプリケーションの可用性、パフォーマンス、セキュリティを維持する上でも重要な役割を果たします。
たとえば、ADC は、サーバー間でトラフィックが不均等に分散される問題に対処し、アプリケーションの全体的な効率と応答性を向上させるのに役立ちます。また、受信トラフィックを傍受および検査して悪意のあるリクエストを除外することで、DDoS 攻撃の軽減にも役立ちます。
ADC と類似の用語の比較
ADC は、いくつかの共通の機能を共有しているため、ロード バランサーや Web アプリケーション ファイアウォール (WAF) とよく比較されます。ただし、ADC は追加の機能を提供します。
特徴 | ADC | ロードバランサ | ワフ |
---|---|---|---|
ロードバランシング | はい | はい | いいえ |
SSLオフロード | はい | 限定 | いいえ |
ウェブアプリケーションファイアウォール | はい | いいえ | はい |
コンテンツの切り替え | はい | いいえ | いいえ |
HTTP圧縮 | はい | いいえ | いいえ |
接続の多重化 | はい | いいえ | いいえ |
ADCに関する将来展望と技術
ADC の将来は、より広範な IT 環境を形成するトレンドと結びついています。クラウド コンピューティング、仮想化、ソフトウェア定義ネットワークの台頭により、ソフトウェアおよびクラウドベースの ADC の採用が増加すると予想されます。
さらに、機械学習と AI の重要性が高まるにつれて、将来の ADC ではこれらのテクノロジーが組み込まれ、よりインテリジェントなトラフィック分散決定が行われ、脅威をより適切に検出して軽減できるようになるかもしれません。
プロキシサーバーとアプリケーション配信コントローラー
プロキシ サーバーと ADC は連携して、ネットワークのパフォーマンスとセキュリティを向上させることができます。プロキシ サーバーは他のサーバーからリソースを求めるクライアントからのリクエストの仲介として機能しますが、ADC は複雑な Web アプリケーションやエンタープライズ アプリケーションへのクライアント接続を管理します。 ADC は負荷を分散してセキュリティを強化し、プロキシ サーバーはクライアントとサーバー間の情報の流れを制御および最適化できます。