![[OpenShift Container Platform]](ngocp.gif)
![[Continuous Delivery]](ngcd.gif)
![[IBM Cloud Pak for Integration]](ngcp4i.gif)
Red Hat OpenShift クラスターの外部からキュー・マネージャーに接続するためのルートの構成
Red Hat OpenShift クラスターの外部から IBM® MQ キュー・マネージャーにアプリケーションを接続するには、 Red Hat® OpenShift® 経路が必要です。 IBM MQ キュー・マネージャーおよびクライアント・アプリケーションで TLS を有効にする必要があります。SNI は、TLS 1.2 以上のプロトコルが使用されている場合にのみ TLS プロトコルで使用できるためです。 Red Hat OpenShift Container Platform Router は、 IBM MQ キュー・マネージャーに要求をルーティングするために SNI を使用します。
本タスクについて
Red Hat OpenShift ルートに必要な設定は、クライアントアプリケーションの Server Name Indication (SNI) の動作によって異なります。 IBM MQ は、構成およびクライアント・タイプに応じて、2 つの異なる SNI ヘッダー設定をサポートします。 SNI ヘッダーは、クライアントの宛先のホスト名に設定されるか、または IBM MQ チャネル名に設定されます。 IBM MQ がチャネル名をホスト名にマップする方法については、 IBM MQ が複数の証明書機能を提供する方法を参照してください。
SNIヘッダーが IBM MQ チャネル名に設定されるか、ホスト名に設定されるかは、 OutboundSNI 属性を使用して制御されます。 可能な値は、 OutboundSNI=CHANNEL (デフォルト値) または OutboundSNI=HOSTNAMEです。 詳しくは、 クライアント構成ファイルの SSL スタンザを参照してください。 CHANNEL および HOSTNAME は、使用する正確な値です。これらは、実際のチャネル名またはホスト名に置き換える変数名ではありません。
![[MQ 9.2.1 Dec 2020]](ng921.gif)
- OutboundSNI 設定が異なるクライアントの動作
- OutboundSNI が HOSTNAME に設定されていて、接続名でホスト名が指定されていると、以下のクライアントではホスト名の SNI が設定されます。
- C クライアント
- 非管理対象モードの .NET クライアント
- Java/JMS クライアント
- OutboundSNI、複数の証明書、および Red Hat OpenShift 経路
IBM MQ は、SNI ヘッダーを使用して複数の証明書機能を提供します。 アプリケーションが、CERTLABL フィールドを介して別の証明書を使用するように構成されている IBM MQ チャネルに接続する場合、アプリケーションは CHANNEL の OutboundSNI 設定を使用して接続する必要があります。
例
SNI を MQ チャネルに設定するクライアント・アプリケーションには、接続先のチャネルごとに新しい Red Hat OpenShiftルートが作成されている必要があります。 また、 Red Hat OpenShift Container Platform クラスター全体で固有のチャネル名を使用して、正しいキュー・マネージャーにルーティングできるようにする必要があります。
IBM MQがチャンネル名とSNIヘッダを対応させるため、MQチャンネル名は小文字で終わらないようにすることが重要です。
それぞれの新規Red Hat OpenShiftルートに必要なホスト名を判別するには、各チャネル名を SNI アドレスにマップする必要があります。 詳しくは、 IBM MQ が複数の証明書機能を提供する方法 を参照してください。
yaml を適用して、チャネルごとに新しい Red Hat OpenShift 経路を作成する必要があります。 apiVersion: route.openshift.io/v1
kind: Route
metadata:
name: <provide a unique name for the Route>
namespace: <the namespace of your MQ deployment>
spec:
host: <SNI address mapping for the channel>
to:
kind: Service
name: <the name of the Kubernetes Service for your MQ deployment (for example "<Queue Manager Name>-ibm-mq")>
port:
targetPort: 1414
tls:
termination: passthroughクライアント・アプリケーション接続の詳細の構成
oc get route <Name of hostname based Route (for example "<Queue Manager Name>-ibm-mq-qm")>
-n <namespace of your MQ deployment> -o jsonpath="{.spec.host}"クライアント接続用のポートは、 Red Hat OpenShift Container Platform ルーターが使用するポート (通常は 443) に設定する必要があります。
![[MQ 9.2.3 Jul 2021]](ng923.gif)
![[MQ 9.2.0.4 Nov 2021]](ng9204.gif)
![[MQ 9.2.5 Feb 2022]](ng925.gif)