Auto Scaling タスクの最大数を理解する - Amazon Managed Streaming for Apache Kafka

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

Auto Scaling タスクの最大数を理解する

maxAutoscalingTaskCount パラメータは、Amazon MSK Connect でコネクタの自動スケーリングに使用できるオプションの容量フィールドです。このパラメータを使用すると、コネクタの自動スケーリングオペレーション中に作成できるタスクの最大数の上限を設定できるため、リソースの使用率とパフォーマンスをより細かく制御できます。

自動スケーリングキャパシティモードを使用すると、Amazon MSK Connect はコネクタの tasks.maxプロパティを、ワーカーあたりのワーカー数と MCUs 数に比例した値で自動的に上書きします。maxAutoscalingTaskCount パラメータは、コネクタ用に作成されたタスクの最大数を制限するための追加の設定可能なオプションを提供します。

この機能は、Kafka クラスター内のトピックパーティションの数に関連して並列処理のレベルを制御する場合に特に便利です。この制限を設定することで、パフォーマンスを最適化し、自動的に計算されたタスク数がワークロード要件を超えた場合に発生する可能性のある非効率的なタスク分散を防ぐことができます。

設定要件

maxAutoscalingTaskCount パラメータは、次の要件を満たしている必要があります。

maxAutoscalingTaskCount ≥ maxWorkerCount

この要件により、ワーカーごとに少なくとも 1 つのタスクを維持することで、効率的なリソース使用率が確保されます。コネクタの機能を最適化するために、システムはこの最小値を適用します。

を指定するとmaxAutoscalingTaskCount、コネクタの作成直後とそれ以降のすべてのスケーリングイベント中に制限が適用されます。Auto Scaling オペレーション中にワーカー数が増減するにつれて、システムは引き続きこの制限を尊重します。このtasks.max値は、ワーカーあたりのワーカー数と MCUsの数に比例して調整されますが、設定されたmaxAutoscalingTaskCount値を超えることはありません。

このパラメータを指定しない場合、コネクタは制限なしで標準計算を使用します tasks.max = workerCount × mcuCount × tasksPerMcu ( tasksPerMcu は 2)。

maxAutoscalingTaskCount を使用するタイミング

以下のシナリオmaxAutoscalingTaskCountでは、 の使用を検討してください。

  • パーティション数の制限: Kafka トピックのパーティション数が自動計算されたタスク数よりも少ない場合、制限を設定すると、実行する作業がないアイドルタスクの作成が防止されます。

  • パフォーマンスの最適化: 特定のタスク数がワークロードに最適なスループットを提供することを確認したら、最大タスク数を制限して一貫したパフォーマンスを維持できます。

  • リソース管理: 実行中のワーカー数に関係なく、コネクタの最大並列処理とリソース消費量を制御する場合。

次の設定のコネクタの場合:

minWorkerCount: 1 maxWorkerCount: 4 mcuCount: 8 maxAutoscalingTaskCount: 15

がない場合maxAutoscalingTaskCount、4 人のワーカーにスケーリングすると、コネクタは 64 個のタスク (4 人のワーカー x 8 MCUs x MCU 1 MCU あたり 2 個のタスク) を作成します。を 15 maxAutoscalingTaskCountに設定すると、コネクタは 15 個のタスクのみを作成します。これは、Kafka トピックのパーティションが 15 個以下の場合に適切です。