クォータと制限 - Amazon Kinesis Data Streams

クォータと制限

次の表では、Amazon Kinesis Data Streams のストリームおよびシャードのクォータと制限について説明します。

クォータ オンデマンドモード プロビジョニングモード

データストリームの数

AWS アカウント内のストリームの数にクォータ上限はありません。オンデマンドキャパシティモードでは、デフォルトで最大 50 のデータストリームを作成できます。このクォータの引き上げが必要な場合は、サポートチケットを発行してください。

プロビジョニングモードでは、アカウント内のストリームの数にクォータ上限はありません。

シャード数

上限はありません。シャードの数は、取り込まれたデータの量と、必要なスループットのレベルに応じて異なります。Kinesis Data Streams は、データ量とトラフィックの変化に対応して、シャードの数を自動的にスケールします。

上限はありません。米国東部 (バージニア北部)、米国西部 (オレゴン)、および欧州 (アイルランド) の各リージョンのデフォルトシャードクォータは、AWS アカウントあたり 500 シャードです。そのほかのすべてのリージョンでは、デフォルトのシャードクォータは AWS アカウントあたり 200 シャードです。データストリームあたりのシャード数のクォータ引き上げをリクエストするには、「Requesting a Quota Increase」を参照してください。

データストリームのスループット

デフォルトで、オンデマンドキャパシティモードで作成された新しいデータストリームでは、書き込みスループットが 4 MB/秒、読み取りスループットが 8 MB/秒になっています。オンデマンドキャパシティモードのデータストリームは、トラフィックの増加に合わせて最大 200 MB/秒の書き込みスループット、および最大 400 MB/秒の読み取りスループットまでスケールされます。書き込みキャパシティを 2 GB/秒、読み取りキャパシティを 4 GB/秒に増加させる必要がある場合は、サポートチケットを送信してください。

上限はありません。最大スループットは、ストリーム用にプロビジョニングされたシャードの数に応じて異なります。各シャードは、最大 1 MB/秒もしくは 1,000 レコード/秒の書き込みスループット、または最大 2 MB/秒もしくは 2,000 レコード/秒の読み取りスループットをサポートできます。取り込み容量を増やす必要がある場合は、AWS Management Console または UpdateShardCount API を使用して、ストリーム内のシャードカウントを簡単にスケールアップできます。

データペイロードのサイズ

base64-encoding 前のレコードのデータペイロードサイズは、最大で 1 MB です。

GetRecords トランザクションのサイズ

GetRecords では、1 つのシャードから最大 10 MB のデータを取得でき、呼び出しごとに最大 10,000 レコードを取得できます。GetRecords への各呼び出しは、1 つの読み込みトランザクションとしてカウントされます。各シャードは 1 秒あたり最大 5 件のトランザクションをサポートできます。各読み込みトランザクションは最大 10,000 レコードを提供でき、トランザクションあたり 10 MB のクォータ上限があります。

シャードあたりのデータ読み取りレート

各シャードは、GetRecords を介して最大 2 MB/秒の合計データ読み取りレートをサポートします。GetRecords への呼び出しで 10 MB が返される場合、次の 5 秒以内に行われたそれ以降の呼び出しでは、例外がスローされます。

登録されたコンシューマーのデータストリームあたりの数

登録されたコンシューマーは、データストリームごとに最大 20 個 (拡張ファンアウトの上限) 作成することができます。

プロビジョニングモードとオンデマンドモードの切り替え

AWS アカウントのデータストリームごとに、オンデマンド容量モードとプロビジョンド容量モードを 24 時間で 2 回切り替えることができます。 

API の制限

ほとんどの AWS API と同様に、Kinesis Data Streams API オペレーションにはレート制限があります。リージョンごと、AWS アカウントごとに以下の制限が適用されます。Kinesis Data Streams API の詳細については、Amazon Kinesis Streams API リファレンスを参照してください。

KDS コントロールプレーン API の制限

次のセクションでは、KDS コントロールプレーン API の制限を示します。KDS コントロールプレーン API を使用すると、データストリームを作成および管理できます。これらの制限は、リージョンごと、AWS アカウントごとに適用されます。

コントロールプレーン API の制限
API API コールの制限 アカウントあたり/ストリームあたり  説明
AddTagsToStream 1 秒あたり 5 件のトランザクション (TPS) アカウントあたり データストリームあたり 50 個のタグ
CreateStream 5 TPS アカウントあたり

アカウントに存在できるストリームの数にクォータ上限はありません。CreateStream リクエストを行うときに以下のいずれかを実行しようとすると、LimitExceededException が発生します。

  • 特定の時点で、5 つを超える CREATING 状態のストリームを持つ。

  • アカウントに許可されている数よりも多くのシャードを作成する。

