ADC

コンテンツスイッチングセットアップの障害からの保護

コンテンツスイッチング仮想サーバーがダウンしたり、過剰なトラフィックを処理できなくなったり、その他の理由でコンテンツスイッチングが失敗することがあります。失敗する可能性を減らすには、次の対策を講じてコンテンツスイッチングの設定を障害から保護してください:

バックアップ仮想サーバーの構成

プライマリコンテンツスイッチング仮想サーバーが DOWN または DISABLED とマークされている場合、NetScaler アプライアンスはバックアップコンテンツスイッチング仮想サーバーに要求を送信できます。また、サイトの停止またはメンテナンスに関する通知メッセージをクライアントに送信することもできます。バックアップコンテンツスイッチング仮想サーバーはプロキシであり、クライアントには透過的です。

バックアップ仮想サーバーを構成するときに、構成パラメーター Disable Primary When Down を指定できます。これにより、プライマリ仮想サーバーが復旧しても、手動で強制的にプライマリとして引き継ぐまでセカンダリのままになります。これは、バックアップ用のサーバー上のデータベースへの更新を確実に保持したい場合に便利です。これにより、プライマリ仮想サーバーを復元する前にデータベースを同期できます。

コンテンツスイッチング仮想サーバーを作成するとき、または既存のコンテンツスイッチング仮想サーバーのオプションパラメーターを変更するときに、バックアップコンテンツスイッチング仮想サーバーを構成できます。既存のバックアップコンテンツスイッチング仮想サーバー用にバックアップコンテンツスイッチング仮想サーバーを構成して、カスケードされたバックアップコンテンツスイッチング仮想サーバーを作成することもできます。カスケードバックアップコンテンツスイッチング仮想サーバーの最大深度は10です。アプライアンスは、稼働中のバックアップコンテンツスイッチング仮想サーバーを検索し、そのコンテンツスイッチング仮想サーバーにアクセスしてコンテンツを配信します。

コンテンツスイッチ仮想サーバーがバックアップコンテンツスイッチング仮想サーバーとリダイレクト URL の両方で構成されている場合、バックアップコンテンツスイッチング仮想サーバーがリダイレクト URL よりも優先されます。リダイレクトは、プライマリ仮想サーバーとバックアップ仮想サーバーがダウンしている場合に使用されます。

CLIを使用してバックアップコンテンツスイッチング仮想サーバーをセットアップするには

コマンドプロンプトで入力します:

set cs vserver <name> -backupVserver <string> -disablePrimaryOnDown (ON|OFF)
<!--NeedCopy-->

set cs vserver Vserver-CS-1 -backupVserver Vserver-CS-2 -disablePrimaryOnDown ON
<!--NeedCopy-->

GUI を使用してバックアップコンテンツスイッチング仮想サーバーをセットアップするには

  1. [ トラフィック管理] > [コンテンツスイッチング] > [仮想サーバー] に移動し、仮想サーバーを構成し、プロトコルを MYSQL として指定します。
  2. [ 詳細設定] で [ 保護] を選択し、 バックアップ仮想サーバーを指定します

余分なトラフィックをバックアップ仮想サーバーに転送する

スピルオーバーオプションは、コンテンツスイッチング仮想サーバーへの接続数が設定されたしきい値を超えると、コンテンツスイッチング仮想サーバーに到達した新しい接続をバックアップコンテンツスイッチング仮想サーバーに転送します。しきい値は動的に計算されるか、ユーザーが設定できます。仮想サーバーで(TCPで)確立された接続の数がしきい値と比較されます。接続数がしきい値に達すると、新しい接続はバックアップコンテンツスイッチング仮想サーバーに転送されます。

バックアップコンテンツスイッチング仮想サーバーが設定されたしきい値に達して負荷を処理できない場合、プライマリコンテンツスイッチング仮想サーバーはすべての要求をリダイレクト URL に転送します。プライマリコンテンツスイッチング仮想サーバーでリダイレクト URL が設定されていない場合、後続のリクエストはドロップされます。

CLIを使用して新しい接続をバックアップ仮想サーバーに転送するようにコンテンツスイッチ仮想サーバーを構成するには

コマンドプロンプトで入力します:

set cs vserver <name> -soMethod <methodType> -soThreshold <thresholdValue> -soPersistence <persistenceValue> -soPersistenceTimeout <timeoutValue>
<!--NeedCopy-->

set cs vserver Vserver-CS-1 -soMethod Connection -soThreshold 1000 -soPersistence enabled -soPersistenceTimeout 2
<!--NeedCopy-->

GUI を使用して新しい接続をバックアップ仮想サーバーに転送するようにコンテンツスイッチ仮想サーバーを設定するには

  1. [ トラフィック管理] > [コンテンツスイッチング] > [仮想サーバー] に移動し、仮想サーバーを構成し、プロトコルを MYSQL として指定します。
  2. [ 詳細設定] で [ 保護] を選択し、スピルオーバーを設定します。

