할당량 및 제한
다음 표에서는 Amazon Kinesis Data Streams에 대한 스트림 및 샤드 할당량 및 제한을 설명합니다.
할당량 | 온디맨드 모드 | 프로비저닝된 모드 |
---|---|---|
데이터 스트림 수 |
AWS 계정 내의 스트림 수는 상한 할당량이 없습니다. 기본적으로 온디맨드 용량 모드를 사용하면 최대 50개의 데이터 스트림을 생성할 수 있습니다. 이 할당량을 늘려야 하는 경우 지원 티켓 |
계정 내 프로비저닝된 모드의 스트림 수에는 상한 할당량이 없습니다. |
샤드 수 |
상한이 없습니다. 샤드 수는 모은 데이터의 양과 필요한 처리량 수준에 따라 다릅니다. Kinesis Data Streams는 데이터 볼륨 및 트래픽의 변화에 따라 샤드 수를 자동으로 조정합니다. |
상한이 없습니다. 기본 샤드 할당량은 미국 동부(버지니아 북부), 미국 서부(오레곤) 및 유럽(아일랜드) AWS 리전의 AWS 계정당 샤드 500개입니다. 다른 모든 리전의 AWS 계정당 기본 샤드 할당량은 200개입니다. 데이터 스트림당 샤드 할당량 증가를 요청하려면 할당량 증가 요청을 참조하세요. |
데이터 스트림 처리량 |
기본적으로 온디맨드 용량 모드로 생성된 새 데이터 스트림의 쓰기 처리량은 4MB/s이고 읽기 처리량은 8MB/s입니다. 트래픽이 증가함에 따라 온디맨드 용량 모드의 데이터 스트림은 최대 200MB/s의 쓰기 및 400MB/s의 읽기 처리량으로 스케일 업됩니다. 쓰기 용량 2GB/s 및 읽기 용량 4GB/s로 늘려야 하는 경우 지원 티켓 |
상한이 없습니다. 최대 처리량은 스트림에 대해 프로비저닝된 샤드 수에 따라 달라집니다. 각 샤드는 최대 1MB/s 또는 1,000레코드/초의 쓰기 처리량 또는 최대 2MB/s 또는 2,000레코드/초 읽기의 처리량을 지원할 수 있습니다. 추가 수집 용량이 필요한 경우 AWS Management Console 또는 UpdateShardCount API를 사용하여 스트림의 샤드 수를 쉽게 확장할 수 있습니다. |
데이터 페이로드 크기 |
|
|
|
GetRecords는 단일 샤드에서 호출당 최대 10MB의 데이터와 호출당 최대 10,000개의 레코드를 검색할 수 있습니다. 모든 |
|
샤드당 데이터 읽기 속도 |
각 샤드는 GetRecords를 통해 초당 2MB의 최대 총 데이터 읽기 속도를 지원합니다. |
|
데이터 스트림당 등록된 소비자 수 |
각 데이터 스트림에 대해 최대 20개의 등록된 소비자(향상된 팬아웃 제한)를 생성할 수 있습니다. |
|
프로비저닝된 모드와 온디맨드 모드 간 전환 |
AWS 계정의 각 데이터 스트림에 대해 24시간 내에 두 번 온디맨드 용량 모드와 프로비저닝된 용량 모드 사이를 전환할 수 있습니다. |
API 제한
대부분의 AWS API와 같이 Kinesis Data Streams API 작업은 속도가 제한됩니다. 리전별로 AWS 계정당 다음 제한이 적용됩니다. Kinesis Data Streams API에 대한 자세한 내용은 Amazon Kinesis API 참조를 확인하세요.
KDS 제어 플레인 API 제한
다음 단원에서는 KDS 제어 플레인 API에 대한 제한을 설명합니다. KDS 제어 플레인 API를 사용하면 데이터 스트림을 생성하고 관리할 수 있습니다. 이러한 제한은 리전별로 AWS 계정당 적용됩니다.
API | API 호출 제한 | 계정/스트림당 | 설명 |
---|---|---|---|
AddTagsToStream | 5건의 초당 트랜잭션(TPS) | 계정별 | 데이터 스트림당 태그 50개 |
CreateStream | 5TPS | 계정별 | 한 계정에서 사용할 수 있는 스트림 수는 상한 할당량이 없습니다. 다음 중 하나를 수행하려고 할 때
|
DecreaseStreamRetentionPeriod | 5TPS | 스트림당 | 데이터 스트림 보존 기간의 최소값은 24시간입니다. |
DeleteResourcePolicy | 5TPS | 계정별 | 이 한도를 늘려야 하는 경우 지원 티켓 |
DeleteStream | 5TPS | 계정별 | |
DeregisterStreamConsumer | 5TPS | 스트림당 | |
DescribeLimits | 1TPS | 계정별 | |
DescribeStream | 10TPS | 계정별 | |
DescribeStreamConsumer | 20TPS | 스트림당 | |
DescribeStreamSummary | 20TPS | 계정별 | |
DisableEnhancedMonitoring | 5TPS | 스트림당 | |
EnableEnhancedMonitoring | 5TPS | 스트림당 | |
GetResourcePolicy | 5TPS | 계정별 | 이 한도를 늘려야 하는 경우 지원 티켓 |
IncreaseStreamRetentionPeriod | 5TPS | 스트림당 | 스트림 보존 기간의 최대값은 8,760시간(365일)입니다. |
ListShards | 1000TPS | 스트림당 | |
ListStreamConsumers | 5TPS | 스트림당 | |
ListStreams | 5TPS | 계정별 | |
ListTagsForStream | 5TPS | 스트림당 | |
MergeShards | 5TPS | 스트림당 | 프로비저닝됨에만 적용됩니다. |
PutResourcePolicy | 5TPS | 계정별 | 이 한도를 늘려야 하는 경우 지원 티켓 |
RegisterStreamConsumer | 5TPS | 스트림당 | 데이터 스트림당 최대 20명의 소비자를 등록할 수 있습니다. 해당 소비자는 한 번에 하나의 데이터 스트림에 등록될 수 있습니다. 동시에 5명의 소비자를 생성할 수 있습니다. 즉, 동시에 CREATING 상태의 소비자가 5명 이상 있을 수 없습니다. CREATING CREATING 상태의 소비자가 5개인데 6번째 소비자를 등록합니다. |
RemoveTagsFromStream | 5TPS | 스트림당 | |
SplitShard | 5TPS | 스트림당 | 프로비저닝됨에만 적용됩니다. |
StartStreamEncryption | 스트림당 | 24시간 동안 서버 측 암호화에 새로운 AWS KMS 키를 25회 성공적으로 적용할 수 있습니다. | |
StopStreamEncryption | 스트림당 | 24시간 동안 서버 쪽 암호화를 25회 성공적으로 비활성화할 수 있습니다. | |
UpdateShardCount | 스트림당 | 프로비저닝됨에만 적용됩니다. 샤드 수의 기본 제한은 1만 개입니다. 이 API에는 추가 제한이 있습니다. 자세한 내용은 UUpdateShardCount를 참조하세요. | |
UpdateStreamMode | 스트림당 |
AWS 계정의 각 데이터 스트림에 대해 24시간 내에 두 번 온디맨드 용량 모드와 프로비저닝된 용량 모드 사이를 전환할 수 있습니다. |
KDS 데이터 플레인 API 제한
다음 단원에서는 KDS 데이터 플레인 API에 대한 제한에 대해 설명합니다. KDS 데이터 플레인 API를 사용하면 데이터 스트림을 사용하여 데이터 레코드를 실시간으로 수집하고 처리할 수 있습니다. 이러한 제한은 데이터 스트림 내의 샤드당 적용됩니다.
API | API 호출 제한 | 페이로드 제한 | 추가 세부 정보 |
---|---|---|---|
GetRecords | 5TPS | 호출당 반환할 수 있는 최대 레코드 수는 10,000개입니다. GetRecords 가 반환할 수 있는 최대 데이터 크기는 10MB입니다. |
호출이 이 양의 데이터가 반환하면, 다음 5초 안에 이루어지는 호출에서 ProvisionedThroughputExceededException 이 발생합니다. 스트림에 프로비저닝된 처리량이 충분하지 않으면, 다음 1초 안에 이루어지는 호출에서 ProvisionedThroughputExceededException 이 발생합니다. |
GetShardIterator | 5TPS | 샤드 반복자는 요청자에게 반환되고 5분 후에 만료됩니다. GetShardIterator를 너무 자주 요청하면 ProvisionedThroughputExceededException이 발생합니다. | |
PutRecord | 1000TPS | 각 샤드는 초당 최대 1,000개의 레코드 쓰기를 지원할 수 있으며 최대 데이터 쓰기 총계는 초당 1MB입니다. | |
PutRecords | 각 PutRecords 요청은 최대 500개의 레코드를 지원할 수 있습니다. 요청에 포함되는 각 레코드 크기의 상한은 1MB이며, 파티션 키를 포함해 전체 요청당 최대 5MB로 제한됩니다. 각 샤드는 초당 최대 1,000개의 레코드 쓰기를 지원할 수 있으며 최대 데이터 쓰기 총계는 초당 1MB입니다. | ||
SubscribeToShard | 샤드별로 등록된 소비자당 SubscribeToShard를 초당 한 번 호출할 수 있습니다. | 호출이 성공한 후 5초 이내에 동일한 ConsumerARN 및 ShardId를 사용하여 SubscribeToShard를 다시 호출하면 ResourceInUseException이 발생합니다. |
할당량 증가
할당량을 조정할 수 있는 경우 Service Quotas를 사용하여 할당량 증가를 요청할 수 있습니다. 일부 요청은 자동으로 해결되고, 일부는 AWS Support에 제출됩니다. AWS Support에 제출된 할당량 증가 요청의 상태를 추적할 수 있습니다. Service Quotas 증가 요청은 우선 순위 지원을 받지 못합니다. 긴급한 요청이 있는 경우 AWS Support에 문의하세요. 자세한 내용은 What Is Service Quotas?를 참조하십시오.
서비스 할당량 증가를 요청하려면 할당량 증가 요청에 설명된 절차를 따르십시오.