Citrix ADC ingress controller

リスナー CRD のプロファイルサポート

HTTP プロファイル、 [TCP](https://docs.citrix.com/ja-jp/citrix-adc/current-release/system/tcp-configurations.html)プロファイル、 [SSL プロファイルなどの個々のエンティティを使用して](https://docs.citrix.com/ja-jp/citrix-adc/current-release/ssl/ssl-profiles.html) 、リスナー CRD に対して HTTP、TCP、および SSL をそれぞれ設定できます。Listener CRD のプロファイルサポートにより、デフォルトのプロトコル動作をカスタマイズできます。SSL 仮想サーバの SSL 暗号を選択することもできます。

HTTP プロファイル

HTTP プロファイルは HTTP 設定の集まりです。というデフォルトの HTTP nshttp_default_profile プロファイルが、HTTP 設定を設定するように設定されます。これらの設定は、デフォルトで、すべてのサービスと仮想サーバにグローバルに適用されます。リスナーリソースの HTTP 設定は、spec.policies.httpprofileを指定することでカスタマイズできます。指定した場合、Citrix ingress controller はデフォルトのHTTPプロファイルから派生したデフォルト値で新しいHTTPプロファイルを作成し、指定された値を構成します。

デフォルトの HTTP プロファイルからデフォルト値を導き出し、指定された値を設定すると便利です。

以下の YAML の例は、特定のフロントエンド仮想サーバーで websocket を有効にする方法を示しています。

    apiVersion: citrix.com/v1
    kind: Listener
    metadata:
      name: test-listener
      namespace: default
    spec:
      vip: x.x.x.x
      port: 80
      protocol: http
      policies:
        httpprofile:
          config:
            websocket: "ENABLED"
<!--NeedCopy-->

HTTP プロファイルで使用できるすべてのキーと値のペアの詳細については、「HTTP プロファイル」を参照してください。

注:

「名前」は自動生成されます。

次の例に示すように、組み込み HTTP プロファイルまたは事前設定された HTTP プロファイルを指定して、フロントエンド仮想サーバーにバインドすることもできます。

apiVersion: citrix.com/v1
kind: Listener
metadata:
  name: test-listener
  namespace: default
spec:
  vip: x.x.x.x
  port: 80
  protocol: http
  policies:
    httpprofile:
      preconfigured: 'nshttp_default_strict_validation'
<!--NeedCopy-->

TCP プロファイル

TCP プロファイルは TCP 設定の集まりです。nstcp_default_profileというデフォルトの TCP プロファイルが、TCP 設定を設定するために設定されます。これらの設定は、デフォルトで、すべてのサービスと仮想サーバにグローバルに適用されます。spec.policies.tcpprofileを指定して TCP 設定をカスタマイズできます 。spec.policies.tcpprofileを指定すると 、Citrix ingress controller はデフォルトのTCPプロファイルから派生したTCPプロファイルを作成し、仕様で指定された値を適用して、フロントエンド仮想サーバーにバインドします。

TCP プロファイルで使用できるすべてのキーと値のペアについては、「 TCP プロファイル」を参照してください。

注:

名前は自動生成されます。

次の例は、フロントエンド仮想サーバに対してtcpfastopenおよびHyStartを有効にする方法を示しています。

apiVersion: citrix.com/v1
kind: Listener
metadata:
  name: test-listener
  namespace: default
spec:
  vip: x.x.x.x
  port: 80
  protocol: http
  policies:
    tcpprofile:
      config:
        tcpfastopen: "ENABLED"
        hystart: "ENABLED"
<!--NeedCopy-->

次の例に示すように、組み込み TCP プロファイルまたは事前設定された TCP プロファイル名を指定することもできます。

apiVersion: citrix.com/v1
kind: Listener
metadata:
  name: test-listener
  namespace: default
spec:
  vip: x.x.x.x
  port: 80
  protocol: http
  policies:
    tcpprofile:
      preconfigured: 'nstcp_default_Mobile_profile'
<!--NeedCopy-->

SSL プロファイル

SSL プロファイルは、SSL エンティティの設定の集まりです。SSL プロファイルにより、設定が簡単で柔軟になります。各エンティティで設定を行う代わりに、プロファイルで設定を構成し、そのプロファイルを仮想サーバにバインドできます。SSL プロファイルを使用すると、TLS プロトコルや暗号など、多くの SSL パラメータをカスタマイズできます。SSL プロファイルの詳細については、「 SSL プロファイルインフラストラクチャ」を参照してください。

注:

デフォルトでは、Citrix ADC はレガシーSSLプロファイルを作成します。レガシー SSL プロファイルには、SSLv3 などの高度なプロトコルがサポートされないなど、多くの欠点があります。したがって、Citrix ingress controller を起動する前に、Citrix ADCでデフォルトのSSLプロファイルを有効にすることをお勧めします。

詳細SSLプロファイルを有効にするには、Citrix ADC コマンドラインで次のコマンドを使用します。

set ssl parameter -defaultProfile ENABLED

このコマンドは、既存のすべての SSL 仮想サーバと SSL サービスグループに対してデフォルトの SSL プロファイルを有効にします。

SSLプロファイルをカスタマイズするようにspec.policies.sslprofileを指定できます。指定すると、Citrix ingress controller はデフォルトのSSLフロントエンドプロファイル(ns_default_ssl_profile_frontend)から派生したSSLプロファイルを作成します 。

SSL プロファイルでサポートされるキーと値のペアの詳細については、「 SSL プロファイル」を参照してください。

注:

name は自動生成されます。

次の例は、フロントエンド仮想サーバーの TLS1.3 と HSTS を有効にする方法を示しています。

apiVersion: citrix.com/v1
kind: Listener
metadata:
  name: test-listener
  namespace: default
spec:
  vip: x.x.x.x
  port: 443
  certificates:
  - secret:
      name: my-cert
  protocol: https
  policies:
    sslprofile:
      config:
        tls13: "ENABLED"
        hsts: "ENABLED"

<!--NeedCopy-->

次の例に示すように、組み込みの SSL プロファイル名または事前設定済みの SSL プロファイル名を指定できます。

apiVersion: citrix.com/v1
kind: Listener
metadata:
  name: test-listener
  namespace: default
spec:
  vip: x.x.x.x
  port: 443
  certificates:
  - secret:
      name: my-cert
  protocol: https
  policies:
    sslprofile:
      preconfigured: 'ns_default_ssl_profile_secure_frontend'
<!--NeedCopy-->

SSL 暗号

Ingress Citrix ADCには暗号グループが組み込まれています。デフォルトでは、仮想サーバーは SSL トランザクションに DEFAULT 暗号グループを使用します。DEFAULT 暗号グループに含まれない暗号を使用するには、SSL プロファイルに明示的にバインドする必要があります。 spec.policies.sslciphers を使用して、暗号のリスト、 組み込みの暗号グループのリストまたはユーザー定義の暗号グループのリストを指定できます

注:

暗号の優先順位は、リストで定義されている順序と同じです。リストの最初のものが優先され、同様に優先されます。

次の例は、組み込み暗号スイートのリストを提供する方法を示しています。

  apiVersion: citrix.com/v1
  kind: Listener
  metadata:
    name: test-listener
    namespace: default
  spec:
    vip: x.x.x.x
    port: 443
    certificates:
    - secret:
        name: my-cert
    protocol: https
    policies:
      sslciphers:
      - 'TLS1.2-ECDHE-RSA-AES128-GCM-SHA256'
      - 'TLS1.2-ECDHE-RSA-AES256-GCM-SHA384'
      - 'TLS1.2-ECDHE-RSA-AES-128-SHA256'
      - 'TLS1.2-ECDHE-RSA-AES-256-SHA384'
<!--NeedCopy-->

Citrix ADCで使用できる暗号スイートのリストについては、「 SSLプロファイルインフラストラクチャ」を参照してください。

Citrix ADCに、ユーザー定義の暗号グループを使用するためのユーザー定義の暗号グループがあることを確認します。ユーザ定義暗号グループを設定するには、次の手順を実行します。

  1. ユーザー定義の暗号グループを作成します。例:MY-CUSTOM-GROUP
  2. 必要なすべての暗号をユーザー定義の暗号グループにバインドします。
  3. ユーザー定義の暗号グループ名を書き留めます。

詳細な手順については、「 ユーザー定義の暗号グループを構成する」を参照してください。

注: 暗号の優先順位は、リストで定義されている順序と同じです。リストの最初のものが優先され、同様に優先されます。

次の例は、組み込み暗号グループまたはユーザー定義暗号グループのリストを提供する方法を示しています。ユーザー定義の暗号グループは、リスナーに適用する前にCitrix ADCに存在する必要があります。

  apiVersion: citrix.com/v1
  kind: Listener
  metadata:
    name: test-listener
    namespace: default
  spec:
    vip: x.x.x.x
    port: 443
    certificates:
    - secret:
        name: my-cert
    protocol: https
    policies:
      sslciphers:
      - 'SECURE'
      - 'HIGH'
      - 'MY-CUSTOM-CIPHERS'
<!--NeedCopy-->

前の例では 、SECUREHIGHはCitrix ADCに組み込まれている暗号グループです。MY-CUSTOM-CIPHERSは、事前設定されたユーザー定義の暗号グループです。

注:事前構成されたSSLプロファイルを指定した場合、Citrix ADCを介して暗号を手動でバインドする必要があり、事前構成されたSSLプロファイルにはspec.policies.sslciphersは適用されません。

注: 組み込みの暗号グループは、Tier-1およびTier-2 Citrix ADCで使用できます。ユーザー定義の暗号グループは、Tier-1 Citrix ADC でのみ使用できます。

アナリティクスプロファイル

分析プロファイルを使用すると、Citrix ADC はトランザクションの種類またはデータを外部プラットフォームにエクスポートできます。 Citrix ADC Observability Exporterを使用してメトリクスとトランザクションデータを収集し 、ElasticsearchやPrometheusなどのエンドポイントにエクスポートする場合は、エクスポートする必要のあるデータの種類を選択するように分析プロファイルを構成できます。

注:

Analyticsプロファイルを機能させるには、Citrix ADC オブザーバビリティエクスポーターを構成する必要があります。ConfigMap を使用した分析設定のサポート

次の例は、Analyticsプロファイルでwebinsightおよびtcpinsightを有効にする方法を示しています。

apiVersion: citrix.com/v1
  kind: Listener
  metadata:
    name: test-listener
    namespace: default
  spec:
    vip: x.x.x.x
    port: 443
    certificates:
    - secret:
        name: my-cert
    protocol: https
    policies:
     analyticsprofile:
       config:
       - type: webinsight
       - type: tcpinsight
<!--NeedCopy-->

次の例は、Citrix ADC Observability Exporterにエクスポートするwebinsightのタイプの追加パラメーターを選択する方法を示しています。有効なキーと値のペアの詳細については、 Analytics プロファイルを参照してください

apiVersion: citrix.com/v1
  kind: Listener
  metadata:
    name: test-listener
    namespace: default
  spec:
    vip: x.x.x.x
    port: 443
    certificates:
    - secret:
        name: my-cert
    protocol: https
    policies:
     analyticsprofile:
       config:
       - type: webinsight
         parameters:
           httpdomainname: "ENABLED"
           httplocation: "ENABLED"
<!--NeedCopy-->

次の例は、事前設定された分析プロファイルの使用方法を示しています。

  apiVersion: citrix.com/v1
  kind: Listener
  metadata:
    name: test-listener
    namespace: default
  spec:
    vip: x.x.x.x
    port: 443
    certificates:
    - secret:
        name: my-cert
    protocol: https
    policies:
     analyticsprofile:
       preconfigured:
       - 'custom-websingiht-analytics-profile'
       - 'custom-tcpinsight-analytics-profile'
<!--NeedCopy-->
リスナー CRD のプロファイルサポート