AMQ Streams 1.7 on RHEL リリースノート

Red Hat AMQ 2021.Q2

AMQ Streams on Red Hat Enterprise Linux の使用

概要

本リリースノートには、AMQ Streams 1.7 リリースに含まれる新機能、改良された機能、修正、および問題に関する最新情報が含まれています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

第1章 機能

本リリースで追加され、これまでの AMQ Streams リリースにはなかった機能は次のとおりです。

注記

本リリースで解決された機能拡張とバグをすべて確認するには、AMQ Streams の Jira プロジェクト を参照してください。

1.1. Kafka 2.7.0 のサポート

AMQ Streams は Apache Kafka バージョン 2.7.0 に対応するようになりました。

AMQ Streams は Kafka 2.7.0 を使用します。サポート対象は、Red Hat によってビルドされた Kafka ディストリビューションのみです。

アップグレードの手順は、「AMQ Streams and Kafka upgrades」を参照してください。

詳細は、Kafka 2.6.0 および Kafka 2.7.0 のリリースノートを参照してください。

注記

Kafka 2.6.x は、AMQ Streams 1.7 にアップグレードする目的でのみサポートされます。

サポートされるバージョンの詳細は、Red Hat ナレッジベースの記事「 Red Hat AMQ 7 Component Details Page 」を参照してください。

Kafka 2.7.0 には、Kafka 2.6.x と同じ ZooKeeper バージョン (ZooKeeper バージョン 3.5.8) が必要です。そのため、AMQ Streams 1.6 から AMQ Streams 1.7 にアップグレードするときに ZooKeeper をアップグレードする必要はあり ません

第2章 機能拡張

このリリースで改良された機能は次のとおりです。

2.1. Kafka 2.7.0 で改良された機能

Kafka 2.7.0 に導入された改良機能の概要は『Kafka 2.7.0 Release Notes』を参照してください。

2.2. OAuth 2.0 認証および承認

本リリースには、OAuth 2.0 トークンベースの認証および承認に対して改良された以下の機能が含まれています。

JWT アクセストークンのチェック

JWT アクセストークンに、2 つの追加チェックを設定できるようになりました。これらのチェックはいずれも OAuth 2.0 認証リスナー設定で設定されます。

カスタムクレームチェック

カスタムクレームチェックでは、Kafka ブローカーによる JWT アクセストークンの検証にカスタムルールが適用されます。これらは JsonPath フィルタークエリーを使用して定義されます。

アクセストークンに必要なデータが含まれていないと拒否されます。イントロスペクションエンドポイントトークン検証を使用する場合は、カスタムチェックがイントロスペクションエンドポイントの応答 JSON に適用されます。

カスタムクレームチェックを設定するには、oauth.custom.claim.check オプションを server.properties ファイルに追加し、JsonPath フィルタークエリーを定義します。カスタムクレームチェックはデフォルトで無効になっています。

Kafka ブローカーの OAuth 2.0 サポートの設定」を参照してください。

オーディエンスチェック

承認サーバーは、JWT アクセストークンに aud (オーディエンス) クレームを提供することがあります。

オーディエンスチェックが有効な場合、Kafka ブローカーは aud クレームにブローカーの clientId が含まれていないトークンを拒否します。

オーディエンスチェックを有効にするには、oauth.check.audience オプションを true に設定します。オーディエンスチェックはデフォルトで無効になっています。

Kafka ブローカーの OAuth 2.0 サポートの設定」を参照してください。

SASL PLAIN 認証での OAuth 2.0 のサポート

Kafka クライアントと Kafka ブローカー間の OAuth 2.0 認証に PLAIN メカニズムを設定できるようになりました。これまでは、認証されるメカニズムは OAUTHBEARER のみでした。

PLAIN は、すべての Kafka クライアントツール(kafkacat などの開発者ツールを含む)によってサポートされる簡易認証メカニズムです。AMQ Streams には、PLAIN を OAuth 2.0 認証と使用できるようにするサーバー側のコールバックが含まれています。これらの機能は OAuth 2.0 over PLAIN と呼ばれます。

注記

Red Hat は、可能な限りクライアントに OAUTHBEARER 認証を使用することを推奨します。OAUTHBEARER では、クライアントクレデンシャルは Kafka ブローカーと共有されることがないため、PLAIN よりも高レベルのセキュリティーが提供されます。OAUTHBEARER をサポートしない Kafka クライアントの場合のみ、PLAIN の使用を検討してください。

提供される OAuth 2.0 over PLAIN コールバックと併用すると、Kafka クライアントは以下のいずれかの方法を使用して Kafka ブローカーで認証することができます。

  • クライアント ID およびシークレット (OAuth 2.0 クライアントクレデンシャルメカニズムを使用)
  • 設定時に手動で取得された有効期限の長いアクセストークン

