第1章 機能


AMQ Streams バージョン 1.4 は Strimzi 0.17.x をベースにしています。

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

1.1. Kafka 2.4.0 のサポート

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

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

ブローカーおよびクライアントアプリケーションを Kafka 2.4.0 にアップグレードする前に、Cluster Operator を AMQ Streams バージョン 1.4 にアップグレードする必要があります。アップグレードの手順は、「AMQ Streams および Kafka のアップグレード」を参照してください。

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

注記

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

サポートされるバージョンの詳細は、カスタマーポータルの「Red Hat AMQ 7 Component Details Page」を参照してください。

Kafka 2.4.0 でのパーティションリバランスプロトコルの変更

Kafka 2.4.0 には、コンシューマーおよび Kafka Streams アプリケーションの Incremental Cooperative Rebalancing が追加されました。これは、定義された リバランスストラテジー にしたがって パーティションリバランス を実装するための、改良されたリバランスプロトコルです。コンシューマーは新しいプロトコルを使用して、リバランス中に割り当てられたパーティションを保持し、クラスターのバランスを保つ必要がある場合に、プロセスの最後でのみパーティションを取り消します。これにより、リバランス中にコンシューマーグループまたは Kafka Streams アプリケーションが使用不可能になる状態を削減します。

Incremental Cooperative Rebalancing を利用するには、コンシューマーおよび Kafka Streams アプリケーションをアップグレードして、Eager Rebalance Protocol の代わりに新しいプロトコルを使用する必要があります。

コンシューマーおよび Kafka Streams アプリケーションの Cooperative Rebalancing へのアップグレード」および Apache Kafka ドキュメントの「Notable changes in 2.4.0」を参照してください。

1.1.1. ZooKeeper 3.5.7

Kafka バージョン 2.4.0 では、ZooKeeper の新しいバージョン 3.5.7 が必要です。

手作業で ZooKeeper 3.5.7 にアップグレードする必要はありませんKafka ブローカーがアップグレードされる ときに、Cluster Operator によって ZooKeeper のアップグレードが実行されます。ただし、この手順の実行中に追加のローリングアップデートが実行されることがあります。

AMQ Streams 1.4 には、ZooKeeper のスケーリングに関する既知の問題が存在します。詳細は、6章既知の問題

1.2. KafkaConnector リソース

AMQ Streams は、KafkaConnector という新しいカスタムリソースと内部 Operator を使用して、Kafka Connect クラスターでコネクターの Kubernetes ネイティブな管理を提供するようになりました。

KafkaConnector YAML ファイルには、コネクターインスタンスの新規作成または稼働中のコネクターインスタンスの管理を行うために Kubernetes クラスターにデプロイするソースまたはシンクコネクターの設定が記述されます。他の Kafka リソースと同様に、稼働中のコネクターインスタンスは KafkaConnectors に定義された設定と一致するように Cluster Operator によって更新されます。

Installation and Example Files の examples/connector/source-connector.yamlKafkaConnector リソースの例が含まれるようになりました。YAML ファイルの例をデプロイし、my-topic というトピックでメッセージとしてライセンスファイルの各行を Kafka に送信する FileStreamSourceConnector を作成します。

KafkaConnector の例

apiVersion: kafka.strimzi.io/v1alpha1
kind: KafkaConnector
metadata:
  name: my-source-connector
  labels:
    strimzi.io/cluster: my-connect-cluster
spec:
  class: org.apache.kafka.connect.file.FileStreamSourceConnector
  tasksMax: 2
  Config:
    file: "/opt/kafka/LICENSE"
    topic: my-topic
    # ...

1.2.1. KafkaConnectors の有効化

これまでのバージョンの AMQ Streams との互換性を維持するため、KafkaConnectors はデフォルトで無効になっています。今後の AMQ Streams リリースでは、これがコネクターを作成および管理するデフォルトの方法になる可能性があります。

AMQ Streams 1.4 Kafka Connect クラスターの KafkaConnectors を有効にするには、strimzi.io/use-connector-resources アノテーションを KafkaConnect リソースに追加します。以下に例を示します。

KafkaConnectors が有効になっている Kafka Connect クラスターの例

apiVersion: kafka.strimzi.io/v1beta1
kind: KafkaConnect
metadata:
  name: my-connect-cluster
  annotations:
    strimzi.io/use-connector-resources: "true"
spec:
  # ...

KafkaConnectors が有効になっている場合、Kafka Connect REST API に直接手作業で追加された変更は Cluster Operator によって元に戻されます。