DecreaseStreamRetentionPeriod 5 TPS ストリームあたり データストリームの保持期間の最小値は 24 時間です。
DeleteResourcePolicy 5 TPS アカウントあたり この制限の引き上げが必要な場合は、サポートチケットを発行してください。
DeleteStream 5 TPS アカウントあたり
DeregisterStreamConsumer 5 TPS ストリームあたり
DescribeLimits 1 TPS アカウントあたり
DescribeStream 10 TPS アカウントあたり
DescribeStreamConsumer 20 TPS ストリームあたり
DescribeStreamSummary 20 TPS アカウントあたり
DisableEnhancedMonitoring 5 TPS ストリームあたり
EnableEnhancedMonitoring 5 TPS ストリームあたり
GetResourcePolicy 5 TPS アカウントあたり この制限の引き上げが必要な場合は、サポートチケットを発行してください。
IncreaseStreamRetentionPeriod 5 TPS ストリームあたり ストリームの保持期間の最大値は 8760 時間 (365 日) です。
ListShards 1,000 TPS ストリームあたり
ListStreamConsumers 5 TPS ストリームあたり
ListStreams 5 TPS アカウントあたり
ListTagsForStream 5 TPS ストリームあたり
MergeShards 5 TPS ストリームあたり プロビジョニングされたもののみに適用されます。
PutResourcePolicy 5 TPS アカウントあたり この制限の引き上げが必要な場合は、サポートチケットを発行してください。
RegisterStreamConsumer 5 TPS ストリームあたり コンシューマーはデータストリームごとに最大 20 登録できます。所定のコンシューマーを登録できるのは、一度に 1 つのデータストリームだけです。同時に作成できるコンシューマーは 5 つだけです。つまり、5 つを超える CREATING ステータスのコンシューマーを同時に所有することはできません。CREATING ステータスのコンシューマーが 5 つ存在する間の 6 番目のコンシューマーの登録
RemoveTagsFromStream 5 TPS ストリームあたり
SplitShard 5 TPS ストリームあたり プロビジョニングされたもののみに適用されます
StartStreamEncryption ストリームあたり 24 時間周期で 25 回、新しい AWS KMS キーをサーバー側の暗号化に正常に適用できます。
StopStreamEncryption ストリームあたり 24 時間のローリング期間あたり、サーバー側の暗号化を 25 回無効にすることができます。
UpdateShardCount ストリームあたり プロビジョニングされたもののみに適用されます。シャード数のデフォルト上限は 10,000 です。この API には追加の制限があります。詳細については、「UpdateShardCount」を参照してください。
UpdateStreamMode ストリームあたり

AWS アカウントのデータストリームごとに、オンデマンド容量モードとプロビジョンド容量モードを 24 時間で 2 回切り替えることができます。

KDS データプレーンの API の制限

次のセクションでは、KDS データプレーン API の制限について説明します。KDS データプレーン API を使用すると、データストリームを使用してデータレコードをリアルタイムで収集および処理できます。これらの制限は、データストリーム内のシャードごとに適用されます。

データプレーンの API の制限
API API コールの制限 ペイロードの制限 その他の詳細
GetRecords 5 TPS 呼び出しごとに返されるレコードの最大数は 10,000 です。GetRecords が返すことができるデータの最大サイズは、10 MB です。 コールがこの量のデータを返す場合、次の 5 秒以内に行われる後続のコールは ProvisionedThroughputExceededException をスローします。ストリームでプロビジョニングされたスループットが不十分である場合、次の 1 秒以内に行われる後続のコールは ProvisionedThroughputExceededException をスローします。
GetShardIterator 5 TPS シャードイテレーターはリクエスタに返されてから 5 分後に有効期限が切れます。GetShardIterator リクエストがあまりに頻繁に行われた場合、ProvisionedThroughputExceededException が発生します。
PutRecord 1,000 TPS 各シャードは、1 秒あたり 1,000 レコードまでの書き込みをサポートし、1 秒あたり 1 MB の最大データ書き込みをサポートします。
PutRecords 各 PutRecords リクエストは、最大 500 レコードをサポートできます。リクエストに含まれる各レコードは 1 MB、リクエスト全体の上限はパーティションキーを含めて最大 5 MB。各シャードは、1 秒あたり 1,000 レコードまでの書き込みをサポートし、1 秒あたり 1 MB の最大データ書き込みをサポートします。
SubscribeToShard シャードごと、登録済みコンシューマーごとに 1 秒あたり SubscribeToShard を 1 回呼び出すことができます。 呼び出しが成功してから 5 秒以内に同じ ConsumerARN と ShardId で SubscribeToShard を再度呼び出すと、ResourceInUseException が発生します。

クォータの引き上げ

クォータが調整可能な場合は、Service Quotas を使用してクォータの引き上げを要求できます。一部のリクエストは自動的に解決され、その他のリクエストは AWS サポートに送信されます。AWS サポートに送信されたクォータ引き上げリクエストのステータスを追跡できます。サービスクォータを引き上げるリクエストは、優先サポートを受けません。緊急のリクエストがある場合は、AWS サポートにお問い合わせください。詳細については、What Is Service Quotas?を参照してください。

サービスクォータの引き上げをリクエストするには、Requesting a Quota Increaseで説明している手順に従います。