Apache Kafkaへの接続
開始する前に
接続を作成する前に、次のことを確認します。
-
シークレットの使用、ボールトの使用、シークレット・バンドルの読取りなど、セキュアなVaultおよびシークレット・アクセスを有効にするために必要なポリシーを構成します。詳細は、最小推奨ポリシーを参照してください。
-
TLS/mTLSを使用している場合は、接続で使用するJKSトラストストアまたはトラストストアおよびキーストアを
PKCS12形式に変換します。-
JDKのkeytoolユーティリティを使用して、PKCS12形式に変換します。
キーストアの場合、次の例に示すように、keytoolユーティリティによってパスワードの入力が求められます。keytool -importkeystore -srckeystore [MY_KEYSTORE.jks] -destkeystore [MY_KEYSTORE.p12] -srcstoretype JKS -deststoretype PKCS12 -deststorepass [PASSWORD_PKCS12]トラストストアの場合、次の例に示すように、keytoolユーティリティによってパスワードの入力が求められます。keytool -importkeystore -srckeystore [MY_TRUSTSTORE.jks] -destkeystore [MY_TRUSTSTORE.p12] -srcstoretype JKS -deststoretype PKCS12 -deststorepass [PASSWORD_PKCS12] -
キーストアおよびトラストストアを変換した後、次の行をKafkaプロデューサ・プロパティ・ファイルに追加し、変更を保存します。
ssl.truststore.type=PKCS12 ssl.keystore.type=PKCS12 - 「拡張オプション」の「設定」セクションで、接続のプロデューサ・プロパティにファイルをアップロードします。
-
ソース接続の作成
ソースApache Kafka接続を作成するには:
接続が作成されると、「接続」リストに表示されます。接続をデプロイメントに割り当てて、レプリケーションのソースまたはターゲットとして使用するようにしてください。
ターゲット接続の作成
ターゲットApache Kafka接続を作成するには:
接続が作成されると、「接続」リストに表示されます。接続をデプロイメントに割り当てて、レプリケーションのソースまたはターゲットとして使用するようにしてください。
Kafka接続エラーのトラブルシューティング
ほとんどの接続の問題では、TimeoutExceptionエラーが発生します。たとえば次のようにします。
A failure occurred sending a message to Kafka to topic [ggstest] org.apache.kafka.common.errors.TimeoutException: Topic ggstest not present in metadata after 60000/120000 ms.Replicatレポート・ファイルにこのメッセージが表示された場合は、次の操作を実行できます。
- ターゲット・トピックが存在することを確認するか、ターゲットKafka設定内で自動トピック作成が有効になっていることを確認してください。
- トラフィックをブロックするファイアウォール・ルールがないことを確認します。
- プライベート・エンドポイントを使用してOCIでKafkaを実行している場合は、server.propertiesおよびKafka接続で内部FQDNをブートストラップ・サーバーとして使用してください。
- プライベート・エンドポイントを使用してConfluent Cloudに接続する場合:
- DNSゾーンおよびDNSレコードがOCIとターゲットのサード・パーティ・クラウドの両方で正しく構成されていることを確認します。
- OCIとターゲット・クラウド間のネットワーク接続が正常に機能することを確認します。
- サード・パーティ・クラウドに接続された同じサブネットで実行されているOCI VMから、OpenSSL (
openssl s_client -connect <bootstrap>)を使用してターゲットConfluent Cloudに接続できることをテストします。 - サード・パーティ・クラウドに接続されているのと同じサブネット内で、OCIで実行されているKafkaクライアントからメッセージをパブリッシュまたは消費できることをテストします。失敗した場合は、OCIとサード・パーティ・クラウドの両方でネットワーク設定を確認します。