Amazon Kinesis Data Streams

Por que usar o Kinesis Data Streams?

O Amazon Kinesis Data Streams é um serviço de transmissão de dados totalmente gerenciado e sem servidor que torna fácil a ingestão e o armazenamento de forma elástica de logs, eventos, sequências de cliques e outros tipos de dados de transmissão em tempo real. O Kinesis Data Streams usa uma definição de preços simplificada com pagamento conforme o uso. O Kinesis Data Streams possui três modos — On-demand Standard, On-demand Advantage e provisionado — e todos os modos oferecem opções específicas de cobrança. Clique nas guia a seguir para saber mais sobre essas opções

Calculadora de preços da AWS

Calcule o custo do seu Amazon Kinesis Data Streams e da arquitetura em uma única estimativa.

Crie sua estimativa personalizada agora mesmo

  • On-demand Standard
  • Com o On-demand Standard, você paga por GB de dados gravados e lidos em seus fluxos de dados. Não é necessário especificar a taxa de transferência de leitura e gravação que você espera que a aplicação tenha. O Kinesis Data Streams ajusta instantaneamente o crescimento e a redução das suas workloads.

    No modo sob demanda, o preço se baseia no volume de dados ingeridos e recuperados, juntamente com uma cobrança por hora para cada fluxo de dados na conta. Há cobranças adicionais por recursos opcionais: retenção de dados prolongada (mais que as 24 horas iniciais e dentro dos primeiros 7 dias), retenção de dados de longo prazo (mais que 7 dias e até 1 ano) e distribuição aprimorada. Você também será cobrado por cada transmissão em execução no modo Pôr-demanda Padrão da sua conta, a uma tarifa por hora.

    O modo Padrão sob demanda pode ser a melhor opção se você criar novos fluxos de dados com workloads desconhecidas, tiver tráfego de aplicações imprevisível ou preferir não gerenciar a capacidade.

    Principais termos

    Dados de entrada: os dados ingeridos no Kinesis Data Streams são cobrados por GB gravado no seu fluxo de dados. Esse valor é calculado como o número de registros de dados que você envia ao serviço multiplicado pelo tamanho de cada registro e arredondado para o KB mais próximo (1.024 bytes). Por exemplo, se seus registros de dados tiverem 4,5 KB cada, o Kinesis Data Streams contará cada registro como 5 KB de dados ingeridos. Todos os dados ingeridos pelo Kinesis Data Streams são armazenados por 24 por padrão e sem cobranças adicionais.

    Dados de saída: os dados recuperados do Kinesis Data Streams são cobrados por GB lido no fluxo de dados. Esse valor é calculado como o número de registros de dados recuperados multiplicado pelo tamanho de cada registro. Nenhum arredondamento é aplicado a esse cálculo. Se seus registros de dados tiverem 4,5 KB cada, o Kinesis Data Streams contará cada registro como 4.5 KB de dados de saída.

    Por fluxo: É cobrada uma taxa por hora por cada transmissão em funcionamento no modo On-demand Standard da sua conta.

    Retenção de dados prolongada: o Kinesis Data Streams armazena seus dados por 24 horas como padrão. A retenção de dados prolongada oferece a opção de estender o armazenamento por até 7 dias. É cobrada uma taxa de GB-mês para dados armazenados por mais de 24 horas e até 7 dias.

    Retenção de dados de longo prazo: a retenção de dados de longo prazo oferece a opção de armazenar seu fluxo de dados por até 365 dias. São cobradas taxas de retenção de dados prolongada para os primeiros 7 dias e, em seguida, uma taxa menor de GB/mês para dados armazenados por mais de 7 dias até o período de retenção especificado.

    Distribuição aprimorada: a distribuição aprimorada aumenta o paralelismo de leitura oferecendo a cada consumidor de dados a própria taxa de transferência de leitura por fragmento, até 2 MB/s. Quando usam a distribuição aprimorada, os consumidores incorrem em cobranças adicionais por GB de dados recuperados.

    Definição de preço por região

    Exemplo de preço

    Suponhamos que você envie 1.000 registros de dados de streaming por segundo, cada um com 3 KB, para um Amazon Kinesis Data Stream operando no modo On-demand Standard na região US-East. Você quer reter os dados por um dia e processá-los como um único consumidor. Suas cobranças mensais são calculadas da seguinte forma:

    Tamanho do registro de 3 KB, arredondado para o 1 KB mais próximo = 3 KB

    Dados ingeridos (GB por segundo) = (1.000 registros/segundo * 3 KB/registro) / 1.048.576 KB/GB = 0,00286 GB/segundo

    Dados ingeridos (GB por mês) = 30 dias/mês * 86.400 segundos/dia * 0,00286 GB/segundo = 7.413,12 GB/mês

    Como você só tem um consumidor:
    Dados recuperados (GB por segundo) = 1 (consumidor) * (1.000 registros/segundo * 3 KB/registro) / 1.048.576 KB/GB = 0,00286 GB/segundo

    Dados recuperados (GB por mês) = 30 dias/mês * 86.400 segundos/dia * 0,00286 GB/segundo = 7.413,12 GB/mês

    A retenção de um dia está incluída nas cobranças de dados ingeridos.

    O preço na região Leste dos EUA é de USD 0,08 por GB de dados ingeridos

    Cobranças mensais de entrada de dados = 7.413,12 GB * USD 0,08 por GB = USD 593,04

    O preço na região Leste dos EUA é de USD 0,040 por GB de recuperações de dados

    Cobranças mensais de saída de dados = 7.413,12 GB * USD 0,040 por GB = USD 296,50

    Como o fluxo se destina ao uso 30 dias no mês:
    Cobranças por fluxo = 30 * 24 * 0,040 (taxa) = USD 28,80

    Cobranças mensais totais = USD 593,04 + USD 296,50 + USD 28,80 = USD 918,34

  • On-demand Advantage
  • Com o On-demand Advantage, você paga por GB de dados gravados e lidos em seus fluxos de dados. Não é necessário especificar a taxa de transferência de leitura e gravação que você espera que a aplicação tenha. O Kinesis Data Streams ajusta instantaneamente o crescimento e a redução das suas workloads. Você pode definir a capacidade de processamento dinâmica para dimensionar instantaneamente um fluxo até o pico esperado, sem custo adicional.

    A cobrança é baseada no volume de dados recebidos e recuperados, e há uma cobrança mínima de 25 MB/s de dados recebidos e 25 MB/s de dados recuperados por conta, considerando todos os fluxos sob demanda. Não há uma tarifa fixa por hora de transmissão. Há uma taxa adicional para a funcionalidade opcional de retenção prolongada (além das primeiras 24 horas e até um ano). Não há cobrança adicional pelo uso do Enhanced Fan-Out.

    O On-demand Advantage pode ser a melhor opção se você tiver, no mínimo, 10 MB/s de ingestão de dados no total, distribuir dados para mais de dois consumidores, utilizar mais de 50 fluxos em uma conta ou desejar a capacidade de definir um nível de throughput em modo “warm” para fluxos sob demanda.  

    Principais termos

    Dados de entrada: os dados ingeridos no Kinesis Data Streams são cobrados por GB gravado no seu fluxo de dados. Esse valor é calculado como o número de registros de dados que você envia ao serviço multiplicado pelo tamanho de cada registro e arredondado para o KB mais próximo (1.024 bytes). Por exemplo, se seus registros de dados tiverem 4,5 KB cada, o Kinesis Data Streams contará cada registro como 5 KB de dados ingeridos. Todos os dados ingeridos pelo Kinesis Data Streams são armazenados por 24 por padrão e sem cobranças adicionais.

    Dados de saída: os dados recuperados do Kinesis Data Streams são cobrados por GB lido no fluxo de dados. Esse valor é calculado como o número de registros de dados recuperados multiplicado pelo tamanho de cada registro. Nenhum arredondamento é aplicado a esse cálculo. Se seus registros de dados tiverem 4,5 KB cada, o Kinesis Data Streams contará cada registro como 4.5 KB de dados de saída.

    Enhanced fan-out: O fan-out aprimorado aumenta a recuperação de dados por várias aplicações consumidoras, fornecendo a cada consumidor de dados sua própria taxa de transferência de leitura por fragmento, de até 2 MB/segundo. Quando os consumidores utilizam o serviço de transferência de dados aprimorado, pagam a tarifa de saída de dados por GB lido.

    Retenção de dados prolongada: o Kinesis Data Streams armazena seus dados por 24 horas como padrão. A retenção prolongada de dados oferece a opção de prolongar a armazenagem por até um ano. É cobrada uma taxa de GB por mês.  

    Definição de preço por região

    Exemplo de preço 1

    Suponhamos que você envie 3.000 registros de dados de streaming por segundo, cada um com 10 KB, para um Amazon Kinesis Data Stream operando no modo On-demand Advantage na região US-East. Você quer reter os dados por um dia e processá-los como um único consumidor. Suas cobranças mensais são calculadas da seguinte forma:

    Dados ingeridos (GB por segundo) = (3.000 registros/segundo * 10 KB/registro) / 1.048.576 KB/GB = 0,0286 GB/segundo

    Dados ingeridos (GB por mês) = 30 dias/mês * 86.400 segundos/dia * 0,0286 GB/segundo = 74.157,7 GB/mês

    Como você só tem um consumidor:
    Dados recuperados (GB por segundo) = 1 (consumidor) * (3.000 registros/segundo * 10 KB/registro) / 1.048.576 KB/GB = 0,0286 GB/segundo

    Dados recuperados (GB por mês) = 30 dias/mês * 86.400 segundos/dia * 0,0286 GB/segundo = 74.157,7 GB/mês

    A retenção de um dia está incluída nas cobranças de dados ingeridos.

    O preço na região Leste dos EUA é de USD 0,032 por GB de dados ingeridos
    Cobranças mensais de entrada de dados = 74.157,7 GB * USD 0,032 por GB = USD 2,373,05

    O preço na região Leste dos EUA é de USD 0,016 por GB de recuperações de dados
    Cobranças mensais de saída de dados = 74.157,7 GB * USD 0,016 por GB = USD 1,186,52

    Cobrança mensal total = USD 2.373,05 + USD 1.186,52 + USD 3.559,57

    Exemplo de preço 2

    Este exemplo ilustra a cobrança quando o throughput de dados de uma conta fica abaixo do requisito mínimo de uso para o modo On-demand Advantage (25 MB/s). Suponhamos que você envie 1.000 registros de dados de streaming por segundo, cada um com 10 KB, para um Amazon Kinesis Data Stream operando no modo On-demand Advantage na região US-East. Você quer reter os dados por um dia e processá-los como um único consumidor. Suas cobranças mensais são calculadas da seguinte forma:

    Dados ingeridos (GB por segundo) = (1.000 registros/segundo * 10 KB/registro) / 1.048.576 KB/GB = 0,00954 GB/segundo
    Como os dados importados não atingiram o compromisso mínimo de 25 MB/s (0,0244 GB/s), há uma cobrança por déficit de 0,0149 GB/s

    Dados recebidos (GB por mês) = 30 dias/mês * 86.400 s/dia * (0,00954 GB/s + 0,0149 GB/s) = 63.281,25 GB/mês

    Como você só tem um consumidor:
    Dados recuperados (GB por segundo) = 1 (consumidor) * (1.000 registros/segundo * 10 KB/registro) / 1.048.576 KB/GB = 0,00954 GB/segundo
    Como os dados recuperados não atingem o compromisso mínimo de 25 MB/s (0,0244 GB/s), há uma cobrança por déficit de 0,0149 GB/s
    Dados transferidos (GB por mês) = 30 dias/mês * 86.400 s/dia * (0,00954 GB/s + 0,0149 GB/s) = 63.281,25 GB/mês

    A retenção de um dia está incluída nas cobranças de dados ingeridos.

    O preço na região Leste dos EUA é de USD 0,032 por GB de dados ingeridos
    Cobranças mensais de entrada de dados = 63.281,25 GB * USD 0,032 por GB = USD 2,025,00

    O preço na região Leste dos EUA é de USD 0,016 por GB de recuperações de dados
    Cobranças mensais de saída de dados = 63.281,25 GB * USD 0,016 por GB = USD 1,012,50

    Cobrança mensal total = USD 2.025,00 + USD 1.012,50 + USD 3.037,50

