Cuotas y límites - Amazon Kinesis Data Streams

Cuotas y límites

En la siguiente tabla se describen las cuotas y límites de particiones y flujos para Amazon Kinesis Data Streams.

Cuota Modo bajo demanda Modo aprovisionado

Número de flujos de datos

No existe una cuota máxima en el número de flujos de la cuenta de AWS. De forma predeterminada, puede crear hasta 50 flujos de datos con el modo de capacidad bajo demanda. Si necesita aumentar esta cuota, envíe un ticket de soporte.

No hay una cuota máxima en el número de flujos con el modo aprovisionado en una cuenta.

Número de fragmentos

No hay límite superior. La cantidad de particiones depende de la cantidad de datos ingeridos y del nivel de rendimiento que necesite. Kinesis Data Streams escala automáticamente el número de particiones en respuesta a los cambios en el volumen y el tráfico de datos.

No hay límite superior. El límite predeterminado es de 500 particiones por cuenta de AWS en las siguientes regiones de AWS: Este de EE. UU. (Norte de Virginia), Oeste de EE. UU. (Oregón) y Europa (Irlanda). Para las demás regiones, la cuota de particiones predeterminada es de 200 particiones por cuenta de AWS. Para solicitar un aumento de la cuota de particiones por flujo de datos, consulte Requesting a Quota Increase.

Rendimiento del flujo de datos

De forma predeterminada, los nuevos flujos de datos creados con el modo de capacidad bajo demanda tienen 4 MB/s de rendimiento de escritura y 8 MB/s de lectura. A medida que aumenta el tráfico, los flujos de datos con el modo de capacidad bajo demanda se escalan verticalmente hasta 200 MB/s de rendimiento de escritura y 400 MB/s de rendimiento de lectura. Si necesita aumentar la capacidad de escritura a 2 Gb/s y la capacidad de lectura a 4 Gb/s, envíe un ticket de soporte.

No hay límite superior. El rendimiento máximo depende de la cantidad de particiones aprovisionadas para el flujo. Cada partición puede admitir un rendimiento de escritura de hasta 1 MB/s o 1000 registros/s o un rendimiento de lectura de hasta 2 MB/s o 2000 registros/s. Si necesita más capacidad de adquisición, puede ampliar fácilmente el número de fragmentos de la secuencia mediante la AWS Management Console o la API UpdateShardCount.

Volumen de la carga de datos

El volumen máximo de carga de datos de un registro antes de base64-encoding es de 1 MB.

Volumen de transacción de GetRecords

GetRecords puede recuperar hasta 10 MB de datos por llamada desde un único fragmento y hasta 10 000 registros por llamada. Cada llamada a GetRecords se contabiliza como una transacción de lectura. Cada fragmento puede admitir hasta cinco transacciones de lectura por segundo. Cada transacción de lectura puede proporcionar hasta 10 000 registros con una cuota superior de 10 MB por transacción.

Velocidad de lectura de datos por partición

Cada fragmento puede admitir como máximo una velocidad de lectura de datos total de 2 MB por segundo a través de GetRecords. Si una llamada a GetRecords devuelve 10 MB, las llamadas posteriores que se realicen en los siguientes 5 segundos generarán una excepción.

Número de consumidores registrados por flujo de datos

Puede crear hasta 20 consumidores registrados (límite de distribución mejorado) para cada flujo de datos.

Cambiar entre los modos aprovisionado y bajo demanda

Todos los flujos de datos de su cuenta de AWS permiten que se cambie entre el modo de capacidad bajo demanda y el modo de capacidad aprovisionado dos veces en un plazo de 24 horas. 

Límites de API

Al igual que la mayoría de las API de AWS, las operaciones de la API de Kinesis Data Streams tienen límites de velocidad. Los siguientes límites se aplican por cuenta y región de AWS. Para obtener más información sobre las API de Kinesis Data Streams, consulte la Referencia de la API de Amazon Kinesis.

Límites de las API del plano de control de KDS

En la siguiente sección se describen los límites de las API del plano de control de KDS. Las API del plano de control de KDS le permiten crear y administrar sus secuencias de datos. Estos límites se aplican por cuenta y región de AWS.

Límites de las API del plano de control
API Límite de llamadas a la API Por cuenta/flujo  Descripción
AddTagsToStream 5 transacciones por segundo (TPS) Por cuenta 50 etiquetas por flujo de datos
CreateStream 5 TPS Por cuenta

No existe una cuota máxima en el número de secuencias que se pueden tener en una cuenta. Obtendrá una LimitExceededException al realizar una solicitud CreateStream cuando intente realizar una de las siguientes acciones:

  • Tener más de cinco secuencias en el estado CREATING en un momento dado.

  • Crear más particiones de los autorizados para su cuenta.