リダイレクト URL の設定

HTTPまたはHTTPSタイプのコンテンツスイッチング仮想サーバーがダウンまたは無効になっている場合に、NetScalerアプライアンスのステータスを伝えるようにリダイレクトURLを構成できます。この URL はローカルでもリモートでもかまいません。

リダイレクト URL には、絶対 URL と相対 URL があります。構成したリダイレクトURLに絶対URLが含まれている場合、着信したHTTP要求で指定されたURLに関係なく、その絶対URLにリダイレクトされます。構成したリダイレクトURLにドメイン名のみが含まれている場合(相対URL)、そのドメインに着信URLを追記した場所にリダイレクトされます。

Citrix では絶対 URL を使用することを推奨しています。つまり、たとえば相対 URL の代わりに、www.example.com//で終わる URL です。相対 URL リダイレクトを行うと、脆弱性スキャナーが誤検出を報告する可能性があります。

コンテンツスイッチ仮想サーバーがバックアップ仮想サーバーとリダイレクト URL の両方で構成されている場合、バックアップ仮想サーバーがリダイレクト URL よりも優先されます。リダイレクト URL は、プライマリ仮想サーバーとバックアップ仮想サーバーがダウンしている場合に使用されます。

リダイレクトが設定されていてコンテンツスイッチング仮想サーバーが使用できない場合、アプライアンスはユーザーのブラウザに HTTP 302 リダイレクトを発行します。

CLI を使用してコンテンツスイッチ仮想サーバーが使用できない場合のリダイレクト URL を構成するには

コマンドプロンプトで入力します:

set cs vserver <name> -redirectURL <URLValue>
<!--NeedCopy-->

set cs vserver Vserver-CS-1 -redirectURL http://www.newdomain.com/mysite/maintenance
<!--NeedCopy-->

コンテンツスイッチ仮想サーバーが使用できない場合のリダイレクト URL を GUI を使用して構成するには

  1. [ トラフィック管理] > [コンテンツスイッチング] > [仮想サーバー] に移動し、仮想サーバーを構成し、プロトコルを MYSQL として指定します。
  2. [ 詳細設定] で [ 保護] を選択し、リダイレクト URL を指定します。

状態更新オプションの設定

コンテンツスイッチング機能により、ユーザーに表示される特定のコンテンツに基づいて、クライアント要求を複数のサーバーに分散できます。コンテンツスイッチングを効率的に行うために、コンテンツスイッチング仮想サーバーはコンテンツタイプに応じてトラフィックを負荷分散仮想サーバーに分散し、負荷分散仮想サーバーは指定された負荷分散方法に従ってトラフィックを物理サーバーに配信します。

トラフィック管理を円滑に行うためには、コンテンツスイッチング仮想サーバーが負荷分散仮想サーバーのステータスを把握することが重要です。状態更新オプションは、コンテンツスイッチ仮想サーバーにバインドされている負荷分散仮想サーバーがダウンしている場合に、コンテンツスイッチ仮想サーバーを DOWN とマークするのに役立ちます。負荷分散仮想サーバーは、それにバインドされているすべての物理サーバーがDOWNとマークされている場合、DOWNとマークされます。

状態更新が無効になっている場合:

コンテンツスイッチ仮想サーバーのステータスは UP とマークされます。稼働中のバウンド負荷分散仮想サーバーがなくても稼働したままです。

状態更新が有効な場合:

コンテンツスイッチ仮想サーバーを追加すると、最初はステータスが DOWN と表示されます。ステータスが UP の負荷分散仮想サーバーをバインドすると、コンテンツスイッチング仮想サーバーのステータスは UP になります。

複数の負荷分散仮想サーバーがバインドされており、そのうちの 1 つがデフォルトとして指定されている場合、コンテンツスイッチング仮想サーバーのステータスはデフォルトの負荷分散仮想サーバーのステータスを反映します。

デフォルトとして指定されていない状態で複数の負荷分散仮想サーバーがバインドされている場合、バインドされたすべての負荷分散仮想サーバーが稼働している場合にのみ、コンテンツスイッチング仮想サーバーのステータスは UP とマークされます。

CLI を使用して状態更新オプションを設定するには

コマンドプロンプトで入力します:

add cs vserver <name> <protocol> <ipAddress> <port> -stateUpdate ENABLED
<!--NeedCopy-->

 add cs vserver csw_vserver HTTP 10.18.250.154 80 -stateupdate ENABLED -cltTimeout 180
<!--NeedCopy-->

GUI を使用して状態更新オプションを設定するには

  1. [ トラフィック管理] > [コンテンツスイッチング] > [仮想サーバー] に移動し、仮想サーバーを構成し、プロトコルを MYSQL として指定します。
  2. [ 詳細設定] で [ トラフィック設定] を選択し、次に [ 状態更新] を選択します。

