Confluent Platform 7.1.1 リリースノート

7.1.1 は Confluent Platform のメジャーリリースであり、Kafka の最新の安定版 Apache Kafka® 3.1.0 が組み込まれています。

このリリースの技術的な詳細について、以降で説明します。

7.1.1 リリースの詳細については、リリースに関するブログ および Streaming Audio のポッドキャスト をご確認ください。

Confluent Control Center

  • Confluent Platform のコンポーネントで SSL/TLS が有効になっている場合は、それらのコンポーネントに対するリクエストを正常にプロキシするために、Control Center も構成する必要があります。Confluent Platform 7.1 の Control Center では、個別のコンポーネントに対してセキュアな接続を系統立ててきめ細かく構成できる新しいプロパティセットが提供されます。詳細については、「Control Center 用の TLS/SSL の構成」を参照してください。
  • コネクターとそのすべてのタスクを Control Center インターフェイスから再起動できるようになりました。コネクターまたはそのタスクが失敗した場合は、詳しい情報と、失敗したコネクターとタスクを再起動する機能が表示されます。詳細については、「 コネクターを再起動します。」を参照してください。
  • ksqlDB JSON から返される数値に対応して bigint 形式のサポートが追加されました。
  • 新しいブローカー設定 UI を有効にするための新しいプロパティ confluent.controlcenter.ui.brokersettings.kafkarest.enable が追加されました。
  • コマンドトピックのログに使用するセグメントファイルのサイズを制御する新しいプロパティが追加されました。
  • コマンドトピックの保持期間を制御するプロパティのデフォルト値がアップデートされました。
  • プロパティ confluent.controlcenter.embedded.kafkarest.enable がアップデートされ、組み込みの REST Proxy が Control Center で使用されるように、デフォルトで有効になりました
  • X-Content-Type-Options HTTP 応答ヘッダーがアップデートされ、ブラウザーでの MIME スニッフィングに基づいた攻撃を防ぐために、デフォルトで nosniff になりました。
  • confluent.controlcenter.rest.access.control.allow.origin プロパティが有効である場合、CORS のチェックが WebSocket 接続にも拡張されるようになりました。
  • ブローカーの詳細ページで、Production latency および Consumption latency に正しい値が表示されるように修正されました。
  • Actions list ページの "New action" ボタンが修正されました。

Kafka ブローカー

Confluent Server

  • Cluster Linking に、ディザスターリカバリやクラスター移行の際に ACL を同期する機能が追加されました。Confluent Platform 7.1 以降の送信先クラスターのクラスターリンクで acl.sync.enableacl.sync.filters を有効にすると、送信元クラスターから ACL(既存の ACL、追加、修正、削除)が同期されます。送信元クラスターは、Confluent Platform 5.4 以降または Kafka 2.4 以降が対象です。詳細については、「送信元クラスターから送信先クラスターへの ACL の移行」を参照してください。
  • 階層型ストレージ で、Nutanix Objects、Dell EMC ECS、NetApp Storage Grid、および MinIO が S3 と互換性のあるバックエンドとしてサポートされるようになりました。

Confluent Community / Apache Kafka

Confluent Platform 7.1.1 features Apache Kafka® 3.1.0. For a full list of the KIPs, features, and bug fixes, take a look at the official Apache Kafka release notes or watch this overview of Kafka 3.1.0.

Clients

  • Confluent Platform に、Apache Kafka® 3.1.0 が含まれました。このクライアントの改善点には、OAuth/OIDC をサポート対象とする KIP-768 (Extend SASL/OAUTHBEARER with Support for OIDC)が含まれています。
  • librdkafka は、Confluent Platform 7.1.1 でパッケージ化されるほか、https://packages.confluent.io/clients/ で個別にリリースされるようになりました。
  • 新しい詳細なクライアントガイド(サポートされている機能やパッケージマネージャーへのリンク)については こちら をご覧ください。

クラスター管理

Confluent for Kubernetes (旧 Confluent Operator)

Confluent Platform のこのリリースと互換性のある Confluent for Kubernetes のリリースバージョンの一覧については、「サポートされているバージョンおよび相互運用性」を参照してください。

Confluent for Kubernetes の最新リリースのリリースノートについては、こちら を参照してください。

Ansible Playbooks for Confluent Platform

