セルフマネージド型コネクターのライセンス

開発者ライセンス がある場合、シングルブローカーの Apache Kafka® クラスターを使用する Connect クラスターでは、Confluent Platform の商用コネクターを無期限に使用できます。マルチブローカーの Kafka クラスターを使用する Connect クラスターでは、30 日間の試用期間は、商用コネクターをエンタープライズライセンスキーなしで使用できます。30 日間が過ぎると、「商用コンポーネントの期間満了後」で説明しているように、Confluent Platform ソフトウェアは動作しなくなります。マルチブローカーの Kafka クラスターを使用する Connect クラスターで商用コネクターを継続して使用するには、 エンタープライズライセンスを購入 する必要があります。

コネクター別のライセンス要件については、個々の サポート対象コネクター のドキュメントを参照してください。

Kafka Connect ワーカーでのライセンスの一元管理

Confluent Platform バージョン 6.0 より前のリリースでは、使用する Confluent Platform の各商用コネクターの構成に、 ライセンス関連のプロパティ を指定する必要がありました。しかし、Confluent Platform バージョン 6.0 以降では、それらのライセンス関連のプロパティを各コネクターの構成ではなく Connect ワーカーの構成に入力できるようになりました。

注釈

開発者ライセンス試用(評価版)ライセンス、または Control Center ライセンス を使用している場合は、Connect のワーカーやコネクターの設定にライセンスキーを追加する必要はありません。

注釈

ライセンスの一元管理は限定的な機能であり、コミュニティライセンスのディストリビューションでは使用できません。

Connect ワーカー構成にライセンス関連のプロパティが含まれている場合は、ライセンスを必要とする各コネクター構成に、ライセンス関連のプロパティがワーカーによって挿入されます。

重要

ライセンス関連のプロパティを必要とするコネクター構成に、これらのプロパティが Kafka Connect ワーカーによって挿入されるのは、商用コネクターの追加時のみです。コネクター構成にライセンス関連のプロパティが既に含まれている場合や、コネクターにライセンスが必要ない場合、ライセンス関連のプロパティは挿入されません。

ライセンス関連のプロパティは、コネクターの起動時に挿入されます。ライセンスのプロパティが、ワーカーの構成以外に保存されることはありません。コネクターに渡すライセンス関連のプロパティを変更するには、単にワーカーの構成でライセンス関連のプロパティを変更して、ワーカーを再起動します。ワーカーが、ライセンス関連の最新のプロパティを挿入した後に、割り当てられているコネクターをすべて再起動します。

注釈

ライセンス関連のプロパティを各 Connect ワーカー構成に設定することが重要です。ライセンス関連のプロパティを変更したら、ローリング再起動を使用して、クラスター全体にそれらのプロパティを反映させることができます。

Connect ワーカーのライセンスプロパティ

Connect のスタンドアロン構成と分散構成のどちらでも、同じ ライセンス関連のプロパティ を商用コネクターの構成に使用できます。ライセンス関連のプロパティには次のものがあります。

  • confluent.license: ユーザーの組織の Confluent Enterprise ライセンスキー文字列。開発者ライセンス試用(評価版)ライセンス 、または Control Center ライセンス を使用する場合は、これを追加する必要はありません。

  • confluent.topic: ライセンスが保管されている Kafka トピックの名前。デフォルトは _confluent-command です。

  • confluent.topic.replication.factor: これは、confluent.topic で指定されたライセンストピックがライセンス検査の実行時に存在しなかった場合にのみ使用されます。ライセンス検査でトピックが作成される場合に使用するレプリケーション係数を指定します。このプロパティのデフォルト値は 3 です。

  • confluent.topic.bootstrap.servers: ライセンストピックが保管されている Kafka クラスターのブートストラップアドレス。デフォルトでは、ワーカーは bootstrap.servers の値を使用します。これは Connect で使用する Kafka クラスターです。この項目は、Connect で使用する Kafka クラスター以外の Kafka クラスターにライセンストピックを保管する場合に のみ必要 です。

  • confluent.topic.*: confluent.topic.bootstrap.servers に指定された Kafka クラスターで、confluent.topic に指定されたトピックの読み取りと書き込みを実行するために必要な、その他のプロデューサープロパティとコンシューマープロパティ。デフォルトでは、プロデューサーとコンシューマーのプロパティはすべてプレフィックスなしで Connect ワーカー構成に設定します。たとえば、ブローカーが接続に SSL を使用する場合、ワーカー構成に ssl.keystore.locationssl.keystore.password などのプロパティが含まれていると、これらはそれぞれ confluent.topic.ssl.keystore.locationconfluent.topic.ssl.keystore.password と見なされます。

    デフォルトでは、Connect ワーカーは、Connect の内部トピックの読み取りと書き込みに使用するのと同じ設定、同じ Kafka プリンシパルを使用して、_confluent-command ライセンストピックの読み取りと書き込みを実行します。トピックが必要なときに存在していない場合、レプリケーション係数 3(本稼働環境に適したデフォルト値)でトピックが作成されます。

    注釈

    ブローカーが 1 つの Kafka クラスターで開発に Connect を使用する場合は、ライセンストピックが必要なときにレプリカ 1 つでトピックが作成されるように、confluent.topic.replication.factor=1 を設定します。

ワーカーの構成には、任意の confluent.topic.* プロパティを設定できます。ワーカーの他のプロパティから推測される値と同じ値であっても構いません。

Connect ワーカーのライセンスプロパティの追加または変更

