MSK レプリケーターを使用するためのベストプラクティス - Amazon Managed Streaming for Apache Kafka

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

MSK レプリケーターを使用するためのベストプラクティス

このセクションでは、Amazon MSK レプリケーターを使用するための一般的なベストプラクティスと実装戦略について説明します。

Kafka クォータを使用したMSKレプリケータースループットの管理

MSK レプリケーターはソースクラスターのコンシューマーとして機能するため、レプリケーションによりソースクラスターで他のコンシューマーがスロットリングされる可能性があります。スロットリング量は、ソースクラスターの読み取り容量と、レプリケートするデータのスループットによって異なります。必要な容量を計算する際には、ソースクラスターとターゲットクラスターに同じ容量をプロビジョニングし、レプリケーションのスループットを考慮に入れることが推奨されます。

レプリケーターが使用できる容量を制御するために、ソースクラスターとターゲットクラスターのレプリケーターに Kafka MSK クォータを設定することもできます。ネットワーク帯域幅クォータが推奨されます。ネットワーク帯域幅クォータは、クォータを共有する 1 つ以上のクライアントに対して、バイトレートのしきい値 (1 秒あたりのバイト数) を定義します。このクォータはブローカーごとに定義されます。

クォータを適用するには、次のステップを実行します。

  1. ソースクラスターのブートストラップサーバー文字列を取得します。「Amazon MSKクラスターのブートストラップブローカーの取得」を参照してください。

  2. レプリケーターが使用するサービス実行ロール (SER) MSK を取得します。これは、CreateReplicatorリクエストSERに使用した です。既存のレプリケーターSERからの DescribeReplicator レスポンスから を取得することもできます。

  3. Kafka CLI ツールを使用して、ソースクラスターに対して次のコマンドを実行します。

    ./kafka-configs.sh --bootstrap-server <source-cluster-bootstrap-server> --alter --add-config 'consumer_byte_ rate=<quota_in_bytes_per_second>' --entity-type users --entity-name arn:aws:sts::<customer-account-id>:assumed-role/<ser-role-name>/<customer-account-id> --command-config <client-properties-for-iam-auth></programlisting>
  4. 上記のコマンドを実行した後、ReplicatorThroughput メトリクスが設定したクォータを超えていないことを確認します。

複数のMSKレプリケーター間でサービス実行ロールを再利用する場合、それらはすべてこのクォータの対象となります。レプリケーターごとに個別のクォータを維持する必要がある場合は、個別のサービス実行ロールを使用します。

クォータでMSKIAM認証を使用する方法の詳細については、IAM「アクセスコントロールMSKを備えた Amazon のマルチテナンシー Apache Kafka クラスター」および「Kafka クォータ – パート 1」を参照してください。

警告

consumer_byte_rate を非常に低く設定すると、MSKレプリケーターが予期しない方法で動作する可能性があります。

クラスターの保持期間の設定

MSK プロビジョニングされたクラスターとサーバーレスクラスターのログ保持期間を設定できます。推奨される保持期間は 7 日間です。「クラスター設定の変更」または「MSK サーバーレスクラスターの設定」を参照してください。