新機能

  • Ansible Playbooks for Confluent Platform では、root 権限を要求するタスクを、root 権限を要求しないタスクからタグに基づいて分割するようになりました。これらのタグを利用して、root 権限を要求しないタスクを実行できます。これにより、独自の方法で Confluent Platform の前提条件を管理するユーザーが、root 権限なしで Ansible Playbooks for Confluent Platform を使用できるようになります
  • 長い識別名の一部のフィールドを抽出する方法により、SSL プリンシパル名をカスタマイズできるようになりました。

注目すべき機能強化

  • Ansible Playbooks for Confluent Platform のサポートが拡張され、Ansible 2.9 および Python 2.7 が対象となりました。
  • インストール中のメモリーのホスト検証とストレージ検証が拡張されました。

アップグレードに関する考慮事項

  • Confluent CLI v2 には、Ansible Playbooks for Confluent Platform を使用して実行する Confluent Platform のアップグレードに影響する重大な変更があります。具体的には、RBAC なしで機密性の保持を使用している場合は、Confluent Platform 7.1 にアップグレードすることができなくなっています。これは、RBAC が機密性の保持に必須であるためです。詳細については、こちら を参照してください。

Kafka Streams

  • KIP-763: ReadOnlyKeyValueStore について、拡張可能な範囲クエリが追加されました。
  • KIP-766: ReadOnlySessionStoreReadOnlyWindowStore について、拡張可能な範囲クエリが追加されました。
  • KIP-775: 外部キー結合でのカスタムパーティショナーのサポートが導入されました。

ksqlDB

  • SOURCE テーブルおよびストリームのサポートが導入されました。SOURCE テーブルでは、Kafka トピックデータの直接的な具現化によって、プルクエリを使用したルックアップをサポートできます。
  • 範囲クエリに対して、プルクエリの最適化が導入されました。値の範囲をフィルター処理するプルクエリによって、パフォーマンスが大きく向上しました。
  • ストリームでのプルクエリのサポートが導入されました。プルクエリは、以前はテーブルでのみサポートされていましたが、ストリームに対しても実行できるようになりました。
  • ksqlDB 構文を使用して、Kafka メッセージヘッダーに読み取り専用でアクセスできるようになりました。
  • ksqlDB オブジェクト(ストリーム、テーブル、永続的なクエリなど)の作成時に既存の Schema Registry スキーマを再使用できるようになりました。これまで ksqlDB では、作成された関連オブジェクトごとに専用スキーマが暗黙的に作成されていました。今後は、既存のスキーマをオブジェクトの作成時に参照することで利用できます。
  • ksqlDB の行のパーティションとオフセットデータが ROWPARTITION および ROWOFFSET 疑似列に表示されるようになりました。
  • [プレビュー] ksql.query.push.v2.enabled 構成パラメーターが true に設定されている場合に、特定の様式のプッシュクエリで拡張性が著しく向上しています。v2 プッシュクエリでは、同様のプッシュクエリの多数のインスタンスを対象にイベント入力の多重化が可能になり、入力イベントのスキャンのオーバーヘッドが低下します。

Known Issues

重要

If you are using Protobuf-wrapped primitive type structs in ksqlDB, for example google.protobuf.StringValue and similar types, do not upgrade to Confluent Platform 7.1.1. A fix will be provided in a future 7.1 release.

Schema Registry の数

Schema Linking が Confluent PlatformConfluent Cloud の両方で一般提供されるようになりました。Schema Linking は、アクティブ/パッシブおよびアクティブ/アクティブの両方のセットアップでリアルタイムに同期する共有スキーマを備えるクラウドおよびハイブリッド環境で、互換性があり信頼性に優れたデータストリームを維持する簡単な運用方法を提供します。スキーマは必要なあらゆる場所で共有され、重要なユースケース(グローバルデータ共有、クラスターの移行、およびディザスターリカバリ時のリアルタイムフェイルオーバーの準備など)のデプロイ中も高いデータ整合性を簡単に維持する方法となります。

LogRedaction

既知のバグがあり、log4j.properties ファイルで編集 RULES FILE のパス文字列の末尾にスペースがある場合、Log Redactor の起動は失敗します。この問題を回避するために、パス文字列の末尾にスペースがないことを確認してください。

セキュリティ

Confluent Platform バージョン 6.0.x 以降、AES CBC モードは、よりセキュアな AES GCM モードに置き換えられました。新しい構成は、AES GCM モードを使用して暗号化されます。

既存の暗号化されたシークレットを AES GCM モードにアップデートするためのワークフロー

