コンテンツスイッチングセットアップを障害から保護する
コンテンツスイッチング仮想サーバーがダウンしたり,過剰なトラフィックを処理できなかったりした場合,またはその他の理由で,コンテンツスイッチングが失敗する場合があります。失敗の可能性を減らすには,次の措置を講じて,コンテンツスイッチの設定を障害から保護します。
バックアップ仮想サーバーの構成
プライマリコンテンツスイッチング仮想サーバーが”ダウン”または”無効”とマークされている場合,Citrix ADCアプライアンスはバックアップコンテンツスイッチング仮想サーバーに要求を送信できます。また,サイトの停止またはメンテナンスに関する通知メッセージをクライアントに送信することもできます。バックアップコンテンツスイッチ仮想サーバは,プロキシであり,クライアントに対して透過的です。
バックアップ仮想サーバを設定する場合,構成パラメータの[禁用主当下来]を指定して,プライマリ仮想サーバが復帰したときに,手動でプライマリとして引き継がれるまで,プライマリ仮想サーバがセカンダリとして維持されるようにすることができます。バックアップのためにサーバー上のデータベースへの更新を確実に保持し,プライマリ仮想サーバーを復元する前にデータベースを同期できるようにする場合に役立ちます。
コンテンツスイッチ仮想サーバーを作成するとき,または既存のコンテンツスイッチ仮想サーバーのオプションのパラメーターを変更するときに,バックアップコンテンツスイッチ仮想サーバーを構成できます。既存のバックアップコンテンツスイッチ仮想サーバーのバックアップコンテンツスイッチ仮想サーバーを構成することもできます。これにより,カスケードされたバックアップコンテンツスイッチ仮想サーバーが作成されます。カスケード·バックアップ·コンテンツ·スイッチング仮想サーバの最大深さは10です。アプライアンスは,稼働中のバックアップコンテンツスイッチ仮想サーバーを検索し,コンテンツスイッチ仮想サーバーにアクセスしてコンテンツを配信します。
注
コンテンツスイッチ仮想サーバーがバックアップコンテンツスイッチ仮想サーバーとリダイレクトURLの両方で構成されている場合,バックアップコンテンツスイッチ仮想サーバーはリダイレクトURLよりも優先されます。リダイレクトは,プライマリおよびバックアップ仮想サーバがダウンしている場合に使用されます。
cliを使用してバックアップコンテンツスイッチング仮想サーバーをセットアップするには
コマンドプロンプトで入力します。
设置cs vserver -backupVserver -disablePrimaryOnDown (ON|OFF)
例
设置cs vserver vserver - cs -1 -backupVserver vserver - cs -2 -disablePrimaryOnDown ON
guiを使用してバックアップコンテンツスイッチング仮想サーバーをセットアップするには
- [トラフィック管理]>[コンテンツスイッチング]>[仮想サーバー]に移動し,仮想サーバーを設定し,プロトコルをMySQLに指定します。
- [詳細設定]で,(保護を選択し,バックアップ仮想サーバーを指定します。
余分なトラフィックをバックアップ仮想サーバーに迂回させる
溢出オプションは,コンテンツスイッチング仮想サーバーへの接続数が設定されたしきい値を超えた場合に,コンテンツスイッチング仮想サーバーに着信した新しい接続をバックアップコンテンツスイッチング仮想サーバーに転送します。しきい値は動的に計算されるか,値を設定できます。仮想サーバーで確立された接続の数(tcp)がしきい値と比較されます。接続数がしきい値に達すると,新しい接続はバックアップコンテンツスイッチ仮想サーバーに転送されます。
バックアップコンテンツスイッチング仮想サーバが設定されたしきい値に達し,負荷をかけることができない場合,プライマリコンテンツスイッチング仮想サーバはすべての要求をリダイレクトURLに転送します。プライマリコンテンツスイッチ仮想サーバにリダイレクトURLが構成されていない場合,後続の要求はドロップされます。
CLIを使用して,新しい接続をバックアップ仮想サーバーに転送するようにコンテンツスイッチング仮想サーバーを構成するには
コマンドプロンプトで入力します。
set cs vserver - somemethod -soThreshold -soPersistence -soPersistenceTimeout
例
设置cs vserver vserver - cs -1 -soMethod Connection -soThreshold 1000 - soopersistence enabled - soopersistencetimeout 2
GUIを使用して,新しい接続をバックアップ仮想サーバーに転送するようにコンテンツスイッチング仮想サーバーを設定するには
- [トラフィック管理]>[コンテンツスイッチング]>[仮想サーバー]に移動し,仮想サーバーを設定し,プロトコルをMySQLに指定します。
- [詳細設定]で,(保護]を選択し,スピルオーバーを構成します。
リダイレクトurlの構成
タイプHTTPまたはHTTPSのコンテンツスイッチング仮想サーバーが下来または禁用の場合に,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リダイレクトをユーザーのブラウザに発行します。
CLIを使用してコンテンツスイッチング仮想サーバーが利用できない場合のリダイレクトURLを構成するには
コマンドプロンプトで入力します。
设置cs vserver -redirectURL
例
设置cs vserver vserver - cs -1 -redirectURL http://www.newdomain.com/mysite/maintenance
GUIを使用してコンテンツスイッチング仮想サーバーが利用できない場合のリダイレクトURLを構成するには
- [トラフィック管理]>[コンテンツスイッチング]>[仮想サーバー]に移動し,仮想サーバーを設定し,プロトコルをMySQLに指定します。
- [詳細設定]で[保護]を選択し,リダイレクトurlを指定します。
状態更新オプションの構成
コンテンツスイッチング機能により,ユーザーに提示された特定のコンテンツに基づいて,クライアント要求を複数のサーバーに分散できます。コンテンツスイッチングを効率的に行うために,コンテンツスイッチング仮想サーバーは,コンテンツの種類に応じてトラフィックを負荷分散仮想サーバーに分散し,負荷分散仮想サーバーは,指定された負荷分散方法に従ってトラフィックを物理サーバーに分散します。
スムーズなトラフィック管理のためには,コンテンツスイッチング仮想サーバーが負荷分散仮想サーバーの状態を知ることが重要です。状態更新オプションは,バインドされている負荷分散仮想サーバーが下来とマークされている場合,コンテンツスイッチング仮想サーバーを下来とマークするのに役立ちます。負荷分散仮想サーバは,バインドされているすべての物理サーバが”ダウン”とマークされている場合,“ダウン”とマークされます。
状態更新が無効になっている場合:
コンテンツスイッチング仮想サーバーのステータスがupとしてマークされます。バインドされた負荷分散仮想サーバーが稼働していなくても,上のままです。
[状態更新]が有効な場合:
コンテンツスイッチング仮想サーバーを追加すると,最初はそのステータスが下として表示されます。ステータスが了の負荷分散仮想サーバーをバインドすると,コンテンツスイッチング仮想サーバーのステータスが了になります。
複数の負荷分散仮想サーバーがバインドされ,そのうちの1つが既定として指定されている場合,コンテンツスイッチ仮想サーバーの状態には,既定の負荷分散仮想サーバーの状態が反映されます。
複数の負荷分散仮想サーバーが既定として指定されていない状態でバインドされている場合,コンテンツスイッチング仮想サーバーのステータスは,バインドされたすべての負荷分散仮想サーバーが了の場合にのみ了とマークされます。
cliを使用して状態更新オプションを構成するには
コマンドプロンプトで入力します。
添加cs vserver -stateUpdate ENABLED
例
添加cs vserver csw_vserver HTTP 10.18.250.154 80 -stateupdate ENABLED -cltTimeout 180
guiを使用して状態更新オプションを構成するには
- [トラフィック管理]>[コンテンツスイッチング]>[仮想サーバー]に移動し,仮想サーバーを設定し,プロトコルをMySQLに指定します。
- [詳細設定]で,(トラフィックの設定]を選択し,[状態の更新を選択します。
サージキューのフラッシュ
物理サーバが要求の急増を受信すると,現在接続しているクライアントへの応答が遅くなり,ユーザが不満になり,不満や不満が残ります。多くの場合,オーバーロードにより,クライアントはエラーページを受信します。このような過負荷を回避するために,Citrix ADCアプライアンスは,サービスへの新しい接続を確立する速度を制御するサージ保護などの機能を提供します。
アプライアンスは,クライアントと物理サーバ間の接続の多重化を行います。サーバ上のサービスにアクセスするためのクライアント要求を受信すると,アプライアンスはすでに確立されているサーバへの接続を空いているか探します。空き接続が見つかった場合,その接続を使用してクライアントとサーバー間の仮想リンクを確立します。既存の空き接続が見つからない場合,アプライアンスはサーバーとの新しい接続を確立し,クライアントとサーバーの間に仮想リンクを確立します。ただし,アプライアンスがサーバーとの新しい接続を確立できない場合,クライアント要求をサージキューに送信します。負荷分散またはコンテンツスイッチング仮想サーバーにバインドされているすべての物理サーバーがクライアント接続の上限(最大クライアント値、サージ保護しきい値、またはサービスの最大容量)に達した場合、アプライアンスはどのサーバーとも接続を確立できません。サージ保護機能は、サージキューを使用して、物理サーバとの接続が開かれる速度を調整します。アプライアンスは、仮想サーバにバインドされたサービスごとに異なるサージキューを維持します。
サージキューの長さは,アプライアンスが接続を確立できない要求が来ると増加し,キュー内の要求がサーバーに送信されるか,要求がタイムアウトしてキューから削除されるたびに減少します。
サービスまたはサービスグループのサージキューが長くなりすぎる場合は,それをフラッシュすることをお勧めします。特定のサービスまたはサービスグループ,または負荷分散仮想サーバーにバインドされているすべてのサービスとサービスグループのサージキューをフラッシュできます。サージキューをフラッシュしても,既存の接続には影響しません。サージキューに存在する要求だけが削除されます。これらの要求の場合,クライアントは新しい要求を行う必要があります。
コンテンツスイッチング仮想サーバーのサージキューをフラッシュすることもできます。コンテンツスイッチング仮想サーバーが特定の負荷分散仮想サーバーにいくつかの要求を転送し,負荷分散仮想サーバーが他のいくつかの要求も受信する場合,コンテンツスイッチング仮想サーバーのサージキューをフラッシュすると,このコンテンツスイッチングから受信した要求のみが仮想サーバーがフラッシュされます。負荷分散仮想サーバーのサージキュー内の他の要求はフラッシュされません。
注
キャッシュリダイレクト,認証,VPN,またはGSLB仮想サーバーまたはGSLBサービスのサージキューをフラッシュすることはできません。[ソースipの使用(usip)]が有効になっている場合は,サージ保護機能を使用しないでください。
Cliを使用してサージキューをフラッシュするには
冲洗ns驱动器コマンドは,次のように動作します。
- サージキューをフラッシュする必要があるサービス,サービスグループ,または仮想サーバの名前を指定できます。
- コマンドの実行中に名前を指定すると,指定したエンティティのサージキューがフラッシュされます。複数のエンティティが同じ名前を持っている場合,アプライアンスはそれらすべてのエンティティのサージキューをフラッシュします。
- コマンドの実行中にサービスグループの名前,サーバー名,およびポートを指定すると,アプライアンスは指定されたサービスグループメンバーのみのサージキューをフラッシュします。
- サービスグループメンバー(< serverName >および<端口>)を直接指定するには,サービスグループの名前(<名称>)を指定します。また,を指定<端口>しないとを指定できません
。特定のサービスグループメンバーのサージキューをフラッシュする場合は,< serverName >および<口>を指定します。 - 名前を指定せずにコマンドを実行すると,アプライアンスはアプライアンスに存在するすべてのエンティティのサージキューをフラッシュします。
- サービスグループメンバーがサーバ名で識別される場合は,このコマンドでサーバ名を指定する必要があります。そのIPアドレスを指定することはできません。
コマンドプロンプトで入力します。
flush ns spurq [-name ] [-serverName ]。<!——NeedCopy >
例
1.flush ns外科q -name SVC1ANZGB -serverName 10.10.10.1 80该命令清除名称为SVC1ANZGB且IP地址为10.10.10的服务或虚拟服务器的surge队列2。上述命令将刷新设备上的所有缓冲队列。<!——NeedCopy >
GUIを使用してサージキューをフラッシュするには
流量管理>内容切换>虚拟服务器に移動して仮想サーバーを選択し,アクションリストで冲洗缓冲队列を選択します。