ADC

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

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

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

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

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

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

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

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

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

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

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

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

  • コンテンツスイッチングポリシーは、他のポリシーよりも先に評価されます。コンテンツスイッチングポリシーが TRUE と評価されると、ターゲットの負荷分散仮想サーバーが選択されます。
  • すべてのコンテンツスイッチングポリシーが FALSE と評価されると、コンテンツスイッチング VIP の下のデフォルトの負荷分散仮想サーバーが選択されます。

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

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

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

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

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

政策バンクの各エントリには、最低でもポリシーと優先レベルがあります。プライオリティベースの評価順序を変更するエントリを設定したり、外部ポリシーバンクを呼び出すエントリを設定することもできます。

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

ポリシー名 優先度 Goto 式 呼び出しタイプ ポリシーバンクの呼び出し
ポリシー名、または NOPOLICY という名前の「ダミー」ポリシー。NOPOLICY エントリは、ルールを処理せずに評価フローを制御します。 An integer. オプションです。評価する銀行の次のポリシーを特定するか、またはそれ以降の評価を終了します。 オプションです。外部ポリシーバンクが呼び出されることを示します。このフィールドは、グローバルポリシーラベルまたは仮想サーバの選択を制限します。 オプションです。呼び出しタイプと共に使用します。これは、ポリシーバンクまたは仮想サーバ名のラベルです。Citrix ADCは、外部バンクを処理した後、現在のバンクに戻ります。

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

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

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

  • 優先順位。

    評価順序に関する情報の最小量は、数値の優先レベルです。数値が小さいほど、優先順位が高くなります。

  • Goto 式。

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

  • 他の政策銀行の呼び出し。

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

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

  • NEXT.

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

  • An integer.

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

  • END.

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

  • Blank.

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

  • 数値式。

    これは、現在の銀行内の別のポリシーの優先番号に解決される高度なポリシー式です。

  • INVOCATION_RESULT。

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

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

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

ポリシー名 優先度 Goto 呼び出し ポリシーバンクの呼び出し
clientCertificatePolicy (規則:要求にクライアント証明書が含まれていますか?) 100 300 なし なし
SubnetPolicy (ルール:クライアントはプライベートサブネットからのものですか?) 200 NEXT なし なし
NOPOLICY 300 USE INVOCATION RESULT 仮想サーバーのリクエスト My_request_vServer
NOPOLICY 350 USE INVOCATION RESULT ポリシーラベル 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 つのアクションのみを適用します。このアクションは、「最も高い優先度」ポリシーバンク内で最も低い優先度値を持つポリシーに関連付けられます(たとえば、仮想サーバ固有のポリシーの前に要求時間上書きポリシーが適用されます)。

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