Connect ワーカーで推測されるデフォルトのライセンスプロパテイでは十分でない場合があります。ライセンス関連の特定のプロパティを、すべてのワーカーの構成に設定することが必要な場合があります。稼働中のクラスターでこの設定を行うには、1 つのワーカーでワーカーの構成を変更し、そのワーカーを再起動して、現在定義されているすべてのコネクターとタスクが変わらず正常に動作していることを確認します。同じ Connect クラスターの他のワーカーでこれを繰り返します。

注釈

Connect クラスターのすべてのワーカーの構成にライセンス関連のプロパティを設定することが重要です。そうしないと、あるワーカーに割り当てれば正常に動作するワーカーが、別のワーカーに割り当てると機能しないという状況が起きる可能性があります。

これで、個々のコネクターの構成にライセンス関連のプロパティを定義することなく、新たにライセンスが適用されたコネクターを起動することができます。

ちなみに

ライセンスを適用された既存のコネクターの構成から、ライセンス関連のプロパティを削除することができます。この作業はコネクターごとに行います。コネクターからライセンス関連のプロパティを削除したら、必ず、ライセンス関連のプロパティがコネクターの構成に指定されていない状態でコネクターが起動することを確認してください。

ライセンス関連の問題が原因でコネクターが起動しない場合は、ワーカーログでコネクターの構成を確認してください。ワーカーによって挿入されたライセンス関連のプロパティは、ログに記録されます。変更する必要があるライセンス関連のプロパティを特定し、上記で説明しているように各ワーカー構成に変更を適用してください。

セキュリティ構成プロパティ

confluent.topic.ssl.truststore.location

トラストストアファイルの場所。

  • 型: string
  • デフォルト: null
  • 重要度: 高
confluent.topic.ssl.truststore.password

トラストストアファイルのパスワード。パスワードが設定されていなくてもトラストストアにアクセスできますが、整合性チェックが無効になります。

  • 型: password
  • デフォルト: null
  • 重要度: 高
confluent.topic.ssl.keystore.location

キーストアファイルの場所。クライアントでは省略可能です。クライアントの相互認証に使用できます。

  • 型: string
  • デフォルト: null
  • 重要度: 高
confluent.topic.ssl.keystore.password

キーストアファイルのストアパスワード。クライアントでは省略可能です。ssl.keystore.location を構成した場合にのみ必要となります。

  • 型: password
  • デフォルト: null
  • 重要度: 高
confluent.topic.ssl.key.password

キーストアファイル内のプライベートキーのパスワード。クライアントでは省略可能です。

  • 型: password
  • デフォルト: null
  • 重要度: 高
confluent.topic.security.protocol

ブローカーとの通信に使用されるプロトコル。指定可能な値は、PLAINTEXT、SSL、SASL_PLAINTEXT、SASL_SSL です。

  • 型: string
  • デフォルト: "PLAINTEXT"
  • 重要度: 中

ライセンストピックの構成

Confluent エンタープライズライセンスは、_confluent-command トピックに格納されます。このトピックは、デフォルトで作成され、confluent.license プロパティで指定されたライセンスキーに対応するライセンスが格納されます。

注釈

パブリックキーは Kafka のトピックには保管されません。

以下では、デフォルトの _confluent-command トピックがさまざまなシナリオでどのように生成されるかを説明します。

  • confluent.license プロパティを追加していない場合、またはこのプロパティを( confluent.license= などで)空にした場合は、_confluent command トピックに、30 日間の試用ライセンスが自動的に生成されます。
  • 有効なライセンスキーを( confluent.license=<valid-license-key> などで)追加すると、有効なライセンスが _confluent-command トピックに追加されます。

以下は、開発およびテストのための最小限のプロパティの例です。

_confluent-command トピックの名前は confluent.topic プロパティを使用して変更できます(たとえば、環境に厳格な命名規則がある場合など)。以下の例は、この変更と、構成される Kafka ブートストラップサーバーを示しています。

confluent.topic=foo_confluent-command
confluent.topic.bootstrap.servers=localhost:9092

上の例は、開発およびテストで使用できるブートストラップサーバーの必要最小限のプロパティを示しています。本稼働環境の場合は、プレフィックスとして confluent.topic. を付けて、通常のプロデューサー、コンシューマー、およびトピックの各構成プロパティをコネクターのプロパティに追加します。

ライセンストピックの ACL

_confluent-command トピックには、confluent.license プロパティで指定されたライセンスキーに対応するライセンスが格納されます。このトピックはデフォルトで作成されます。このトピックにアクセスするコネクターには、以下の ACL を構成する必要があります。

  • コネクターでトピックの作成が必要な場合は、リソースクラスターでの CREATE および DESCRIBE。

  • _confluent-command トピックでの DESCRIBE、READ、および WRITE。

    重要

    You may also use DESCRIBE and READ without WRITE to restrict access to read-only for license topic ACLs. If a topic exists, the LicenseManager will not try to create the topic.

ライセンスを使用する各プリンシパルに個々にアクセス許可を付与することも、 ワイルドカード入力 を使用してすべてのクライアントを許可することもできます。以下の例は、リソースクラスターおよび _confluent-command トピックの ACL を構成するために使用できるコマンドを示しています。

  1. リソースクラスターの CREATE および DESCRIBE の ACL を設定します。

    kafka-acls --bootstrap-server localhost:9092 --command-config adminclient-configs.conf \
    --add --allow-principal User:<principal> \
    --operation CREATE --operation DESCRIBE --cluster
    
  2. _confluent-command トピックに対する DESCRIBE、READ、および WRITE の ACL を設定します。

    kafka-acls --bootstrap-server localhost:9092 --command-config adminclient-configs.conf \
    --add --allow-principal User:<principal> \
    --operation DESCRIBE --operation READ --operation WRITE --topic _confluent-command