以下のシークレットコマンドを実行して、以前 AES CBC モードで暗号化していた構成を AES GCM モードにアップデートできます。

confluent secret file rotate --data-key \
--local-secrets-file /usr/secrets/security.properties \
-–passphrase @/User/bob/secret.properties

このコマンドでは、AES GCM モードを使用してシークレットを再暗号化します。

Confluent では、次のコマンドを実行して、マスターキーをローテンションすることを推奨しています。

confluent secret file rotate --master-key \
--local-secrets-file /usr/secrets/security.properties \
-–passphrase @/User/bob/secret.properties \
--passphrase-new @/User/bob/secretNew.properties

Confluent CLI バージョンのみをアップグレードするためのワークフロー

Confluent CLI バージョンのアップグレードのみが必要な場合、Confluent では引き続き AES CBC モードがサポートされるので追加の変更は不要です。

|cp| バージョンをアップグレードするためのワークフロー

AES GCM モードは、Confluent Platform をアップグレードした後にのみ利用できます。Confluent CLI シークレットコマンドは、Metadata Service (MDS) クラスターにクエリを実行して、サポートされている AES モードを確認します。

新しい XX_SECRETS_GCM_MODE フラグを使用して、Kafka および Metadata Service (MDS) クラスターをアップグレードするときに AES GCM モードを適用できます。以下で説明するコマンドを使用します。

MDS クラスターをアップグレードするためのワークフロー

Metadata Service (MDS) をアップグレードするには、以下の手順を実行します。

  1. 以下のコマンドを使用して既存のシークレットをローテーションします。
XX_SECRETS_GCM_MODE=true confluent secret file rotate --master-key \
--local-secrets-file /usr/secrets/security.properties \
-–passphrase @/User/bob/secret.properties \
--passphrase-new @/User/bob/secretNew.properties
  1. 以下のコマンドを使用して新しいシークレットを暗号化します。
XX_SECRETS_GCM_MODE=true confluent secret file encrypt --config-file /etc/kafka/connect-distributed.properties \
--local-secrets-file /usr/secrets/security.properties \
--remote-secrets-file /usr/secrets/security.properties \
--config "config.storage.replication.factor,config.storage.topic"
  1. MDS クラスターを起動します。

|mds-long| クラスターのアップグレード後に |ak| クラスターをアップグレードするためのワークフロー

MDS クラスターをアップグレードした後に Kafka クラスターをアップグレードする場合は、XX_SECRETS_GCM_MODE を使用する必要はありません。MDS クラスターによって、AES GCM モードを使用するよう Confluent CLI に通知されます。

  1. 以下のコマンドを使用して既存のシークレットをローテーションします。
confluent secret file rotate --master-key --local-secrets-file /usr/secrets/security.properties \
-–passphrase @/User/bob/secret.properties \
--passphrase-new @/User/bob/secretNew.properties
  1. 以下のコマンドを使用して新しいシークレットを暗号化します。
confluent secret file encrypt --config-file /etc/kafka/connect-distributed.properties \
--local-secrets-file /usr/secrets/security.properties \
--remote-secrets-file /usr/secrets/security.properties \
--config "config.storage.replication.factor,config.storage.topic"
  1. Kafka クラスターを起動します。

|mds-long| クラスターのアップグレード前に |ak| クラスターをアップグレードするためのワークフロー

MDS クラスターをアップグレードする前に Kafka クラスターをアップグレードする場合は、XX_SECRETS_GCM_MODE フラグとシークレットコマンドを使用して、AES GCM モードを適用する必要があります。

  1. 以下のコマンドを使用して既存のシークレットをローテーションします。
XX_SECRETS_GCM_MODE=true confluent secret file rotate --master-key \
--local-secrets-file /usr/secrets/security.properties \
-–passphrase @/User/bob/secret.properties \
--passphrase-new @/User/bob/secretNew.properties
  1. 以下のコマンドを使用して新しいシークレットを暗号化します。
XX_SECRETS_GCM_MODE=true confluent secret file encrypt --config-file /etc/kafka/connect-distributed.properties \
--local-secrets-file /usr/secrets/security.properties \
--remote-secrets-file /usr/secrets/security.properties \
--config "config.storage.replication.factor,config.storage.topic"
  1. Kafka クラスターを起動します。

注釈

