ADC

高度なポリシーを使用したポリシーのバインド

ポリシーを定義した後、ポリシーをバインドポイントにバインドして、ポリシーをアクティブ化するタイミングを指定します。次に、優先度レベルを指定します。

ポリシーを 1 つのバインドポイントにのみバインドします。バインドポイントはグローバルにできます。グローバルバインドポイントは、構成されている仮想サーバーに適用されます。または、バインドポイントは、特定の仮想サーバー(負荷分散またはコンテンツスイッチング仮想サーバー)に固有のものにすることができます。すべてのバインドポイントがすべての機能で使用できるわけではありません。

ポリシーが評価される順序によって、ポリシーが適用される順序が決まります。これらの機能は、通常、さまざまなポリシーバンクを特定の順序で評価します。

場合によっては、他の機能がポリシーバンク内の評価の順序に影響を与える場合があります。評価の順序は、ポリシーで設定されたパラメータの値によって異なります。ほとんどの機能は、評価の結果が処理中のデータと一致するポリシーに関連付けられたアクションを適用します。統合キャッシュ機能は例外です。

ポリシーバインディングの機能固有の相違点

ポリシーは、組み込みのグローバルバインドポイント(バンク)、仮想サーバー、またはポリシーラベルにバインドできます。

ただし、Citrix ADCの機能は、使用可能なバインディングのタイプによって異なります。次の表は、ポリシーを使用するさまざまなCitrix ADC機能でポリシーバインディングを使用する方法をまとめたものです。

[フィーチャ名] 機能で設定された仮想サーバ 機能で設定されたポリシー ポリシーに設定されたバインドポイント 機能におけるポリシーの使用
DNS なし ドメインネームシステム グローバル リクエストに対して DNS 解決を行う方法を決定する。
コンテンツスイッチング(注:この機能では、クラシックポリシーまたはアドバンスポリシーのいずれかをサポートできますが、両方をサポートすることはできません)。 コンテンツスイッチング(CS) コンテンツスイッチングポリシー コンテンツスイッチングまたはキャッシュリダイレクト仮想サーバ、ポリシーラベル 受信要求の特性に基づいて、応答を処理するサーバーまたはサーバーのグループを決定する。要求特性には、デバイスタイプ、言語、Cookie、HTTP メソッド、コンテンツタイプ、および関連するキャッシュサーバが含まれます。
統合キャッシング なし キャッシュポリシー グローバルオーバーライド、グローバルデフォルト、ポリシーラベル、ロードバランシング、コンテンツスイッチング、または SSL オフロード仮想サーバー HTTP 応答を Citrix ADC アプライアンスの統合キャッシュに格納し、そのキャッシュから処理できるかどうかを判断します。
レスポンダー なし レスポンダーポリシー グローバルオーバーライド、グローバルデフォルト、ポリシーラベル、ロードバランシング、コンテンツスイッチング、または SSL オフロード仮想サーバー レスポンダー関数の動作を構成する。
リライト なし 書き換えポリシー グローバルオーバーライド、グローバルデフォルト、ポリシーラベル、ロードバランシング、コンテンツスイッチング、または SSL オフロード仮想サーバー 提供する前に変更する HTTP データを識別します。ポリシーは、データを変更するためのルールを提供します。たとえば、HTTP データを変更して、選択したサーバーにリクエストをリダイレクトできます。この変更は、受信リクエストのアドレスに基づいています。または、セキュリティ上の目的で応答内のサーバー情報をマスクします。
リライト機能の URL 変換機能 なし トランスフォーメーション・ポリシー グローバルオーバーライド、グローバルデフォルト、ポリシーラベル URL を変更する必要があるかどうかを評価する際に、HTTP トランザクションおよびテキストファイル内の URL を識別すること。
Citrix Gateway(クライアントレス VPN 機能のみ) VPN サーバー クライアントレスアクセスポリシー VPN グローバル、VPN サーバー Citrix Gatewayの機能(認証、承認、監査、およびその他の機能)を決定し、Citrix Gateway を使用して一般的なWebアクセス用の書き換えルールを定義する。

バインドポイントと評価の順序

ポリシーを有効にするには、処理中のある時点でポリシーがアクティブ化されていることを確認する必要があります。これを行うには、ポリシーをバインドポイントに関連付けます。バインドポイントにバインドされたポリシーのコレクションは、ポリシーバンクと呼ばれます。