サージキューのフラッシュ

物理サーバーが要求を大量に受信すると、現在接続しているクライアントへの応答が遅くなり、ユーザーは不満を抱き、不満を抱きます。多くの場合、オーバーロードにより、クライアントはエラーページを受信します。このような過負荷を回避するために、NetScalerアプライアンスには、サービスへの新しい接続を確立する速度を制御するサージ保護などの機能が備わっています。

アプライアンスは、クライアントと物理サーバ間の接続の多重化を行います。サーバー上のサービスにアクセスするクライアント要求を受信すると、アプライアンスはサーバーへの接続がすでに確立されていて、空いているかを探します。空き接続が見つかった場合、その接続を使用してクライアントとサーバー間の仮想リンクを確立します。既存の空き接続が見つからない場合、アプライアンスはサーバーとの新しい接続を確立し、クライアントとサーバー間の仮想リンクを確立します。ただし、アプライアンスがサーバーとの新しい接続を確立できない場合、クライアント要求をサージキューに送信します。負荷分散またはコンテンツスイッチング仮想サーバーにバインドされているすべての物理サーバーがクライアント接続の上限(最大クライアント値、サージ保護しきい値、またはサービスの最大容量)に達すると、アプライアンスはどのサーバーとも接続を確立できなくなります。サージ保護機能は、サージキューを使用して物理サーバーとの接続を開く速度を調整します。アプライアンスは、仮想サーバにバインドされたサービスごとに異なるサージキューを維持します。

サージキューの長さは、アプライアンスが接続を確立できない要求が来るたびに増加し、キュー内の要求がサーバーに送信されるか、要求がタイムアウトしてキューから削除されるたびに長くなります。

サービスまたはサービスグループのサージキューが長くなりすぎる場合は、それをフラッシュすることをお勧めします。特定のサービスまたはサービスグループ、または負荷分散仮想サーバーにバインドされているすべてのサービスとサービスグループのサージキューをフラッシュできます。サージキューをフラッシュしても、既存の接続には影響しません。サージキューに存在するリクエストのみが削除されます。これらのリクエストについては、クライアントは新たなリクエストを行う必要があります。

コンテンツスイッチング仮想サーバーのサージキューをフラッシュすることもできます。コンテンツスイッチング仮想サーバーが特定の負荷分散仮想サーバーにいくつかの要求を転送し、負荷分散仮想サーバーも他の要求を受信した場合、コンテンツスイッチング仮想サーバーのサージキューをフラッシュすると、このコンテンツスイッチング仮想サーバーから受信した要求のみがフラッシュされます。負荷分散仮想サーバーのサージキュー内の他の要求はフラッシュされません。

キャッシュリダイレクト、認証、VPN、またはGSLB仮想サーバーまたはGSLBサービスのサージキューをフラッシュすることはできません。 [ソースIPの使用(USIP)]が有効になっている場合は、サージ保護機能を使用しないでください。

CLI を使用してサージキューをフラッシュするには

flush ns SurgeQ コマンドは次のように機能します:

  • サージキューをフラッシュする必要があるサービス、サービスグループ、または仮想サーバーの名前を指定できます。
  • コマンドの実行中に名前を指定すると、指定したエンティティのサージキューがフラッシュされます。複数のエンティティが同じ名前の場合、アプライアンスはそれらすべてのエンティティのサージキューをフラッシュします。
  • コマンドの実行中にサービスグループの名前、サーバー名、およびポートを指定すると、アプライアンスは指定されたサービスグループメンバーのみのサージキューをフラッシュします。
  • サービスグループの名前(<name>)を指定せずにサービスグループメンバー(<serverName><port>)を直接指定することはできません。また、<serverName>なしで<port>を指定することはできません。特定のサービスグループメンバーのサージキューをフラッシュする場合は、<serverName>および<port>を指定します。
  • 名前を指定せずにコマンドを実行すると、アプライアンスはアプライアンスに存在するすべてのエンティティのサージキューをフラッシュします。
  • サービスグループメンバーがサーバ名で識別される場合は、このコマンドでサーバ名を指定する必要があります。IP アドレスは指定できません。

コマンドプロンプトで入力します:

flush ns surgeQ [-name <name>] [-serverName <serverName> <port>].
<!--NeedCopy-->

1. flush ns surgeQ –name SVC1ANZGB –serverName 10.10.10.1 80
The above command flushes the surge queue of the service or virtual server that is named SVC1ANZGB and has IP address as 10.10.10

2. flush ns surgeQ
The above command flushes all the surge queues on the appliance.
<!--NeedCopy-->

GUI を使用してサージキューをフラッシュするには

[ トラフィック管理] > [コンテンツスイッチング] > [仮想サーバー] に移動し、仮想サーバーを選択して、[アクション] リストで [ フラッシュサージキュー] を選択します。

コンテンツスイッチングセットアップの障害からの保護