こんにちは! サーバーワークスの松井です。
Kinesis Data Firehoseに大量のデータを送信していたら制限超過エラーに遭遇したので紹介します。
発生事象
パーティションキーをIDで指定し、1から順番にインデックスを割り振ったJSONをKinesis Data Firehoseに送信していました。
すると送信先のS3の/error配下に以下のメッセージが格納されたファイルが作成されていました。
"errorMessage":"The number of active partitions has exceeded the configured limit"
マネージメントコンソールのグラフを見るとカウント500で頭打ちを食らっていますね
対策
Kinesis Data Firehose での動的パーティショニング - Amazon Kinesis Data Firehose
配信ストリームで動的パーティショニングが有効になっている場合、その配信ストリームに対して作成できるアクティブパーティションは 500 個に制限されます。 アクティブパーティションの数が配信ストリームごとの 500 個の制限に達すると、配信ストリームの残りのレコードは、指定された S3 エラーバケットプレフィックスに配信されます。
ドキュメントにも記載の通り、パーティションキーのバリエーションが500を超えるとそれ以上は処理がされません。
パーティションキーのバリエーションが多いデータを扱う場合には、事前にこのクォーターを把握し、AWSサポートに制限緩和のリクエストをしておくといいでしょう。
松井 宏司
エンタープライズクラウド部
2022 2023 2024Japan AWS All Certifications Engineer
プロレス観戦が趣味