アプリケーションデリバリー コントローラー(ADC)

アプリケーションデリバリーコントローラー | ホワイトペーパー
アプリケーションデリバリー
コントローラー(ADC)の
概要
www.citrix.co.jp
アプリケーションデリバリーコントローラー | ホワイトペーパー
2
アプリケーションデリバリーコントローラー(ADC)は、アプリ
ケーションのパフォーマンスを向上させる機能を搭載した⾼度
なロードバランサーです。今日では、企業規模にかかわらず、従
業員が地理的に分散し、構造が異なるさまざまなデータを扱う
企 業 に お い て は 、 Web ア プ リ ケ ー シ ョ ン か ら Microsoft
Exchange、SharePoint およびデータベースまで、複雑なアプリ
ケーション環境を最適化するために ADC が⽋かせません。興味
深いことに、ADC という⾔葉が使われるようになる 10 年以上
前まで、企業は Web サイトの可⽤性とスケーラビリティをロー
ドバランサーに頼っていたのです。このホワイトペーパーでは、
負荷分散システムの基礎知識と ADC への進化を説明します。
ロードバランサー
負荷分散は、ワークロードを複数のサーバー間で分散することで、リソース使⽤率の
最適化、スループットの最大化、応答時間の最短化、過負荷の回避を実現するネット
ワーキングの手法です。負荷分散サービスは、通常、マルチレイヤスイッチまたはド
メインネームシステム(DNS)サーバーなどの専⽤のソフトウェアまたはハードウェ
アによって提供されます。1 台のサーバーの代わりに、複数のサーバーに負荷を分散
することで冗⻑性が確保され、信頼性を⾼めることができます。
ラウンドロビン DNS
ラウンドロビン DNS は、初期の負荷分散⽅式の 1 つです。この技術では、複数の IP
アドレスが 1 つのドメイン名に関連付けられており、接続しているクライアントに提
供するサーバーのアドレスが DNS によって決定されます。この技術は、クライアン
トに複数のバックエンドサーバーの存在を公開します。DNS サーバーに対する制御
の程度と、必要な負荷分散の粒度に応じて、この技術には利点と⽋点があります。
負荷分散では、1 台のサーバーが⾏う作業量を複数のサーバー間で配分することで、
同じ時間でより多くのタスクを処理し、通常は、すべてのユーザーに迅速にサービス
を提供できるようにします。負荷分散は、ハードウェアかソフトウェアのいずれか、
または両⽅の組み合わせで実現できます。インターネットサービスの場合、ソフト
ウェアプログラムによるロードバランサーが、ネットワークポートで、サービスへの
アクセスを要求する外部クライアントが接続するのを待機します。ロードバランサー
は、各要求の処理に最も適した「バックエンド」サーバーを選択して、その要求を転
送します。
「バックエンド」サーバーは、ロードバランサーに応答するようになってい
ます。このようにして、ロードバランサーは、内部で分散した処理を明らかにするこ
となく、クライアントに返信することができます。また、クライアントが直接バック
エンドサーバーにアクセスできないようにすることで、内部ネットワークの構造を隠
し、サーバーへの直接の攻撃を防止するセキュリティレイヤが構築されます。
www.citrix.co.jp
アプリケーションデリバリーコントローラー | ホワイトペーパー
3
インターネット
ファイアウォール
ロードバランサー
サーバー1
サーバー2
サーバー3
サーバー4
図 1:単純なロードバランサー
一部のロードバランサーには、すべてのバックエンドサーバーが利⽤できない場合に
対応するメカニズムを備えているものがあります。このメカニズムには、バックアッ
プロードバランサーへの要求の転送や、停電に関するメッセージの表示などがありま
す。負荷分散により、IT チームは耐障害性に極めて優れたサービスを提供することが
できます。また、アプリケーショントラフィックの増減に合わせて必要なキャパシ
ティを自動調整する機能もあります。
TCP/IP 負荷分散
TCP/IP 負荷分散は、多数の着信サービス要求を複数のサーバーに配分するメカニズ
ムです。DNS ラウンドロビンとは異なり、すべてのクライアントが単一の IP アドレ
スに接続します。要求の配分は、サービスに固有の負荷分散アルゴリズムによって調
整されます。これにより、サービスの応答時間、サービスの信頼性、および全般的な
ユーザーエクスペリエンスが向上し、最適化されます。
www.citrix.co.jp
アプリケーションデリバリーコントローラー | ホワイトペーパー
4
サーバー1
サーバー2
アクティブロード
バランサー
サーバー3
インターネット
クライアント
パッシブロードバランサー
図 2:Web サーバーファームでのクライアントの負荷分散の例
複数のサーバーが、単一のホスト名または TCP/IP ネットワークアドレスで識別され
る 1 つの構成としてグループ化されます。サービスを要求するアプリケーションまた
はクライアントは、ロードバランサーがホスティングしている単一のホスト名に要求
を送信します。ロードバランサーは要求を受信し、タスクを実⾏させるためにグルー
プ内のいずれかのサーバーを選択します。
ロードバランサーは、クライアントの要求に応えられる適切なサーバーを選択する際
に、負荷分散アルゴリズムを使⽤します。要求の送信先のバックエンドサーバーを決
定するために、ロードバランサーはさまざまなスケジューリングアルゴリズムを使⽤
します。シンプルなアルゴリズムには、ランダム選択やラウンドロビンなどがありま
す。より⾼度なロードバランサーでは、サーバーから報告される負荷、最近の応答時
間、アップ/ダウンのステータス(監視ポーリングによる判断)
、アクティブな接続数、
地理的位置、機能、または割り当てられているトラフィック量などの要素が考慮され
ます。
アプリケーションデリバリーコントローラーの登場
2000 年の後半には、Web サーバーは静的なコンテンツだけでなく、アプリケーショ
ンまで配信するようになりました。企業は、従業員、顧客、パートナー、請負業者に
ミッションクリティカルな機能を提供するために Web ベースのアプリケーションを
使⽤していました。これらのミッションクリティカルなアプリケーションは、コンテ
ンツを動的かつリアルタイムに配信していたために、単純なサーバー負荷分散では対
応できませんでした。ビジネス要件を満たすために、ポリシーおよび⾼度なアプリ
ケーションレイヤの知識を使⽤し、さまざまな基準に基づいてユーザーをアプリケー
ションサーバーに接続させる必要がありました。直接変更を加えることなく、多くの
社内アプリケーションに対応するために、ADC はクライアントの要求(サーバーから
の応答を含む)の内容を変換する(書き換える)ことができます。
www.citrix.co.jp
アプリケーションデリバリーコントローラー | ホワイトペーパー
5
Web/アプリケーション
サーバー(MS Exchange
SAP、MS Lync など)
可用性
負荷分散
健全性の監視
パフォーマンス
キャッシング
圧縮
パフォーマンス
SSL オフロード
接続ポーリング
セキュリティ
SSL VPN
Web App
Firewall
図 3:ADC によるアプリケーションのワークロードの最適化
ADC は通常、
ファイアウォールと 1 つ以上のアプリケーションサーバー間にあるデー
タセンターに配置されます。ユーザーがデータセンターにアプリケーションやコンテ
ンツを要求すると、ADC は、ビジネス要件をサポートするためにポリシーや⾼度なア
プリケーションレイヤの設定を使⽤してデータセンター管理者が実装するさまざま
な基準に基づいて、ユーザーを目的のサーバーへルーティングします。ADC は、アプ
リケーションファイアウォールを使⽤してセキュリティの脅威からネットワークと
アプリケーションを保護しながら、ユーザーが特定の目的で必要とするアプリケー
ションを得られるようにします。ADC は、アプリケーションの動作を把握し、特定の
トラフィックを深く調べることで、インテリジェントな決定を⾏うことができます。
アプリケーションサーバーのパフォーマンスを最適化するには、多くのコンピュー
ティング集約タスクをオフロードする必要があります。このようにしない場合には、
サーバーの CPU に負荷がかかり、要求されたアプリケーションをユーザーへ配信す
ることが困難になります。ADC に追加された一般的な機能としては、SSL オフロー
ド技術、圧縮率の強化、TCP と HTTP プロトコルの最適化、および仮想化対応などの
機能があります。
ADC の圧縮機能は、帯域幅の使⽤率を最大にすることで、トラフィック量の増大に対
応でき、ネットワークのアップグレードの必要性をなくします。最新の ADC では、
新しいプロトコルインテリジェンスや、コンテンツ形式の変換およびトランザクショ
ン保証などの新しいサービスなどの機能強化が⾏われています。ADC は多くの機能
を搭載しています。主な機能のいくつかを以下に示します。
• 非対称負荷:負荷分散の割合を手動で設定し、一部のバックエンドサーバーに他の
サーバーよりも大きな作業負荷を割り当てることがでます。他のサーバーよりも多
くのキャパシティを持つ一部のサーバーを考慮するこの⽅法は、初歩的な⽅法とし
て適宜使⽤されます。
• 優先アクティブ化:サーバーの可⽤性が一定の数値を下回るか、⾼負荷になった場
合に、スタンバイサーバーをオンラインにできます。これにより、データセンター
内のリソースの効率的な利⽤が可能になります。
www.citrix.co.jp
アプリケーションデリバリーコントローラー | ホワイトペーパー
6
• SSL オフロードおよびアクセラレーション:Secure Socket Layer(SSL)要求の
暗号化と認証の要件を処理することは、Web サーバーの CPU に対する要求の大半
となることがあり、この要求が増えるにつれユーザーが経験する応答時間が遅くな
ります。Web サーバーからこの要求を削減するには、ADC を使⽤して SSL を終端
させることができます。いくつかの ADC アプライアンスには、アプリケーション
のパフォーマンスを向上させるために SSL を処理するための専⽤ハードウェアが
組み込まれています。
• 分散型サービス拒否(DDoS)攻撃の防御:分散型サービス拒否攻撃(DDoS 攻撃)
は、標的としたユーザーがマシンやネットワークのリソースを使⽤できないように
することが目的です。ADC は、プロトコル解析とコンテンツスイッチング機能を
使⽤して、タイプと要求内容に基づいてさまざまなサーバーへ要求を振り分けま
す。これらの機能を設定して、最も時間がかかり、重要でない要求をキューに入れ
たり、形状の不適切な HTTP リクエストや存在しない要素を参照する要求を拒否
することができます。攻撃者とサーバーとの間に割り込むことで、ADC は望まし
くない要求をブロックすると同時に、重要なアプリケーションへのトラフィックを
維持することができます。
• HTTP 圧縮:あらゆる最新の Web ブラウザで利⽤可能な Gzip およびデフレート
圧縮を利⽤して、HTTP オブジェクトの転送データ量を削減します。応答のデータ
量が大きく、クライアントの距離が遠く離れているほど、この機能は、データを取
得するラウンドトリップの回数を減らすことで応答時間を早めることができます。
• TCP オフロード:ベンダーによって⽤語は異なりますが、通常の処理として、各
クライアントからの HTTP リクエストごとに TCP 接続を⾏う⽅法です。この機能
は、HTTP を利⽤して、複数のクライアントからの単一の TCP ソケットへの複数
の HTTP 要求をバックエンドサーバーへ統合します。
• TCP バッファリング:サーバーからの応答をバッファリングし、遅いクライアン
トへのデータをドリップフィードすることができます。これにより、クライアント
へ直接リクエスト全体を送信する必要がある場合よりも速く、Web サーバーが他
のタスクのためにスレッドを解放させます。
• ヘルスチェック:サーバーをポーリングしてアプリケーションレイヤの健全性を
チェックし、応答に失敗したサーバーをプールから削除することで可⽤性を向上さ
せます。
• HTTP キャッシング:静的コンテンツを格納し、Web サーバーに接続することな
く一部の要求を処理することができます。これは、負荷のかかっているサーバーか
らの応答を⾼速化するだけでなく、コンテンツを配信するために必要なサーバーの
数を減らすことによって、パフォーマンスを向上させます。
• コンテンツフィルタリング:ロードバランサーは、悪意のある攻撃から保護できる
ように、トラフィックを通信中に自動的に変更することができます。
• HTTP セキュリティ:HTTP エラーページを非表示にし、HTTP 応答からサーバー
の識別ヘッダーを削除し、エンドユーザーが操作できないようにクッキーを暗号化
することができます。
www.citrix.co.jp
アプリケーションデリバリーコントローラー | ホワイトペーパー
7
• プライオリティキューイング:レートシェーピングとも呼ばれ、トラフィックごと
に優先順位を変える機能です。
• コンテンツアウェアスイッチング:ADC は、要求が暗号化されていない(HTTP)
との前提で、要求された URL に基づいて複数のサーバーに要求を送信できますが、
要求が(HTTPS で)暗号化されている場合には、
(復号化された)HTTPS 要求を
ADC 側で終了し、ポリシーを適⽤します。
• クライアント認証:Web サイトへのアクセスを許可する前に、さまざまな証明機
関に照らしてユーザーを認証します。
Citrix NetScaler は、⾼度な負荷分散機能を搭載した、業界をリードするアプリケー
ションデリバリーコントローラーです。世界中の多数のネットワークに導入されてお
り、あらゆるエンタープライズやクラウドサービスの配信を最適化、保護、制御して
います。NetScaler の負荷分散機能では、すべてのユーザーにアプリケーションとサー
ビスが 100%利⽤可能であることが保証されます。アプリケーションのパフォーマン
スを最大化するために、インテリジェントなデータ圧縮、静的および動的コンテンツ
のキャッシング、およびネットワークの効率を向上させる複数の TCP 最適化など、
各種の強⼒な⾼速化機能が搭載されています。NetScaler App Firewall は、Web アプ
リケーションレイヤへの攻撃から保護します。
Citrix NetScaler アプリケーションデリバリーコントローラーの詳細については、
http://www.citrix.co.jp/products/netscaler-application-delivery-controller/overview.html
をご覧ください。
まとめ
アプリケーションは、あらゆるビジネスの生命線であるため、24 時間年中無休で、可
⽤性、信頼性、および安全性を確保することが不可⽋です。ADC は、エンタープライ
ズアプリケーション環境を最適化する各種の機能を提供する重要な役割を果たしま
す。ADC を使⽤して、企業はさまざまなエンタープライズアプリケーションの信頼
性、エンドユーザーのパフォーマンス、データセンターリソースの使⽤とセキュリ
ティを最適化しています。市場は、特に Web サイトの可⽤性とスケーラビリティを
確保するために開発された負荷分散システムからさらに進化をとげています。
www.citrix.co.jp
8
Citrix について
Citrix Systems, Inc.(NASDAQ:CTXS)は、モバイルワークスタイルを可能にするクラウド ソリューションカンパニーです。どこにいて
も、オフィスにいるのと同じように、簡単かつ安全に仕事とコラボレーションすることが可能です。モバイル化によって多様化が進む中、
Citrix は、モバイル、デスクトップ仮想化、クラウド ネットワーキング、クラウド プラットフォーム、コラボレーション、データ共有
の各分野における業界最先端のソリューションを提供し、お客様のビジネスの俊敏性を向上します。現在、Citrix の製品は、世界中の 26
万以上の企業や組織において 1 億人以上の人々に利⽤されています。2012 年度の年間売上⾼は 25 億 9,000 万ドルでした。詳細について
は www.citrix.com をご覧ください。
©2014 Citrix Systems, Inc. All rights reserved. Citrix、NetScaler、NetScaler App Delivery Controller および NetScaler App Firewall は、
Citrix Systems, Inc.またはその子会社の登録商標であり、米国の特許商標局およびその他の国に登録されています。その他の商標や登録
商標はそれぞれの各社が所有権を有するものです。
E0813/PDF
J1014/PDF
www.citrix.co.jp