Citrix ADCが評価するバインドポイントを以下に示します。ポリシーバンク内の一般的な評価順で示します。

  1. リクエスト時間のオーバーライド。要求が機能を経由すると、Citrix ADCは最初にその機能の要求時間上書きポリシーを評価します。
  2. 要求時の負荷分散仮想サーバー。要求時オーバーライドポリシー評価後にポリシー評価が不完全な場合、Citrix ADCは仮想サーバーの負荷分散のために要求時ポリシーを処理します。
  3. 要求時のコンテンツスイッチング仮想サーバー。負荷分散仮想サーバー評価の要求時間ポリシーの後にポリシー評価が不完全な場合、Citrix ADCはコンテンツスイッチング仮想サーバーの要求時ポリシーを処理します。
  4. 要求時間のデフォルト。すべての要求時間後にポリシー評価を完了できない場合、仮想サーバー固有のポリシーが評価されると、Citrix ADCは要求時間の詳細ポリシーを処理します。
  5. 応答時間のオーバーライド。応答時に、Citrix ADCは、応答時間オーバーライドのバインドポイントにバインドされたポリシーで開始します。
  6. 応答時間の負荷分散仮想サーバー。すべての応答時間上書きポリシーが評価された後でポリシー評価を完了できない場合、Citrix ADCは応答時間ポリシーを処理して仮想サーバーの負荷分散を行います。
  7. 応答時間のコンテンツスイッチング仮想サーバー。負荷分散仮想サーバーのポリシー評価後にポリシー評価が不完全な場合、Citrix ADCはコンテンツスイッチング仮想サーバーの応答時間ポリシーを処理します。
  8. 応答時間のデフォルト。すべての応答時間後にポリシー評価を完了できない場合、仮想サーバー固有のポリシーが評価されると、Citrix ADCは応答時間の詳細ポリシーを処理します。

複数の機能にわたるポリシー評価

ポリシーがコンテンツスイッチング仮想サーバーにバインドされている場合。機能内のポリシー評価に加えて。ポリシーは、他のポリシーよりも先に評価されます。

コンテンツスイッチング仮想サーバーにポリシーをバインドすると、Citrix ADC バージョン 9.0.x 以降では、8.x バージョンとは異なる結果が得られます。Citrix ADC 9.0 以降のバージョンでは、次のように評価が行われます。

  • コンテンツスイッチングポリシーは、他のポリシーの前に評価されます。コンテンツスイッチングポリシーが TRUE と評価されると、ターゲットロードバランシング vserver が選択されます。
  • すべてのコンテンツスイッチングポリシーが FALSE と評価されると、コンテンツスイッチング VIP の下にあるデフォルトのロードバランシング vserver が選択されます。

コンテンツスイッチングプロセスによってターゲットロードバランシング vserver が選択されると、ポリシーは次の順序で評価されます。

  1. グローバルオーバーライドバインドポイントにバインドされたポリシー。
  2. デフォルトのロードバランシング vserver にバインドされたポリシー。
  3. ターゲットコンテンツスイッチング vserver にバインドされたポリシー。
  4. グローバルデフォルトバインドポイントにバインドされるポリシー。

ポリシーが意図した順序で評価されるようにするには、次のガイドラインに従ってください。

  • デフォルトのロードバランシング vserver に外部から直接到達できないことを確認します。たとえば、vserver の IP アドレスは 0.0.0.0 です。
  • ロードバランシングのデフォルト vserver で内部データが公開されないようにするには、「503 Service Unavailable」ステータスで応答するようにポリシーを設定し、デフォルトのロードバランシング vserver にバインドします。

ポリシーバンクのエントリ

ポリシーバンクの各エントリには、少なくとも、ポリシーと優先度レベルがあります。また、優先順位ベースの評価順序を変更するエントリを構成したり、外部ポリシーバンクを呼び出すエントリを構成することもできます。

次の表は、ポリシーバンクの各エントリをまとめたものです。

ポリシー名 優先度 Goto式 呼び出しタイプ 呼び出されるポリシーバンク
ポリシー名、または NOPOLICY という名前の「ダミー」ポリシー。NOPLOCy エントリは、ルールを処理せずに評価フローを制御します。 整数。 オプションです。評価するバンク内の次のポリシーを識別する、または任意のさらなる評価を終了する オプションです。外部ポリシーバンクが呼び出されることを示します。このフィールドでは、グローバルポリシーラベルまたは仮想サーバに選択肢を制限します。 オプションです。呼び出しタイプとともに使用されます。これは、ポリシーバンクまたは仮想サーバー名のラベルです。Citrix ADCは、外部バンクの処理後に現在のバンクに戻ります。

ポリシーがTRUEと評価された場合、Citrix ADCはポリシーに関連付けられたアクションを保存します。ポリシーがFALSEと評価されると、Citrix ADCは次のポリシーを評価します。ポリシーがTRUEでもFALSEでもない場合、Citrix ADCは関連するUndef(未定義)アクションを使用します。

