クォータと制限
次の表では、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 を使用して、ストリーム内のシャードカウントを簡単にスケールアップできます。 |
データペイロードのサイズ |
|
|
|
GetRecords では、1 つのシャードから最大 10 MB のデータを取得でき、呼び出しごとに最大 10,000 レコードを取得できます。 |
|
シャードあたりのデータ読み取りレート |
各シャードは、GetRecords を介して最大 2 MB/秒の合計データ読み取りレートをサポートします。 |
|
登録されたコンシューマーのデータストリームあたりの数 |
登録されたコンシューマーは、データストリームごとに最大 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 コールの制限 | アカウントあたり/ストリームあたり | 説明 |
---|---|---|---|
AddTagsToStream | 1 秒あたり 5 件のトランザクション (TPS) | アカウントあたり | データストリームあたり 50 個のタグ |
CreateStream | 5 TPS | アカウントあたり | アカウントに存在できるストリームの数にクォータ上限はありません。
|
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 コールの制限 | ペイロードの制限 | その他の詳細 |
---|---|---|---|
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で説明している手順に従います。