アプリケーションデリバリーコントローラ(ADC)は、TCP または UDP 接続を受け付け、ネットワークアドレス変換(NAT)と設定可能なアルゴリズムを用いて、各接続をバックエンドサーバーのプール内の正常なノードにマッピングする負荷分散サービスです。Versa オペレーティングシステム(VOS)搭載デバイスでは、この同じサービスがアナリティクスログトラフィックを分散させ、クラスタ間の冗長性を管理します。
主なポイント
- ADCは、バックエンドサーバーのプール全体で接続の負荷分散を行います。
- VOS では、ADC サービスは、リスニングを行う仮想 IP とポートのペアを定義します。
- デフォルトプールとバックアッププールにより、ADC サービスには組み込みのフェイルオーバー機能が備わっています。
- コントローラーノードのADCは、LEFログ接続をアナリティクスクラスターに分散させます。
- VMSの導入では、ノード間のフェイルオーバーにADCの仮想IPが使用されます。
このページの内容: その重要性仕組み種類アプリケーションデリバリーコントローラーおよびVersaよくある質問
アプリケーション・デリバリー・コントローラーはなぜ重要なのでしょうか?
バックエンドインスタンスが複数あるサービスでは、どのインスタンスが各接続を処理するかを決定し、あるインスタンスが応答しなくなったことを検知する仕組みが必要です。これがADCの役割です。ADCは、実サーバーのプール前に配置された単一の接点(仮想IPアドレスとポート)として機能し、クライアントは実サーバーがいくつ存在するか、あるいはどのサーバーが正常に動作しているかを把握する必要がなくなります。
冗長性の要件が高まるにつれて、その重要性も増します。単一のサイトでの負荷分散は、作業の半分に過ぎません。本番環境での展開においては、クライアントとの接続が途切れることなく、インスタンス(サーバー、クラスター、データセンターなど)が障害を起こしても正常に動作し続ける必要があります。デフォルトのプールだけでなく、バックアッププールを備えたADCであれば、ローカルな負荷分散を冗長性メカニズムへと変えます。これにより、再ルーティングを行う必要なく、接続は自動的に正常なバックアップ先へと継続して流れます。
アプリケーション・デリバリー・コントローラーとは何ですか?
ADCはクライアントとバックエンドノードのプールの間に位置し、クライアントが接続するための単一のアドレス(仮想IPアドレスとポート)を提供します。新しい接続が確立されるたびに、ADCは設定されたアルゴリズムに基づいてプール内のノードを1つ選択し、ネットワークアドレス変換(NAT)によってパケットヘッダーを書き換えます。これにより、トラフィックは選択されたノードに到達し、応答はADCを経由して戻ってきます。
ヘルスチェックにより、この抽象化の信頼性が確保されます。ADCは各プールメンバーを継続的に監視し、他の場所で既に確立されているセッションを切断することなく、正常に動作していないメンバーをローテーションから除外します。多くのADCでは、デフォルトのプール全体が到達不能になった場合にサービスが切り替わるバックアッププールが追加されており、デフォルトのプールが復旧すると、必要に応じて元のプールに戻ります。
アプリケーション・デリバリー・コントローラーの種類
このカテゴリーの大部分は、3つの導入モデルでカバーされています。ハードウェアアプライアンス(F5 BIG-IPやCitrix(NetScaler)ADCなどの専用デバイス)は、過去20年間にわたり市場を席巻してきました。これは、データセンターのサーバーファームの前に設置される物理的な装置です。ソフトウェアおよび仮想ADCは、仮想マシン、コンテナ、または組み込み機能として同様のロジックを提供し、専用アプライアンスの代わりに拡張性と低コストを実現しています。これは、今日のほとんどのSD-WANおよびクラウドプラットフォームが採用しているモデルです。グローバルサーバー負荷分散(GSLB)は、さらに1段階上のレベルで機能します。1つのサイト内のサーバー間で接続を分散させるのではなく、通常はDNSを介してクライアントを複数の別々のサイトのうち最も近いサイトへと誘導し、サイトレベルのフェイルオーバー機能を追加します。
アプリケーション・デリバリー・コントローラーおよびVersa
VOSデバイスにおいて、ADCは独立したアプライアンスではなく、組み込みのサービスです。サービスノードグループごとおよびテナント組織ごとに有効化され、その後、1つ以上のADCサーバープールによってサポートされるADCサービス(仮想IPとTCP/UDPポートのペア)として構成されます。各プールは、設定可能なアルゴリズムを使用し、オプションのバックアッププールを備えています。デフォルトプールのすべてのサーバーがモニタープローブに失敗した場合、サービスはこのバックアッププールに切り替わり、デフォルトプールが復旧すると元の状態に戻ります。
最も一般的な導入形態は、コントローラーノード上で実行されるものです。ここでは、ADCがVOSデバイスからのログエクスポート(LEF)接続をAnalyticsログコレクタークラスター全体に負荷分散し、アクティブ・バックアップまたはアクティブ・アクティブの冗長性を実現するためにセカンダリクラスターに切り替えます。 2つ目のパターンでは、Versa Messaging Service(VMS)の高可用性ペアをフロントエンドとして配置します。ADCの仮想IPにより、各VOSデバイスには1つの安定したアドレスが割り当てられ、フェイルオーバーの最中であっても、常にアクティブなVMSノードに解決されます。
よくある質問
ADCとロードバランサーの違いは何ですか?
これらの用語は、おおむね同じ意味で使用されます。「ロードバランサー」は基本的な機能を指すのに対し、「アプリケーションデリバリーコントローラー」は、ロードバランサーにヘルスモニタリング、ネットワークアドレス変換、場合によってはレイヤー7コンテンツ検査といった、単純なラウンドロビン方式による接続分散を超える機能を追加したものを指す、より広義のマーケティング用語です。
ADCのデフォルトプールとバックアッププール間のフェイルオーバーは、どのように機能するのでしょうか?
ADCは、ヘルスプローブを使用してデフォルトプールを継続的に監視します。デフォルトプールのすべてのメンバーがプローブに失敗した場合、ADCは新しい接続を自動的にバックアッププールにリダイレクトします。実装によっては、デフォルトプールが復旧した際に、再びデフォルトプールに切り替える機能もサポートされています。
ADCでは通常、どのような負荷分散アルゴリズムがサポートされていますか?
ラウンドロビン方式では、接続を順番に均等に分散させます。接続数が最も少なく、応答時間が最も短いノードが優先されます。送信元または宛先のIPハッシュ方式では、特定のクライアントを常に同じノードに割り当て続けます。各方式の加重バージョンでは、プール内の処理能力の高いノードに、より多くのトラフィックを送信します。
VersaのADCは、Analyticsのログコレクターと同じものですか?
いいえ。ADCはVOSデバイス上の汎用ロードバランシングサービスであり、Analyticsログコレクターは、ADCが接続を分散させるバックエンドノードです。コントローラーノードにおいて、ADCの最も一般的な役割は、LEFログ接続をコレクタークラスター全体に分散させることです。
グローバル・サーバー・ロード・バランシング(GSLB)とは何ですか?また、VersaのADCはこの機能を提供していますか?
GSLBは、通常DNSを介して、地理的に離れたサイト間でクライアントを誘導します。VersaのADCはローカルなロードバランサーです。1つの仮想サービスがプール内の接続を分散させ、DNSベースのGSLBとは異なり、サイトレベルのフェイルオーバー(例えば、プライマリおよびセカンダリのAnalyticsクラスタ間)のためのオプションのバックアッププールが用意されています。
関連用語
ADCについてお読みの方は、次にこれらもぜひチェックしてみてください。
| コントローラー | ログのエクスポート機能 | LEFのプロフィール |
|---|---|---|
| ADCが最も頻繁に稼働するVOSコントロールプレーンデバイスであり、ログ接続をアナリティクスクラスターに配信する。 | コントローラーノードのADCが、アナリティクスクラスターのコレクターノード間で最も一般的に負荷分散を行うログトラフィックです。 | ADCをフロントエンドとするクラスターの背後にあるテナントのログを、どのLEFコレクターまたはコレクターグループが受信するかを定義します。 |