ポリシーバンク内の評価順序

ポリシーバンク内では、評価順序は次の項目によって異なります。

  • 優先度です。

    評価順序に関する情報の最小量は、数値優先度レベルです。数値が小さいほど、プライオリティが高くなります。

  • Goto式。

    指定した場合、Goto 式は、評価される次のポリシー(通常は同じポリシーバンク内)を示します。Goto 式は、バンク内でのみ前進できます。ループを防ぐために、Goto ステートメントがバンク内で逆方向を指している場合、ポリシーバンクの設定は無効です。

  • 他のポリシーバンクの呼び出し。

    どのエントリでも、外部ポリシーバンクを呼び出すことができます。Citrix ADCには、ルールを持たないNOPOLICYという名前の組み込みエンティティが用意されています。別のポリシーバンクを呼び出すが、呼び出し前に他のルールを処理したくない場合は、ポリシーバンクに NOPOLICY エントリを追加できます。複数のポリシーバンクに複数の NOPOLICY エントリを含めることができます。

Goto 式の値は次のとおりです。

  • 次。

    このキーワードは、現在のポリシーバンクで、次に高いプライオリティレベルを持つポリシーを選択します。ポリシーは、番号の低いプライオリティから高い番号の優先順位へのプライオリティ順に評価されます。

  • 整数。

    整数を指定する場合は、現在のポリシーバンク内の別のポリシーの優先度レベルと一致する必要があります。

  • END.

    このキーワードは、現在のポリシーの処理後に評価を停止し、このバンク内の追加のポリシーは処理されません。

  • ブランク。

    Goto 式が空の場合、END を指定した場合と同じです。

  • 数値式。

    これは、現在のバンク内の別のポリシーのプライオリティ番号に解決される高度なポリシー式です。

  • USE_INVOCATION_RESULT.

    このフレーズは、外部ポリシーバンクを呼び出す場合にのみ使用できます。このフレーズを入力すると、Citrix ADCは次のアクションのいずれかを実行します。

    • 呼び出されたポリシーバンクの最後の Goto の値が END であるか、または空の場合、呼び出し結果は END となり、評価は停止します。
    • 呼び出されたポリシーバンクの最後の Goto 式が END 以外の場合、Citrix ADC は NEXT を実行します。

次の表は、Goto ステートメントとポリシーバンクの呼び出しを使用するポリシーバンクを示しています。

ポリシー名 優先度 Goto 呼び出し 呼び出されるポリシーバンク
クライアント証明書ポリシー (規則:要求にクライアント証明書が含まれていますか?) 100 300 なし なし
SubnetPolicy (ルール:クライアントはプライベートサブネットに属していますか?) 200 NEXT なし なし
NOPOLICY 300 USE INVOCATION RESULT 仮想サーバのリクエスト My_Request_VServer
NOPOLICY 350 USE INVOCATION RESULT ポリシーラベル My_Policy_Label
WorkingHoursPolicy (ルール:勤務時間ですか?) 400 END なし なし

表3. Gotos と外部バンク呼び出しを使用するポリシーバンクの例

ポリシー評価の終了方法

ポリシーバンクの評価は、次のいずれかの場合に終了します。

  • ポリシーが TRUE と評価され、Goto ステートメントの値が END になります。

    この機能では、これ以上のポリシーやポリシーバンクは評価されません。

  • 外部ポリシーバンクが呼び出され、評価によって END が戻され、Goto ステートメントでは USE_INVOCATION_RESULT または END の値が使用されます。

    この機能の次のポリシーバンクで評価が継続されます。たとえば、現在のバンクが要求時間優先バンクである場合、Citrix ADCは次に仮想サーバーの要求時間ポリシーバンクを評価します。

  • Citrix ADCは、この機能のすべてのポリシーバンクを歩いていましたが、ENDは発生していません。

    このポリシーバンクで評価される最後のエントリである場合、Citrix ADCは次の機能に進みます。

ポリシー評価後のアクションの使用方法

特定のデータポイント(HTTPリクエストなど)に関連するすべてのポリシーを評価した後、Citrix ADCは、データに一致するポリシーに関連付けられたすべてのアクションを保存します。

ほとんどの機能では、一致するポリシーからのすべてのアクションが、Citrix ADCから送信されるトラフィックパケットに適用されます。統合キャッシュ機能は、CACHE または NOCACHE の 1 つのアクションのみを適用します。このアクションは、「最も高い優先度」ポリシーバンク内で最も低い優先度値を持つポリシーに関連付けられます(たとえば、仮想サーバ固有のポリシーの前に要求時間上書きポリシーが適用されます)。

高度なポリシーを使用したポリシーのバインド