Amazon Kinesis Data Streams es un servicio de datos de streaming sin servidor completamente administrado que facilita elásticamente la captura y el almacenamiento de los registros, los eventos, las secuencias de clics y otras formas de datos de streaming en tiempo real. Kinesis Data Streams aplica un método de pago por uso muy sencillo. No hay costos iniciales o mínimos y solo paga los recursos que usa. Kinesis Data Streams dispone de dos modos de capacidad, bajo demanda y aprovisionado, que cuentan con opciones de facturación específicas. Haga clic en las siguientes pestañas para obtener más información sobre estas opciones.
-
Modo bajo demanda
-
Modo aprovisionado
-
Modo bajo demanda
-
Con el modo de capacidad bajo demanda, usted paga por GB de datos escritos y leídos de sus flujos de datos. No se necesita especificar por adelantado el rendimiento de lectura y escritura que se espera de la aplicación. Kinesis Data Streams se adapta en forma instantánea a sus cargas de trabajo a medida que aumentan o disminuyen.
En el modo bajo demanda, el precio depende del volumen de datos que se capturan y recuperan junto con un cargo por hora para cada flujo de datos en su cuenta. Existen cargos adicionales en el caso de las características opcionales: retención de datos ampliada (luego de las primeras 24 horas y dentro de los primeros 7 días), retención de datos a largo plazo (luego de los 7 días y hasta 1 año) y distribución ramificada mejorada. También se le cobrará por cada flujo que opere en el modo de capacidad bajo demanda en su cuenta a una tarifa por hora.
El modo de capacidad bajo demanda puede ser el más adecuado si crea nuevos flujos de datos con cargas de trabajo desconocidas, tiene un tráfico de aplicaciones impredecible o prefiere no administrar la capacidad.
Términos clave
Datos de entrada: los datos capturados en Kinesis Data Streams se facturan por GB escritos en su flujo de datos. Esto se calcula como el número de registros de datos que envía al servicio, multiplicado por el tamaño de cada registro redondeado al 1 KB más cercano (1024 bytes). Por ejemplo, si cada uno de sus registros de datos tiene un tamaño de 4,5 KB, Kinesis Data Streams contará cada uno como 5 KB de datos capturados. Todos los datos capturados en Kinesis Data Streams se almacenan durante 24 horas de forma predeterminada y no hay cargos adicionales.
Datos de salida: los datos recuperados de Kinesis Data Streams se facturan por GB leídos de un flujo de datos. Esto se calcula multiplicando el número de registros recuperados por el tamaño de cada registro. No se aplica ningún factor de redondeo para este cálculo. Si cada uno de sus registros de datos tiene un tamaño de 4,5 KB, Kinesis Data Streams contará cada uno como 4,5 KB de datos salientes.
Por flujo: se le cobrará por cada flujo que opere en el modo de capacidad bajo demanda en su cuenta a una tarifa por hora.
Retención de datos ampliada: de forma predeterminada, Amazon Kinesis Data Streams almacena sus datos durante 24 horas. La retención de datos ampliada le da la opción de extender el almacenamiento hasta 7 días. Se le cobra una tarifa mensual de GB por los datos almacenados durante más de 24 horas, hasta 7 días.
Retención de datos a largo plazo: la retención de datos a largo plazo le da la opción de almacenar su flujo de datos hasta 365 días. Se le cobran tarifas de retención de datos ampliada durante los primeros 7 días y luego se le cobra una tarifa mensual de GB más baja por los datos almacenados más allá de los 7 días hasta el periodo de retención especificado.
Distribución ramificada mejorada: la distribución ramificada mejorada optimiza el paralelismo de lectura a través del suministro a cada consumidor de datos de su propio rendimiento de lectura por partición, hasta 2 MB/segundo. Cuando los consumidores usan la distribución ramificada mejorada, se aplican cargos adicionales por GB de datos recuperados.
Precios por región
Ejemplo de precios
Supongamos que envía 1000 registros de datos de streaming por segundo, cada registro de 3 KB de tamaño, a un flujo de datos de Amazon Kinesis Data Streams que opera en modo de capacidad bajo demanda en el este de EE. UU. Desea retener los datos durante un día y procesarlos con un solo consumidor. Los cargos mensuales se calculan de la siguiente manera:
Tamaño de registro de 3 KB, redondeado hacia arriba al 1 KB más cercano = 3 KB
Datos capturados (GB por segundo) = (1000 registros/s * 3 KB/registro) / 1 048 576 KB/GB = 0,00286 GB/s
Datos capturados (GB por mes) = 30 días/mes * 86 400 s/día * 0,00286 GB/s = 7413,12 GB/mes
Dado que tiene un consumidor:
Datos recuperados (GB por segundo) = 1 (consumidor) * (1000 registros/s * 3 KB/registro) / 1 048 576 KB/GB = 0,00286 GB/sDatos recuperados (GB por mes) = 30 días/mes * 86 400 s/día * 0,00286 GB/s = 7413,12 GB/mes
La retención de un día está incluida en los cargos por captura de datos.
El precio en el este de EE. UU. es de 0,08 USD por GB de datos capturados
Cargos mensuales por datos de entrada = 7413,12 GB * 0,08 USD/GB = 593,04 USD
El precio en el este de EE. UU. es de 0,040 USD por GB de datos recuperados
Cargos mensuales por datos de salida = 7413,12 GB * 0,040 USD/GB = 296,50 USD
Dado que el flujo se usa durante 30 días en el mes:
Cargos por flujo = 30 * 24 * 0,040 (tarifa) = 28,80 USDCargos mensuales totales= 593,04 USD + 296,50 USD + 28,80 USD = 918,34 USD
-
Modo aprovisionado
-
En el modo de capacidad aprovisionada, se especifica la cantidad de particiones necesarias para su aplicación en función de la tasa de solicitudes de escritura y lectura. Una partición es una unidad de capacidad que proporciona 1 MB/segundo de escritura y 2 MB/segundo de lectura en todo momento.
El modo de capacidad aprovisionada puede ser el más adecuado si tiene un tráfico de aplicaciones predecible, ejecuta aplicaciones cuyo tráfico es constante o aumenta gradualmente, o puede pronosticar los requisitos de capacidad para controlar los costos.
Términos clave
Partición de hora: la partición es la unidad base de rendimiento de un flujo de datos de Amazon Kinesis. Debe especificar el número de particiones que desea en su flujo conforme a sus requisitos de rendimiento. Se le cobrará cada partición de acuerdo con la tarifa por hora.
Una partición ofrece una capacidad de captura de 1 MB/segundo o 1000 registros/segundo.
Cuando los consumidores de datos usan la distribución ramificada mejorada, cada partición ofrece hasta 2 MB/segundo de salida de datos por cada consumidor que la utiliza.
Cuando los consumidores no usan la distribución ramificada mejorada, cada partición ofrece hasta 2 MB/segundo de salida de datos, independientemente del número de consumidores que esté procesando datos en paralelo a partir de una partición.
Unidad de carga PUT (25 KB): un registro son los datos que el generador de datos incluye en un flujo de datos de Amazon Kinesis. Una unidad de carga PUT se cuenta por “fragmentos” de la carga de 25 KB de tamaño que contiene un registro. Por ejemplo, un registro de 5 KB contiene 1 unidad de carga PUT, un registro de 45 KB contiene 2 unidades de carga PUT y un registro de 1 MB contiene 40 unidades de carga PUT. La unidad de carga PUT se cobra de acuerdo con una tarifa por millón de unidades de carga PUT.
Distribución ramificada mejorada: la distribución ramificada mejorada optimiza el paralelismo de lectura a través del suministro a cada consumidor de datos de su propio rendimiento de lectura por partición (hasta 2 MB/segundo). Cuando los consumidores usan la distribución ramificada mejorada, se aplican cargos por hora de partición de consumidor y por GB de datos recuperados.
Retención de datos ampliada: de forma predeterminada, Amazon Kinesis Data Streams almacena sus datos durante 24 horas. La retención de datos ampliada le da la opción de extender el almacenamiento hasta 7 días. Una vez que inicia la retención de datos ampliada, se le cobrará una tarifa adicional por cada hora de partición en que incurra su flujo de datos.
Retención de datos a largo plazo: la retención de datos a largo plazo le da la opción de almacenar su flujo de datos hasta 365 días. Se le cobran tarifas de retención de datos ampliada durante los primeros 7 días y luego se le cobra una tarifa mensual de GB de los datos almacenados más allá de los 7 días hasta el periodo de retención especificado.
Recuperación de datos de retención a largo plazo: se le cobrará una tarifa por GB por la recuperación de datos almacenados más allá de 7 días si está recuperando datos mediante la API GetRecords. No se le cobrará por la recuperación de los datos almacenados durante las 24 horas predeterminadas o por la retención de datos ampliada hasta 7 días. No se le cobrará por la recuperación de datos a largo plazo si se utiliza un consumidor de distribución ramificada mejorada (API SubscribeToShard).
Precios por región
Ejemplo de precios
Supongamos que sus generadores de datos administran 100 registros por segundo en total y que cada registro es de 35 KB. En ese caso, la velocidad total de entrada de datos es de 3,4 MB/segundo (100 registros/segundo * 35 KB/registro, dividido por 1024 = 3,4 MB/segundo). Para simplificar, supongamos que el rendimiento y el tamaño de los datos de cada registro son estables y constantes a lo largo del día. Tenga en cuenta que podemos ajustar el rendimiento del flujo de Amazon Kinesis de forma dinámica en cualquier momento.
Primero calculamos el número de particiones necesarias para que su flujo alcance el rendimiento adecuado. Dado que una partición proporciona una capacidad de entrada de datos de 1 MB/s y es capaz de admitir 1000 registros/s, cuatro particiones proporcionan una capacidad de entrada de datos de 4 MB/s y son capaces de admitir 4000 registros/s. Por lo tanto, un flujo con cuatro particiones satisfará nuestra necesidad de rendimiento de 3,4 MB/s con 100 registros/s.
A continuación, calculamos los costos mensuales de Kinesis Data Streams mediante el sistema de precios para la región este de EE. UU.:
Hora de partición: una partición cuesta 0,015 USD por hora o 0,36 USD por día (0,015 USD * 24). Nuestro flujo posee cuatro particiones, de modo que cuesta 1,44 USD por día (0,36 USD * 4). En el caso de un mes de 31 días, el costo mensual por hora de partición será de 44,64 USD (1,44 USD * 31).
Unidad de carga PUT (25 KB): como nuestros registros son de 35 KB, cada registro contiene 2 unidades de carga PUT. Los generadores de datos incluyen 100 registros o 200 unidades de carga PUT por segundo en total. Eso equivale a 267 840 000 registros o 535 680 000 unidades de carga PUT al mes. Como 1 millón de unidades de carga PUT cuesta 0,014 USD, el costo mensual de las unidades de carga PUT es de 7499 USD (0,014 USD * 535,68).
De forma opcional, puede elegir aumentar el periodo de retención de datos del flujo de 24 horas hasta 7 días. En este ejemplo, suponemos que el flujo de datos tiene habilitada la retención de datos ampliada para todo el mes. Como alternativa, puede elegir la retención de datos ampliada solo en los momentos en los que sea fundamental evitar la pérdida de datos, lo que le ahorra costos en la retención ampliada.
Retención de datos ampliada (hasta 7 días): la retención de datos ampliada tiene un costo adicional de 0,020 USD por hora de partición. Como nuestro flujo incurre en 2976 horas de partición por mes (4 particiones * 24 horas/día * 31 días/mes), el costo de la retención de datos ampliada es de 59,52 USD (0,020 * 2976)
Al sumar los costos por hora de partición y unidad de carga PUT, los costos totales de Amazon Kinesis Data Streams equivalen a 1,68 USD por día o 52,14 USD por mes. Por 1,68 USD al día, dispone de una infraestructura de datos de streaming completamente administrada que nos permite capturar de forma continua 4 MB de datos por segundo, o 337 GB de datos al día, de manera confiable y elástica. Además, puede ampliar el periodo de retención de 24 horas hasta 7 días por un costo adicional de 59,52 USD por mes.
También puede retener los datos de forma opcional durante más de 7 días y utilizar la distribución ramificada mejorada.
Retención de datos a largo plazo (datos de más de 7 días): supongamos que quiere retener su flujo de datos durante 30 días. Se aplicará un precio de hora por partición de retención de datos ampliada de 24 horas hasta 7 días (consulte más arriba los cálculos) y un precio de retención de datos a largo plazo de más de 7 días a 30 días (un periodo de 23 días). Para un precio de retención a largo plazo de 23 días, cuesta un adicional de 0,023 USD/GB por mes para el almacenamiento y 0,021 USD por GB para las recuperaciones de datos si utiliza el consumidor predeterminado (API GetRecords). Según la velocidad de entrada de datos de 3,4 MB/segundo, acumulará 3,4 (velocidad de entrada) *1024 * 1024 * 3600 = 12 902 400 000 bytes en una hora.
Al final del mes, tendría el siguiente uso:
3 565 158 * 23 días * 24 horas/día = 7 122 124 800 000 bytes por hora
Convirtamos eso en GB por mes:
7 122 124 800 000 bytes por hora/1 073 741 824 bytes por GB = 6633 GB por mesAsí que el total de los costos de almacenamiento para la retención de 23 días es = 6633* 0,023 USD = 152,56 USD por mes.
Recuperación de datos a largo plazo (datos de más de 7 días): si recupera todos los datos a largo plazo utilizando un solo consumidor que utiliza la API GetRecords para obtener registros, incurrirá en gastos de recuperación solo para los datos almacenados más allá de los primeros 7 días. Dado que está recuperando 6623 GB de datos, se le cobrará 6623 * 0,021 USD = 139,08 USD al final del mes. Con los datos a largo plazo que se recuperan mediante consumidores de distribución ramificada mejorada, se incurre en tarifas de recuperación de datos de la distribución ramificada mejorada, como se describe a continuación.
Horas de partición de consumidor de distribución ramificada mejorada: la distribución ramificada mejorada cuesta 0,015 USD adicionales por partición y este costo se añade por consumidor de datos. Como su flujo incurre en 2976 horas de partición al mes (4 particiones * 24 horas/día * 31 días/mes), cada consumidor que use la distribución ramificada mejorada durante todo este periodo incurrirá en un costo de 44,64 USD (2976 * 0,015 USD). Dos consumidores durante el mismo periodo de tiempo generarían un costo de 89,28 USD.
Recuperaciones de datos con distribución ramificada mejorada: los datos recuperados a partir de un flujo por parte de un consumidor que usa la distribución ramificada mejorada tienen un costo de 0,013 USD por GB. Si, durante un mes, un flujo de 2 particiones capturó 50 000 MB de datos y 2 consumidores de datos usaron la distribución ramificada mejorada y recuperaron todos estos datos durante el mes, el total de datos recuperados sería de 100 000 MB (50 000 MB * 2 consumidores de datos) o de 97,6 GB. Dado que cada GB cuesta 0,013 USD, el costo total de distribución ramificada mejorada es de 1,26 USD (97,6 * 0,013 USD).
* Obtener registros de un flujo de datos de Amazon Kinesis es gratis cuando los datos se almacenan durante las 24 horas predeterminadas o hasta 7 días para la retención de datos extendida. Se le cobra una tarifa por GB por la recuperación de datos almacenados para su conservación a largo plazo más allá de 7 días hasta el límite de 365 días.
* Si elige usar la distribución ramificada mejorada, se aplican cargos por hora de partición de consumidor y por GB de datos recuperados.
* AWS no cobra por la transferencia de datos de sus productores de datos a Amazon Kinesis Data Streams, ni de Amazon Kinesis Data Streams a sus aplicaciones de consumo si todos los recursos están en la misma región.
* AWS no cobra por la transferencia de datos si sus productores de datos escriben en un flujo de datos de Kinesis Data Stream en una región diferente. Sin embargo, en el modo bajo demanda, incurrirá en cargos adicionales si sus aplicaciones de consumo leen datos de un flujo de datos en una región de AWS diferente. Se facturará según los cargos por transferencia de datos de AWS estándares.
* Tenga en cuenta que Amazon Kinesis Data Streams NO se encuentra disponible actualmente en el nivel gratuito de AWS. La capa gratuita de AWS es un programa que ofrece pruebas gratuitas para un grupo de servicios de AWS. Para obtener más detalles sobre el nivel gratuito de AWS, consulte Nivel gratuito de AWS.
Acuerdo de nivel de servicios
Para obtener más información sobre el acuerdo de nivel de servicios de Amazon Kinesis Data Streams, consulte las preguntas frecuentes.
Descubra más recursos de Amazon Kinesis Data Streams