XX_SECRETS_GCM_MODE は、このアップグレード中にのみ使用する必要があります。アップグレード中に XX_SECRETS_GCM_MODE フラグを使用しない場合、シークレットは AES CBC モードで暗号化されます。アップグレードの完了後は、新しい構成は、AES GCM モードを使用して暗号化されます。

AES GCM モードは、Confluent Platform バージョン 6.0 以降で利用できます。それより前のバージョンでは、従来の機能に関する理由で、脆弱な AES CBC 暗号化モードが引き続きサポートされます。

Connect

  • KIP-745: コネクターおよびタスクを再開する Connect API: 1 つの API 呼び出しを渡すことで、この機能によりコネクターとそのタスクを再開することができます。以前は、コネクターやタスクの失敗から回復するには、別々の REST API 呼び出しを発行して、それぞれのコネクターおよびタスクのインスタンスを手動で再開する必要がありました。
  • KIP-721: Connect Log4j の構成におけるコネクターログコンテキストのデフォルトでの有効化: この機能により、Connect ワーカーのログで追加のコネクターコンテキストがデフォルトで有効になります。KIP-449 で、Connect ワーカーログにコネクターコンテキストが追加されましたが、デフォルトでは有効になっていませんでした。connect-log4j.properties 構成ファイルを変更することで、追加のコネクターコンテキストを無効にすることができます。
  • KIP-738: Connect の内部コンバーターのプロパティの削除: この機能により、internal.key.converter プロパティ、internal.value.converter プロパティ、およびこれらのプロパティがプレフィックスになっているすべてのプロパティが削除されます。削除済みのプロパティが渡された場合、Connect ワーカーは無視されます。
  • KIP-722: コネクタークライアントのオーバーライドのデフォルトでの有効化: この機能により、connector.client.config.override.policy ワーカー構成プロパティのデフォルト値が All に変更になります。KIP-458 で、コネクター固有のクライアントのオーバーライドが追加されましたが、デフォルトでは有効になっていませんでした。connector.client.config.override.policyNone に設定することで、コネクター固有のクライアントのオーバーライドを無効にすることができます。

テレメトリ

Confluent Platform 7.1.1 以降では、Telemetry Reporter により、Confluent Server からブローカーの構成の詳細情報の選択リストが収集されます。Confluent は、この追加のテレメトリデータが含まれることで、Health+ が有効なクラスターについてチケットがオープンされた場合に迅速にサポートを提供できます。詳細については、「Confluent Telemetry Reporter」を参照してください。

その他の改善点および変更点

Confluent Platform 7.1.1 以降では Ubuntu 20.04 と Debian 10 の両方がサポートされます。詳細については、「オペレーティングシステム」を参照してください。

廃止に関する警告

ここには、将来的な廃止についての警告を記載しています。Java 8 サポートは、Confluent Platform の次のマイナーバージョンで廃止されます。この警告は、お使いのアプリケーションをアップグレードにするための期間をできる限り長く確保していただくためのものです。Java 11 をお勧めします。

ダウンロード方法

Confluent Platform は https://www.confluent.io/download/ からダウンロードできます。詳細については、「オンプレミスのデプロイ」セクションを参照してください。

重要

Confluent Platform パッケージにはデフォルトで Confluent Server が含まれており、server.properties ファイルに confluent.license キーが必要です。Confluent Platform 5.4.x 以降では、Confluent Server ブローカーは起動時にライセンスをチェックします。以下のように confluent.license プロパティを使用して、各ブローカーのプロパティファイルにライセンスの文字列を指定する必要があります。

confluent.license=LICENCE_STRING_HERE_NO_QUOTES

Kafka ブローカーを使用する場合は、confluent-community パッケージをダウンロードしてください。Kafka ブローカーは、すべての Debian、または RHEL および CentOS パッケージでデフォルトです。

Confluent Server への移行の詳細については、「Confluent Server への移行」を参照してください。

Confluent Platform を新しいバージョンにアップグレードするには、ドキュメント「Confluent Platform のアップグレード」を参照してください。

サポートされているバージョンおよび相互運用性

Confluent Platform およびそのコンポーネントのサポートされているバージョンと相互運用性については、「サポートされているバージョンおよび相互運用性」を参照してください。

お問い合わせ

本リリースに関してご不明な点がある場合は、コミュニティのメーリングリスト または コミュニティ Slack からご連絡ください。Confluent 製品を既にご利用の場合は直接サポートにお問い合わせください。