Listener CRDのプロファイルサポート
Listener CRDのHTTP、TCP、SSLをそれぞれ設定するために、HTTPプロファイル、TCPプロファイル、SSLプロファイルなどの個々のエンティティを使用できます。Listener CRDのプロファイルサポートは、デフォルトのプロトコル動作をカスタマイズするのに役立ちます。SSL仮想サーバーのSSL暗号を選択することもできます。
HTTPプロファイル
HTTPプロファイルは、HTTP設定の集合です。
nshttp_default_profileという名前のデフォルトHTTPプロファイルが、HTTP設定を行うために構成されています。これらの設定は、デフォルトで、すべてのサービスと仮想サーバーにグローバルに適用されます。spec.policies.httpprofileを指定することで、ListenerリソースのHTTP設定をカスタマイズできます。指定された場合、NetScaler 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"
HTTPプロファイルのすべての可能なキーと値のペアについては、HTTPプロファイルを参照してください。
注:
「name」は自動生成されます。
次の例に示すように、組み込みの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'
TCPプロファイル
TCPプロファイルは、TCP設定の集合です。
nstcp_default_profileという名前のデフォルトTCPプロファイルが、TCP設定を行うために構成されています。これらの設定は、デフォルトで、すべてのサービスと仮想サーバーにグローバルに適用されます。spec.policies.tcpprofileを指定することで、TCP設定をカスタマイズできます。spec.policies.tcpprofileを指定すると、NetScaler 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"
次の例に示すように、組み込みの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'
SSLプロファイル
SSLプロファイルは、SSLエンティティの設定の集合です。SSLプロファイルにより、設定がより簡単かつ柔軟になります。各エンティティで設定を行う代わりに、プロファイルで設定を構成し、そのプロファイルを仮想サーバーにバインドできます。SSLプロファイルを使用すると、TLSプロトコルや暗号などの多くのSSLパラメータをカスタマイズできます。SSLプロファイルの詳細については、SSLプロファイルインフラストラクチャを参照してください。
注:
デフォルトでは、NetScalerはレガシーSSLプロファイルを作成します。レガシーSSLプロファイルには、SSLv3などの高度なプロトコルをサポートしないなど、多くの欠点があります。したがって、NetScaler Ingress Controllerを起動する前に、NetScalerでデフォルトのSSLプロファイルを有効にすることをお勧めします。
高度なSSLプロファイルを有効にするには、NetScalerコマンドラインで次のコマンドを使用します。
SSLパラメータを設定 -defaultProfile ENABLED
このコマンドは、既存のすべてのSSL仮想サーバーとSSLサービスグループに対してデフォルトのSSLプロファイルを有効にします。
SSLプロファイルをカスタマイズするために
spec.policies.sslprofileを指定できます。指定すると、NetScaler 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"
次の例に示すように、組み込みまたは事前設定された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'
SSL暗号
Ingress NetScalerには、組み込みの暗号グループがあります。デフォルトでは、仮想サーバーは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'
NetScalerで利用可能な暗号スイートのリストについては、SSLプロファイルインフラストラクチャを参照してください。
ユーザー定義の暗号グループを使用するには、NetScalerにユーザー定義の暗号グループがあることを確認してください。ユーザー定義の暗号グループを設定するには、次の手順を実行します。
-
ユーザー定義の暗号グループを作成します。例:
MY-CUSTOM-GROUP。 -
必要なすべての暗号をユーザー定義の暗号グループにバインドします。
-
ユーザー定義の暗号グループ名を控えておきます。
詳細な手順については、ユーザー定義の暗号グループを構成するを参照してください。
注: 暗号の優先順位は、リストで定義されている順序と同じです。リストの最初のものが最初の優先順位を得て、同様に続きます。
次の例は、組み込みの暗号グループおよび/またはユーザー定義の暗号グループのリストを提供する方法を示しています。ユーザー定義の暗号グループは、Listenerに適用する前にNetScalerに存在している必要があります。
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'
前の例では、
SECUREとHIGHはNetScalerの組み込みの暗号グループです。MY-CUSTOM-CIPHERSは事前設定されたユーザー定義の暗号グループです。
注: 事前設定されたSSLプロファイルを指定した場合、NetScalerを介して暗号を手動でバインドする必要があり、
spec.policies.sslciphersは事前設定されたSSLプロファイルには適用されません。
注記: 組み込みの暗号グループは、Tier-1およびTier-2 NetScalerで使用できます。ユーザー定義の暗号グループは、Tier-1 NetScalerでのみ使用できます。
アナリティクスプロファイル
アナリティクスプロファイルを使用すると、NetScalerはトランザクションまたはデータの種類を外部プラットフォームにエクスポートできます。NetScaler Observability Exporter を使用してメトリックとトランザクションデータを収集し、ElasticsearchやPrometheusなどのエンドポイントにエクスポートする場合、アナリティクスプロファイルを構成して、エクスポートする必要があるデータの種類を選択できます。
注:
アナリティクスプロファイルが機能するには、NetScaler Observability Exporterを構成する必要があります。ConfigMapを使用したアナリティクス構成のサポート。
次の例は、アナリティクスプロファイルで
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
次の例は、NetScaler Observability Exporterにエクスポートする
webinsight の種類の追加パラメーターを選択する方法を示しています。有効なキーと値のペアについては、アナリティクスプロファイル を参照してください。
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"
次の例は、事前構成されたアナリティクスプロファイルを使用する方法を示しています。
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'