DecreaseStreamRetentionPeriod 5 TPS Por flujo El valor mínimo del período de retención de una secuencia de datos es de 24 horas.
DeleteResourcePolicy 5 TPS Por cuenta Si necesita aumentar este límite, envíe un ticket de soporte.
DeleteStream 5 TPS Por cuenta
DeregisterStreamConsumer 5 TPS Por flujo
DescribeLimits 1 TPS Por cuenta
DescribeStream 10 TPS Por cuenta
DescribeStreamConsumer 20 TPS Por flujo
DescribeStreamSummary 20 TPS Por cuenta
DisableEnhancedMonitoring 5 TPS Por flujo
EnableEnhancedMonitoring 5 TPS Por flujo
GetResourcePolicy 5 TPS Por cuenta Si necesita aumentar este límite, envíe un ticket de soporte.
IncreaseStreamRetentionPeriod 5 TPS Por flujo El valor máximo del periodo de retención de un flujo es de 8760 horas (365 días).
ListShards 1000 TPS Por flujo
ListStreamConsumers 5 TPS Por flujo
ListStreams 5 TPS Por cuenta
ListTagsForStream 5 TPS Por flujo
MergeShards 5 TPS Por flujo Solo se aplica a los aprovisionados.
PutResourcePolicy 5 TPS Por cuenta Si necesita aumentar este límite, envíe un ticket de soporte.
RegisterStreamConsumer 5 TPS Por flujo Puede registrar hasta 20 consumidores por secuencia de datos. Un consumidor determinado solo se puede registrar en una secuencia de datos a la vez. Solo se pueden crear cinco consumidores simultáneamente. En otras palabras, no puede tener más de 5 consumidores en un estado CREATING al mismo tiempo. Registro de un sexto consumidor mientras haya 5 en un estado CREATING
RemoveTagsFromStream 5 TPS Por flujo
SplitShard 5 TPS Por flujo Solo aplicable a los aprovisionados
StartStreamEncryption Por flujo Puede aplicar una nueva clave de AWS KMS para el cifrado del servidor 25 veces en un periodo de 24 horas.
StopStreamEncryption Por flujo Puede deshabilitar correctamente el cifrado del lado del servidor 25 veces en un período de 24 horas sucesivas.
UpdateShardCount Por flujo Solo se aplica a los aprovisionados. El límite predeterminado de número de particiones es de 10 000. Hay límites adicionales en esta API. Para obtener más información, consulte UpdateShardCount.
UpdateStreamMode Por flujo

Todos los flujos de datos de su cuenta de AWS permiten que se cambie entre el modo de capacidad bajo demanda y el modo de capacidad aprovisionado dos veces en un plazo de 24 horas.

Límites de las API del plano de datos de KDS

En la siguiente sección se describen los límites de las API del plano de datos de KDS. Las API del plano de datos de KDS le permiten utilizar sus secuencias de datos para recopilar y procesar registros de datos en tiempo real. Estos límites se aplican por partición en sus secuencias de datos.

Límites de las API del plano de datos
API Límite de llamadas a la API Límite de carga Detalles adicionales
GetRecords 5 TPS El número máximo de registros que se pueden devolver por llamada es de 10 000. El volumen máximo de datos que GetRecords puede devolver es de 10 MB. Si una llamada devuelve esta cantidad de datos, las llamadas posteriores realizadas en los siguientes cinco segundos generan ProvisionedThroughputExceededException. Si no hay suficiente rendimiento aprovisionado en el flujo, las llamadas posteriores realizadas en el siguiente segundo generan ProvisionedThroughputExceededException.
GetShardIterator 5 TPS Un iterador de particiones caduca cinco minutos después de devolverse al solicitante. Si una solicitud GetShardIterator se realiza con demasiada frecuencia, recibirá ProvisionedThroughputExceededException.
PutRecord 1000 TPS Cada partición puede admitir escrituras de hasta 1000 registros por segundo, hasta un total máximo de escritura de datos de 1 MB por segundo.
PutRecords Cada solicitud PutRecords puede admitir hasta 500 registros. Cada registro puede ser tan grande como 1 MB, hasta un límite de 5 MB para toda la solicitud, incluidas las claves de partición. Cada partición puede admitir escrituras de hasta 1000 registros por segundo, hasta un total máximo de escritura de datos de 1 MB por segundo.
SubscribeToShard Puede hacer una llamada a SubscribeToShard por segundo por consumidor registrado por partición. Si vuelve a llamar a SubscribeToShard con el mismo ConsumerARN y ShardId en los cinco segundos posteriores a una llamada correcta, obtendrá ResourceInUseException.

Aumento de las cuotas

Puede utilizar Service Quotas para solicitar un aumento de una cuota, si esta es ajustable. Algunas solicitudes se resuelven automáticamente, mientras que otras se envían a AWS Support. Puede hacer un seguimiento del estado de una solicitud de aumento de cuota que se haya enviado a AWS Support. Las solicitudes para aumentar Service Quotas no reciben soporte prioritario. Si tiene una solicitud urgente, póngase en contacto con AWS Support. Para obtener más información, consulte ¿Qué es Service Quotas?

Para solicitar un aumento de la cuota de servicio, siga el procedimiento descrito en Solicitar un aumento de cuota.