Citrix ADC

障害に対するコンテンツスイッチングセットアップの保護

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

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

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

バックアップ仮想サーバを設定する場合、構成パラメータの [Disable Primary When Down] を指定して、プライマリ仮想サーバが復帰したときに、手動でプライマリとして引き継がれるまで、プライマリ仮想サーバがセカンダリとして維持されるようにすることができます。これは、バックアップのためにサーバー上のデータベースに対する更新が保持され、プライマリ仮想サーバーをリストアする前にデータベースを同期できるようにする場合に便利です。

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

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

コマンドラインインターフェイスを使用してバックアップコンテンツスイッチ仮想サーバーをセットアップするには

コマンドプロンプトで、次のように入力します。

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

set cs vserver Vserver-CS-1 -backupVserver Vserver-CS-2 -disablePrimaryOnDown ON

構成ユーティリティを使用してバックアップコンテンツスイッチ仮想サーバーをセットアップするには

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

過剰なトラフィックのバックアップ仮想サーバへの転送

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

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

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

コマンドプロンプトで、次のように入力します。

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

set cs vserver Vserver-CS-1 -soMethod Connection -soThreshold 1000 -soPersistence enabled -soPersistenceTimeout 2

構成ユーティリティを使用して新しい接続をバックアップ仮想サーバーに迂回するようにコンテンツスイッチ仮想サーバーを設定するには

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

リダイレクション URL の設定

HTTPまたはHTTPSタイプのコンテンツスイッチ仮想サーバーがDOWNまたはDISABLEDの場合、Citrix ADCアプライアンスのステータスを通信するようにリダイレクトURLを構成できます。この URL は、ローカルでもリモートでもかまいません。

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

絶対URLの使用をお勧めします。つまり、相対 URL ではなく、たとえば www.example.com/で終わる URL です。相対 URL リダイレクトにより、脆弱性スキャナが誤検知を報告する可能性があります。

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

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

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

コマンドプロンプトで、次のように入力します。

set cs vserver <name> -redirectURL <URLValue>

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

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

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

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

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

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

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

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

[状態更新] が有効な場合:

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

複数の負荷分散仮想サーバーがバインドされ、そのうちの 1 つが既定として指定されている場合、コンテンツスイッチ仮想サーバーの状態には、既定の負荷分散仮想サーバーの状態が反映されます。

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

コマンドラインインターフェイスを使用して状態更新オプションを構成するには

コマンドプロンプトで、次のように入力します。

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

 add cs vserver csw_vserver HTTP 10.18.250.154 80 -stateupdate ENABLED -cltTimeout 180

構成ユーティリティを使用して状態更新オプションを構成するには

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

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

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

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

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

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

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

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

コマンドラインインターフェイスを使用してサージキューをフラッシュするには

flush ns surgeQ コマンドは、次のように動作します。

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

コマンドプロンプトで、次のように入力します。

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

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.

構成ユーティリティを使用してサージキューをフラッシュするには

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

障害に対するコンテンツスイッチングセットアップの保護