* A AWS não cobrará pela transferência de dados dos produtores de dados para o Amazon Kinesis Data Streams, ou do Amazon Kinesis Data Streams para suas aplicações de consumo, se todos os recursos estiverem na mesma região.

* A AWS não cobrará pela transferência de dados se seus produtores de dados gravarem em um Kinesis Data Stream em outra região. No modo On-Demand, você incorrerá em custos adicionais se suas aplicações estiverem lendo dados de um fluxo de dados localizado em uma Região da AWS diferente. A cobrança será feita de acordo com as taxas de transferência de dados da AWS padrão.

* Observe que, no momento, o Amazon Kinesis Data Streams NÃO está disponível no nível gratuito da AWS. O nível gratuito da AWS é um programa que oferece testes gratuitos para um grupo de serviços da AWS. Para obter mais detalhes sobre o nível gratuito da AWS, consulte Nível gratuito da AWS.

  • No modo provisionado, você especifica o número de fragmentos necessário para sua aplicação com base na taxa de solicitações de gravação e leitura. Um fragmento é uma unidade de capacidade que fornece uma taxa de transferência de 1 MB/segundo para gravações e 2 MB/segundo para leituras.

    O modo provisionado pode ser a melhor opção quando você executa aplicações com tráfego previsível e uniforme ou de aumento gradual, ou pode prever os requisitos de capacidade para controlar os custos.

    Principais termos

    Hora de fragmento: o fragmento é a unidade básica de taxa de transferência de um fluxo de dados do Amazon Kinesis. Você especifica o número de fragmentos necessários no fluxo de acordo com os requisitos de taxa de transferência. Para cada fragmento, é cobrada uma taxa horária.

    Um fragmento oferece capacidade de ingestão de 1 MB/segundo ou 1.000 registros/segundo.

    Quando os consumidores de dados usam a distribuição aprimorada, cada fragmento oferece uma saída de dados de até 2 MB/segundo para cada consumidor usando o recurso.

    Quando os consumidores de dados não usam a distribuição aprimorada, cada fragmento oferece uma saída de dados de até 2 MB/segundo, independentemente do número de consumidores processando dados do fragmento em paralelo.

    Unidade de carga útil PUT (25 KB): um registro é o dado adicionado pelo produtor de dados ao seu fluxo de dados no Amazon Kinesis. Uma unidade de carga útil PUT é contada em “partes” de carga útil de 25 KB que compõem um registro. Por exemplo, um registro de 5 KB contém uma unidade de carga útil PUT, um registro de 45 KB contém duas unidades de carga útil PUT e um registro de 1 MB contém 40 unidades de carga útil PUT. A unidade de carga útil PUT é cobrada com base em uma taxa por milhão de unidades.

    Distribuição aprimorada: a distribuição aprimorada aumenta o paralelismo de leitura oferecendo a cada consumidor de dados a própria taxa de transferência de leitura por fragmento (até 2 MB/segundo). Quando usam a distribuição aprimorada, os consumidores incorrem em uma cobrança por hora de consumidor-fragmento e por GB de dados recuperados.

    Retenção de dados prolongada: o Kinesis Data Streams armazena seus dados por 24 horas como padrão. A retenção de dados prolongada oferece a opção de estender o armazenamento por até 7 dias. Quando seu período de retenção de dados prolongada iniciar, será cobrada uma taxa adicional para cada hora de fragmento usada por seu fluxo de dados.

    Retenção de dados de longo prazo: a retenção de dados de longo prazo oferece a opção de armazenar seu fluxo de dados por até 365 dias. São cobradas taxas de retenção de dados prolongada para os primeiros 7 dias e, em seguida, uma taxa de GB-mês de dados armazenados por mais de 7 dias até o período de retenção especificado.

    Recuperação de dados em retenção de longo prazo: será cobrada uma taxa por GB para a recuperação de dados armazenados por mais de 7 dias, se você recuperá-los usando a API GetRecords. Não há cobranças para a recuperação de dados armazenados pelo período padrão de 24 horas ou em retenção prolongada de até 7 dias. Não haverá cobranças para a recuperação de dados de longo prazo se o consumidor de distribuição aprimorada (API SubscribeToShard) for usado.

    Definição de preço por região

    Exemplo de preço

    Suponha que seus produtores de dados coloquem 100 registros por segundo de modo agregado e que cada registro tenha 35 KB. Nesse caso, a taxa total de dados de entrada é 3,4 MB/segundo (100 registros/segundo * 35 KB/registro dividido por 1.024 = 3,4 MB/segundo). Para simplificar, consideramos que a taxa de transferência e o tamanho de cada registro são estáveis e constantes durante o dia. Observe que podemos ajustar dinamicamente a taxa de transferência do fluxo do Amazon Kinesis a qualquer momento.

    Primeiro, calculamos o número de fragmentos necessário para que o fluxo atinja a taxa de transferência desejada. Como um fragmento oferece uma capacidade de dados de entrada de 1 MB/segundo e comporta 1.000 registros/segundo, 4 fragmentos oferecem uma capacidade de dados de entrada de 4 MB/segundo e comportam 4.000 registros/segundo. Portanto, um fluxo com 4 fragmentos satisfaz a taxa de transferência exigida de 3,4 MB/segundo a 100 registros/segundo.

    Em seguida, calculamos o custo mensal do Kinesis Data Streams usando o preço na região Leste dos EUA:

    Hora de fragmento: um fragmento custa USD 0,015 por hora ou USD 0,36 por dia (USD 0,015 * 24). O nosso fluxo tem 4 fragmentos, logo, custa USD 1,44 por dia (USD 0,36 * 4). Em um mês de 31 dias, o custo mensal da hora de fragmento é USD 44,64 (USD 1,44 * 31).

    Unidade de carga útil PUT (25 KB): como nosso registro é de 35 KB, cada registro contém duas unidades de carga útil PUT. Nossos produtores de dados colocam 100 registros ou 200 unidades de carga útil PUT por segundo em um cálculo agregado. Isso significa 267.840.000 registros ou 535.680.000 unidades de carga útil PUT por mês. Como um milhão de unidades de carga útil PUT custa USD 0,014, o custo mensal de unidades de carga útil PUT é USD 7,499 (USD 0,014 * 535,68).

    Também podemos optar por aumentar o período de retenção de dados do nosso fluxo de 24 horas para até 7 dias. Neste exemplo, presumimos que a opção de retenção de dados prolongada está habilitada para o fluxo de dados durante todo o mês. Você pode optar por estender a retenção de dados apenas em momentos de risco elevado de perda de dados, reduzindo o custo da retenção prolongada.

    Retenção prolongada de dados (até 7 dias): a retenção de dados prolongada custa USD 0,020 adicionais por hora de fragmento. Como o nosso fluxo usa 2.976 horas de fragmento por mês (4 fragmentos * 24 horas/dia * 31 dias/mês), o custo da retenção de dados prolongada é USD 59,52 (USD 0,020 * 2.976)

    Somando os custos de hora de fragmento e de unidades de carga útil PUT, o custo total do Amazon Kinesis Data Streams é USD 1,68 por dia ou USD 52,14 por mês. Por USD 1,68 por dia, você tem uma infraestrutura de transmissão de dados totalmente gerenciada que permite ingerir continuamente 4 MB de dados por segundo, ou 337 GB de dados por dia, de forma confiável e elástica. Além disso, você pode aumentar o período de retenção de 24 horas para até 7 dias por USD 59,52 a mais por mês.

    Você também pode reter dados opcionalmente por mais de 7 dias e usar a distribuição aprimorada. 

    Retenção de dados de longo prazo (dados mais antigos que 7 dias): suponha que você queira reter seu fluxo de dados por 30 dias. O preço incluirá a retenção de dados prolongada por fragmento-hora de 24 horas a 7 dias (veja os cálculos acima) e a retenção de dados de longo prazo após os 7 dias e até 30 dias (um período de 23 dias). A retenção de longo prazo por 23 dias custa USD 0,023 por GB-mês a mais em armazenamento e USD 0,021 por GB para recuperação de dados quando se usa o consumidor padrão (API GetRecords). Com base na taxa de entrada de dados de 3,4 MB/s, você acumulará 3,4 (taxa de entrada) * 1.024 * 1.024 * 3.600 = 12.902.400.000 bytes em uma hora.

    Ao término do mês, você terá o seguinte uso:

    3.565.158 * 23 dias * 24 horas/dia= 7.122.124.800.000 byte-horas

    Convertendo esse valor para GB-mês, temos:
    7.122.124.800.000 byte-horas / 1.073.741.824 bytes por GB = 6.633 GB por mês

    Portanto, os custos totais de armazenamento para uma retenção de 23 dias são = 6.633 * USD 0,023 = USD 152,56 por mês.

    Recuperação de dados de longo prazo (dados mais antigos que 7 dias): se todos os dados de longo prazo forem recuperados por um único consumidor usando a API GetRecords para buscar registros, você só incorrerá em cobranças de recuperação para os dados armazenados por mais de 7 dias. Como você está recuperando 6.623 GB de dados, a cobrança será de 6.623 * 0,021 = USD 139,08 ao final do mês. Os dados de longo prazo recuperados usando consumidores de distribuição aprimorada incorrem nas taxas correspondentes a essa modalidade, conforme descrito abaixo.

    Horas de consumidor-fragmento na distribuição aprimorada: a distribuição aprimorada custa USD 0,015 a mais por fragmento. Esse custo é adicionado por consumidor de dados. Como o fluxo incorre em 2.976 horas de fragmento por mês (4 fragmentos * 24 horas/dia * 31 dias/mês), cada consumidor que usar a distribuição aprimorada durante esse período incorrerá em um custo de USD 44,64 (2.976 * USD 0,015). Dois consumidores no mesmo período incorrerão em um custo de USD 89,28.

    Recuperações de dados de distribuição aprimorada: os dados recuperados de um fluxo por um consumidor que usa a distribuição aprimorada incorre em uma cobrança de USD 0,013 por GB. Se, em um mês, um fluxo de dois fragmentos tiver ingerido 50.000 MB de dados e dois consumidores de dados usaram a distribuição aprimorada para recuperar todos esses dados durante o mês, o total de dados recuperado será de 100.000 MB (50.000 MB * 2 consumidores) ou 97,6 GB. Como cada GB custa USD 0,013, o custo total da distribuição aprimorada é USD 1,26 (97,6 * USD 0,013).

    * Obter registros de um fluxo de dados do Amazon Kinesis é gratuito quando os dados são armazenados pelo período padrão de 24 horas ou até 7 dias para a retenção de dados prolongada. É cobrada uma taxa por GB para recuperação de dados armazenados para retenção de longo prazo além de 7 dias até o limite de 365 dias.

    * Se você optar por usar a distribuição aprimorada, será cobrada uma taxa horária por consumidor-fragmento e por GB de dados recuperados.

    * No modo provisionado, você não terá custos adicionais pela leitura de dados de um fluxo de dados em uma região diferente da AWS.

Acordo de Nível de Serviço

Saiba mais sobre o Acordo de Nível de Serviço do Amazon Kinesis Data Streams consultando nossas Perguntas frequentes.