4.2. 仮想クラスターの設定
Kafka クラスターは、プロキシーによって仮想クラスターとして表されます。クライアントは実際のクラスターではなく仮想クラスターに接続します。Streams for Apache Kafka Proxy をデプロイすると、プロキシーに仮想クラスターを作成するための設定が含まれています。
仮想クラスターにはターゲットクラスターが 1 つだけありますが、複数の仮想クラスターが同じクラスターをターゲットにすることができます。各仮想クラスターはターゲットクラスター上の単一のリスナーをターゲットとするため、Kafka 側の複数のリスナーはプロキシーによって複数の仮想クラスターとして表されます。クライアントは、bootstrap_servers アドレスを使用して仮想クラスターに接続します。仮想クラスターには、ターゲットクラスター内の各ブローカーにマップされるブートストラップアドレスがあります。クライアントがプロキシーに接続すると、アドレスを書き換えることで通信がターゲットブローカーにプロキシーされます。クライアントへの応答は、仮想クラスターの適切なネットワークアドレスを反映するように書き換えられます。
クライアントからターゲットクラスターへの仮想クラスター接続を保護できます。
Streams for Apache Kafka Proxy では、PEM (Privacy Enhanced Mail)、PKCS #12 (Public-Key Cryptography Standards)、または JKS (Java KeyStore) キーストア形式の鍵と証明書を使用できます。
4.2.1. クライアントからの接続の保護 リンクのコピーリンクがクリップボードにコピーされました!
仮想クラスターへのクライアント接続を保護するには、次の手順を実行して仮想クラスターで TLS を設定します。
認証局から仮想クラスターの CA (証明局) 証明書を取得します。証明書を要求するときは、それが仮想クラスターのブートストラップとブローカーのアドレスの名前と一致していることを確認してください。これには、ワイルドカード証明書とサブジェクト別名 (SAN) が必要になる場合があります。
tls プロパティーを使用して、仮想クラスター設定で TLS 認証情報を指定します。
PKCS #12 設定の例
実稼働設定では、Kafka クライアントと仮想クラスターで TLS が推奨されます。
PEM 設定の例
必要に応じて、insecure プロパティーを設定して信頼を無効にし、証明書の有効性に関係なく、Kafka クラスターとの安全でない接続を確立します。ただし、このオプションは実稼働環境での使用には推奨されません。
安全でない TLS を有効にする例
- 1
- 安全でない TLS を有効にします。
4.2.2. ターゲットクラスターへの接続のセキュリティー保護 リンクのコピーリンクがクリップボードにコピーされました!
ターゲットクラスターへの仮想クラスター接続を保護するには、仮想クラスターで TLS を設定します。ターゲットクラスターは、TLS を使用するようにすでに設定されている必要があります。
targetCluster.tls プロパティーを使用して仮想クラスター設定の TLS を指定します。
OpenShift プラットフォームから信頼を継承するには、空のオブジェクト ({}) を使用します。このオプションは、ターゲットクラスターがパブリック CA によって署名された TLS 証明書を使用している場合に適しています。
TLS のターゲットクラスター設定の例
プライベート CA によって署名された TLS 証明書を使用している場合は、ターゲットクラスターのトラストストア設定を追加する必要があります。
ターゲットクラスターのトラストストア設定の例
mTLS の場合、仮想クラスターのキーストア設定も追加できます。
mTLS のキーストアとトラストストアの設定例
実稼働環境外でテストする目的で、insecure プロパティーを true に設定して TLS をオフにし、Streams for Apache Kafka Proxy が任意の Kafka クラスターに接続できるようにすることができます。
TLS をオフにする設定例