PLAIN を使用するには、OAuth 認証リスナー設定で server.properties ファイルで有効にする必要があります。

OAuth 2.0 認証メカニズム 」および「 Kafka ブローカーの OAuth 2.0 サポートの設定」を参照してください。

第3章 テクノロジープレビュー

重要

テクノロジープレビュー機能は、Red Hat の実稼働環境のサービスレベルアグリーメント (SLA) ではサポートされません。また、機能的に完全ではない可能性があるため、Red Hat はテクノロジープレビュー機能を実稼働環境に実装することは推奨しません。テクノロジープレビュー機能は、最新の技術をいち早く提供し、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。サポート範囲の詳細は、「テクノロジプレビュー機能のサポート範囲」を参照してください。

3.1. Cruise Control によるクラスターのリバランス

注記

Cruise Control は本リリースでもテクノロジープレビューですが、新たな改良が加えられました。

Cruise Control をインストールし、これを使用して 最適化ゴール (CPU、ディスク、ネットワーク負荷などに定義された制約) を使用し、Kafka をリバランスできます。バランス調整された Kafka クラスターでは、ワークロードがブローカー Pod 全体に均等に分散されます。

Cruise Control を使用すると、分散された Kafka クラスターを効率的に実行するための時間および労力を削減できます。

カスタマーポータルからダウンロードするために、Cruise Control の zip 形式のディストリビューションを利用できます。Cruise Control をインストールするには、提供される Metrics Reporter を使用するように各 Kafka ブローカーを設定します。その後、最適化ゴールを含む Cruise Control プロパティーを設定し、提供されたスクリプトを使用して Cruise Control を開始します。

Cruise Control サーバーは、Kafka クラスター全体に対して単一のマシンでホストされます。

Cruise Control が実行されている場合、REST API を使用して以下を行うことができます。

  • 複数の最適化ゴールから ドライラン 最適化プロポーザルを生成する。
  • 最適化プロポーザルを開始し、Kafka クラスターをリバランスする

異常検出、通知、独自ゴールの作成、トピックレプリケーション係数の変更などの、その他の Cruise Control の機能は現在サポートされていません。

Cruise Control によるクラスターのリバランス 」を参照してください。

3.1.1. テクノロジープレビューの改良

テクノロジープレビューである Cruise Control のクラスターのリバランスに、以下の改良が追加されました。

新しいゴール: ブローカーごとの最小トピックリーダー数

MinTopicLeadersPerBrokerGoal という名前の新しいゴールを使用できます。

定義されたトピックグループの各トピックに対し、アクティブなブローカーごとに最低でも一定数のリーダーレプリカがあるようにします。

MinTopicLeadersPerBrokerGoal はデフォルトのゴールで、ハードゴールとして事前設定されています。

最適化ゴールの概要」を参照してください。

ロギングの改良: Log4j 2

Log4j 2 が Cruise Control のロギングに使用されるようになりました。

Cruise Control ロギングの既存の設定( /opt/cruise-control/config/log4j.properties)を Log4j から Log4j 2 と互換性のある構文に更新する 必要 があります。

Cruise Control configuration を参照してください。

第4章 非推奨の機能

AMQ Streams 1.7 で非推奨になった機能はありません。

第5章 修正された問題

AMQ Streams 1.7 on RHEL で修正された問題を、以下の表に示します。Kafka 2.7.0 で修正された問題の詳細は、『Kafka 2.7.0 Release Notes』を参照してください。

課題番号説明

ENTMQST-2030

ACL の追加または削除に bin/kafka-acls.sh ユーティリティーを使用すると、操作は成功しますが、警告が生成されます。

ENTMQST-2188

MirrorMaker: ターゲットクラスターのコンシューマーグループへのオフセットの同期を有効にする。

ENTMQST-2269

kafka-configs.sh は非推奨である --zookeeper オプションですが、ユーザーの設定を一覧表示する代替機能を提供しません。

第6章 既知の問題

AMQ Streams 1.7 on RHEL には既知の問題がありません。

第7章 サポート対象のインテグレーション製品

AMQ Streams 1.7 は、以下の Red Hat 製品との統合をサポートします。

  • OAuth 2.0 認証および OAuth 2.0 承認用の Red Hat Single Sign-On 7.4 以上
  • データベースを監視し、イベントストリームを作成する Red Hat Debezium 1.4 以上

これらの製品によって AMQ Streams デプロイメントに導入可能な機能の詳細は、AMQ Streams 1.7 のドキュメントを参照してください。