注記

Kafka Connect REST API (8083 番ポート上) は、失敗したタスクを再起動するために必要です。

コネクターの作成および管理」、「KafkaConnector リソースを Kafka Connect にデプロイ」、および「KafkaConnector リソースの有効化」を参照してください。

1.3. Kafka リスナー証明書

以下のタイプのリスナーに、独自のサーバー証明書と秘密鍵を提供できるようになりました。

  • TLS リスナー
  • TLS 暗号化が有効になっている外部リスナー

これらユーザー提供の証明書は Kafka リスナー証明書 と呼ばれます。

組織のプライベート認証局 (CA) またはパブリック CA を使用して、独自の Kafka リスナー証明書を生成および署名できます。

リスナーの設定

リスナーの configuration.brokerCertChainAndKey プロパティーで Kafka リスナー証明書を設定します。以下に例を示します。

# ...
listeners:
  plain: {}
  external:
    type: loadbalancer
    configuration:
      brokerCertChainAndKey:
        secretName: my-secret
        certificate: my-listener-certificate.crt
        key: my-listener-key.key
    tls: true
    authentication:
      type: tls
# ...

Kafka リスナー証明書」および「独自のKafka リスナー証明書の指定」を参照してください。

1.4. OAuth 2.0 認証

OAuth 2.0 認証のサポートは、テクノロジープレビューから AMQ Streams の一般利用可能なコンポーネントに移行されます。

AMQ Streams は、SASL OAUTHBEARER メカニズムを使用して OAuth 2.0 認証の使用をサポートします。OAuth 2.0 のトークンベースの認証を使用すると、アプリケーションクライアントはアカウントのクレデンシャルを公開せずにアプリケーションサーバー (「リソースサーバー」と呼ばれる) のリソースにアクセスできます。クライアントは、認証手段としてアクセストークンを提示します。アプリケーションサーバーはこのアクセストークンを使用して、付与されたアクセス権限のレベルに関する情報も検索できます。承認サーバーは、アクセスの付与とアクセスに関する問い合わせを処理します。

AMQ Streams のコンテキストでは以下が行われます。

  • Kafka ブローカーはリソースサーバーとして動作する。
  • Kafka クライアントはリソースクライアントとして動作する。

ブローカーおよびクライアントは、必要に応じて OAuth 2.0 承認サーバーと通信し、アクセストークンを取得または検証します。

AMQ Streams のデプロイメントでは、OAuth 2.0 インテグレーションは以下を提供します。

  • Kafka ブローカーのサーバー側 OAuth 2.0 サポート。
  • Kafka MirrorMaker、Kafka Connect、および Kafka Bridge のクライアント側 OAuth 2.0 サポート。

Red Hat Single Sign-On の統合

Red Hat Single Sign-On を承認サーバーとしてデプロイし、AMQ Streams と統合するために設定することができます。

Red Hat Red Hat Single Sign-On を使用して、以下を実行できます。

  • Kafka ブローカーの認証の設定
  • クライアントの設定および承認
  • ユーザーおよびロールの設定
  • アクセスの取得およびトークンの更新

OAuth 2.0 トークンベース認証の使用」を参照してください。

1.5. Debezium for Change Data Capture の統合

注記

Debezium for Change Data Capture は OpenShift 4.x でのみサポートされます。

Dabezium for Change Data Capture は、データベースを監視し、変更イベントストリームを作成する分散プラットフォームです。Debezium は Apache Karaf に構築され、AMQ Streams とデプロイおよび統合できます。AMQ Streams のデプロイ後に、Kafka Connect で Debezium をコネクター設定としてデプロイします。Debezium によって、データベーステーブルの行レベルの変更がキャプチャーされ、対応する変更イベントが AMQ Streams on OpenShift に渡されます。アプリケーションは 変更イベントストリーム を読み取りでき、変更イベントが発生した順にアクセスできます。

Debezium には、以下を含む複数の用途があります。

  • データレプリケーション。
  • キャッシュの更新およびインデックスの検索。
  • モノリシックアプリケーションの簡素化。
  • データ統合。
  • ストリーミングクエリーの有効化。

Debezium は、以下の共通データベースのコネクター (Kafka Connect をベースとする) を提供します。

  • MySQL
  • PostgreSQL
  • SQL Server
  • MongoDB

AMQ Streams で Debezium をデプロイするための詳細は、「製品ドキュメント」を参照してください。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る