Q : Qu'est-ce qu'Amazon Kinesis Data Streams ?

Amazon Kinesis Data Streams vous permet de concevoir des applications personnalisées qui traitent ou analysent des données en streaming afin de répondre à vos besoins spécifiques. Vous pouvez ajouter en permanence différents types de données à votre flux de données Amazon Kinesis, notamment des parcours de navigation, des journaux d'application et des données de réseaux sociaux, et ce, depuis plusieurs centaines de milliers de sources. En quelques secondes, ces données sont accessibles à vos applications Amazon Kinesis, qui peuvent les lire et les traiter depuis le flux.

Q : Quelles opérations le service Amazon Kinesis Data Streams effectue-t-il à ma place ?

Amazon Kinesis Data Streams gère l'infrastructure, le stockage, la mise en réseau et la configuration nécessaires à la diffusion en streaming de vos données, en s'adaptant au débit de celles-ci. Vous n'avez à vous soucier ni de la mise en service, ni du déploiement, ni de la maintenance du matériel, des logiciels et des autres services requis pour vos flux de données. De plus, Amazon Kinesis Data Streams réplique les données de manière synchrone sur trois zones disponibilité, vous permettant ainsi de bénéficier d'une haute disponibilité et d'optimiser la durabilité des données.

Q : Que puis-je faire avec Amazon Kinesis Data Streams ?

Amazon Kinesis Data Streams vous permet de récupérer rapidement des données auprès de leurs producteurs, puis de les traiter en continu, que ce soit pour les transformer avant de les envoyer vers un magasin de données, pour lancer des métriques et des analyses en temps réel, ou encore pour les intégrer à des flux de données plus complexes destinés à un traitement ultérieur. Voici quelques scénarios d'utilisation classiques d'Amazon Kinesis Data Streams :

  • Récupération accélérée de journaux et de flux de données : Au lieu d'attendre que les données vous soient envoyées par lots, vous pouvez faire en sorte que vos producteurs de données les injectent dans un flux de données Amazon Kinesis dès qu'elles ont été générées, ce qui évite toute perte en cas de défaillance côté producteur. Par exemple, il est possible d'ajouter en continu des journaux d'applications et d'événements système à un flux de données, afin qu'ils puissent être traités dans les secondes qui suivent. 
  • Rapports et métriques en temps réel : vous pouvez extraire des métriques et générer des rapports en temps réel à partir d'un flux de données Amazon Kinesis. Par exemple, votre application Amazon Kinesis peut générer des métriques et des rapports à partir de journaux d'applications et d'événements systèmes dès que les données ont été transmises en streaming, au lieu d'attendre qu'elles soient envoyées par lots.
  • Analyse de données en temps réel : avec Amazon Kinesis Data Streams, vous pouvez analyser en temps réel les données diffusées en streaming. Par exemple, vous pouvez ajouter des parcours de navigation à votre flux de données Amazon Kinesis, puis exécuter des analyses en temps réel avec votre application Amazon Kinesis et, ainsi, mettre à profit vos données en quelques minutes au lieu de plusieurs heures, voire plusieurs jours. 
  • Traitement de flux complexes : vous pouvez créer des graphes orientés acycliques (DAG, Directed Acyclic Graphs) de vos flux de données et applications Amazon Kinesis. Dans ce scénario d'utilisation, une ou plusieurs applications Amazon Kinesis peuvent ajouter des données à un autre flux de données Amazon Kinesis, en vue d'un traitement plus approfondi. Vous pouvez ainsi organiser le traitement de vos flux en plusieurs étapes successives.

Q : Comment utiliser Amazon Kinesis Data Streams ?

Une fois votre inscription à Amazon Web Services terminée, vous pouvez commencer à utiliser Amazon Kinesis Data Streams en :

Q : Quelles sont les limites d'Amazon Kinesis Data Streams ?

Le débit des flux de données Amazon Kinesis est conçu pour être mis à l'échelle de manière illimitée grâce à l'ajout de partitions au sein de chaque flux de données. Cependant, il existe certaines limites dont vous devez tenir compte lorsque vous utilisez Amazon Kinesis Data Streams :

  • Par défaut, les enregistrements d'un flux sont accessibles pendant 24 heures maximum à compter du moment où ils sont ajoutés au flux. Vous pouvez augmenter cette limite jusqu'à 7 jours en activant la rétention des données étendue.
  • La taille maximale d'un blob de données (charge de données utiles avant l'encodage en base64) au sein d'un enregistrement est de 1 méga-octet (Mo). 
  • Chaque partition peut prendre en charge jusqu'à 1 000 enregistrements PUT par seconde.

Pour en savoir plus sur les autres limites propres à l'API, consultez la section relative aux limites d'Amazon Kinesis Data Streams.

Q : En quoi le service Amazon Kinesis Data Streams est-il différent d'Amazon SQS ?

Amazon Kinesis Data Streams permet de traiter en temps réel des données de type Big Data diffusées en streaming. Le service se charge de classer les enregistrements, qui peuvent ensuite être lus et/ou consultés en différé dans l'ordre spécifié à partir de plusieurs applications Amazon Kinesis. La bibliothèque client Amazon Kinesis (KCL) envoie tous les enregistrements associés à une clé de partition donnée vers un même processeur d'enregistrements. Il est ainsi très simple de créer plusieurs applications ayant accès au même flux de données Amazon Kinesis, ce qui peut s'avérer utile pour combiner des tâches de décompte, d'agrégation et de filtrage.

Amazon Simple Queue Service (Amazon SQS) propose une file d'attente hébergée, fiable et hautement évolutive pour stocker les messages lors de leur transfert entre différents ordinateurs. Amazon SQS vous permet de déplacer facilement des données entre des composants d'applications distribuées et de développer des applications dans lesquelles les messages sont traités de façon distincte (avec une sémantique de type accusé de réception/échec pour chaque message), notamment grâce à des processus automatisés.

Q : Dans quels cas me conseillez-vous d'utiliser Amazon Kinesis Data Streams ? Et dans quels cas est-il préférable d'avoir recours à Amazon SQS ?

Nous recommandons d'utiliser Amazon Kinesis Data Streams pour les cas d'utilisation suivants (ou présentant des caractéristiques similaires) :

  • Acheminement d'enregistrements liés vers un même processeur d'enregistrements (comme pour une diffusion en continu MapReduce). Acheminer tous les enregistrements correspondant à une clé vers le même processeur d'enregistrements permet notamment de simplifier le décompte et l'agrégation.
  • Classement d'enregistrements. Cette fonctionnalité est particulièrement utile si vous souhaitez transférer des données de journaux depuis un hôte d'application vers un hôte de traitement/d'archivage tout en conservant l'ordre des événements des journaux.
  • Possibilité d'avoir plusieurs applications utilisant simultanément le même flux. Cela vous permet, par exemple, d'utiliser une application pour mettre à jour un tableau de bord en temps réel, tandis qu'une autre archive les données dans Amazon Redshift. Dans ce cas, les deux applications doivent pouvoir utiliser des données provenant du même flux de manière simultanée et indépendante.
  • Possibilité d'utiliser des enregistrements dans le même ordre avec plusieurs heures de décalage. Par exemple, vous disposez d'une application de facturation et d'une application d'audit, laquelle s'exécute avec un décalage de quelques heures par rapport à l'application de facturation. Dans la mesure où Amazon Kinesis Data Streams peut stocker les données jusqu'à 7 jours, vous pouvez exécuter l'application d'audit avec un décalage de 7 jours maximum par rapport à l'application de facturation.

Nous recommandons d'utiliser Amazon SQS pour les cas d'utilisation suivants (ou présentant des caractéristiques similaires) :

  • Sémantique de messagerie (de type accusé de réception/échec pour chaque message) et délai de visibilité. Par exemple, vous disposez d'une file d'attente d'éléments de travail et souhaitez suivre de manière indépendante l'exécution de chaque élément. Amazon SQS suit les échecs et accusés de réception, si bien que l'application n'a pas à maintenir de point de contrôle/curseur en permanence. Amazon SQS supprime les messages ayant fait l'objet d'un accusé de réception et renvoie les messages non remis au terme d'un délai de visibilité que vous pouvez configurer.
  • Envoi à retardement de messages spécifiques. Par exemple, vous disposez d'une file d'attente de travail et devez lancer certaines tâches en différé. Grâce à Amazon SQS, vous pouvez différer de 15 minutes maximum l'envoi de messages spécifiques.
  • Augmentation dynamique de la concurrence/du débit pendant la lecture. Par exemple, vous disposez d'une file d'attente de travail et souhaitez ajouter des lecteurs supplémentaires, le temps que toutes les tâches en attente soient exécutées. Avec Amazon Kinesis Data Streams, vous pouvez augmenter le nombre de partitions jusqu'à atteindre un niveau suffisant (notez cependant que vous devrez allouer le nombre de partitions nécessaires à l'avance).
  • Capacité d'Amazon SQS à réaliser des mises à l'échelle transparentes. Par exemple, vos demandes de mise en mémoire tampon et la charge de données peuvent être modifiées en cas de pics de charge ponctuels ou suite à la croissance naturelle de votre entreprise. Dans la mesure où chaque requête mise en mémoire tampon peut être traitée séparément, Amazon SQS est en mesure de mettre à l'échelle les capacités de manière transparente afin de faire face à cette charge, sans qu'aucune instruction de votre part ne soit nécessaire.


Q : Qu'est-ce qu'une partition ?

La partition est l'unité de débit de base d'un flux de données Amazon Kinesis. Une partition offre une capacité de 1 Mo/s de données en entrée et de 2 Mo/s de données en sortie. Une partition peut prendre en charge jusqu'à 1 000 enregistrements PUT par seconde. Vous déterminez le nombre de partitions nécessaires lors de la création du flux de données. Vous pouvez, par exemple, créer un flux de données comportant deux partitions. Ce flux de données aura un débit de 2 Mo/s en entrée et de 4 Mo/s en sortie, et pourra prendre en charge jusqu'à 2 000 enregistrements PUT par seconde. Vous pouvez surveiller les métriques au niveau des partitions dans Amazon Kinesis Data Streams et ajouter ou supprimer de manière dynamique des partitions de votre flux de données au fur et à mesure que votre débit de données change, en repartitionnant le flux de données.

Q : Qu'est-ce qu'un enregistrement ?

L'enregistrement est l'unité utilisée pour les données stockées dans un flux de données Amazon Kinesis. Un enregistrement se compose d'un numéro de séquence, d'une clé de partition et d'un blob de données. Le blob de données correspond aux données utiles que le producteur ajoute au flux de données. La taille maximale d'un blob de données (charge de données utiles avant l'encodage en base64) est de 1 méga-octet (Mo).

Q : Qu'est-ce qu'une clé de partition ?

La clé de partition sert à isoler et à acheminer les enregistrements vers les différentes partitions d'un flux de données. La clé de partition est spécifiée par le producteur lorsqu'il ajoute des données au flux de données Amazon Kinesis. Par exemple, supposons que vous disposiez d'un flux de données comprenant deux partitions (partition 1 et partition 2). Vous pouvez configurer votre producteur de données afin qu'il utilise deux clés de partition (clé A et clé B), de manière à placer tous les enregistrements associés à la clé A dans la partition 1 et tous ceux associés à la clé B, dans la partition 2. 

Q : Qu'est-ce qu'un numéro de séquence ?

Un numéro de séquence est un identifiant unique associé à un enregistrement. Le numéro de séquence est attribué par Amazon Kinesis lorsqu'un producteur de données appelle l'opération PutRecord ou PutRecords afin d'ajouter des données à un flux de données Amazon Kinesis. Les numéros de séquence correspondant à une même clé de partition deviennent généralement de plus en plus longs au fil du temps ; plus l'intervalle de temps entre chaque requête PutRecord ou PutRecords est élevé, plus les numéros de séquence sont longs.


Q : Comment créer un flux de données Amazon Kinesis ?

Une fois votre inscription à Amazon Web Services terminée, vous pouvez créer un flux de données Amazon Kinesis à l'aide de la console de gestion Amazon Kinesis ou de l'opération CreateStream.

Q : Comment définir le débit de mon flux de données Amazon Kinesis ?

Le débit d'un flux de données Amazon Kinesis est déterminé par son nombre de partitions. Suivez la procédure indiquée ci-dessous pour estimer le nombre initial de partitions dont aura besoin votre flux de données. Veuillez noter que vous pouvez ajuster de manière dynamique le nombre de partitions au sein de votre flux de données via les options de repartitionnement.

  1. Estimez la taille moyenne des enregistrements devant être ajoutés au flux de données en kilo-octets (Ko), en arrondissant au kilo-octet le plus proche. (taille_moyenne_des_données_en_Ko)
  2. Estimez la taille moyenne des enregistrements devant être ajoutés au flux de données à chaque seconde. (nombre_enregistrements_par_seconde)
  3. Déterminez le nombre d'applications Amazon Kinesis consommant, de manière simultanée et indépendante, des données provenant du flux de données. (nombre_de_consommateurs)
  4. Calculez le débit d'écriture des données entrantes en Ko (débit_écriture_données_entrantes_en_Ko), qui est égal à la taille_moyenne_des_données_en_Ko multipliée par le nombre_enregistrements_par_seconde.
  5. Calculez le débit de lecture des données sortantes en Ko (débit_lecture_données_sortantes_en_Ko), qui est égal au débit_écriture_données_entrantes_en_Ko multiplié par le nombre_de_consommateurs.

Vous pouvez alors calculer le nombre initial de partitions (nombre_de_partitions) nécessaire à votre flux de données à l'aide de la formule suivante :

nombre_de_partitions = max (débit_écriture_données_entrantes_en_Ko/1 000, débit_lecture_données_sortantes_en_Ko/2 000)

Q : Quel est le débit minimal que je puisse demander pour mon flux de données Amazon Kinesis ?

Le débit d'un flux de données Amazon Kinesis est défini par son nombre de partitions. Le débit minimal d'un flux de données correspond à celui d'une partition, soit 1 Mo/s de données en entrée et 2 Mo/s de données en sortie.

Q : Quel est le débit maximal que je puisse demander pour mon flux de données Amazon Kinesis ?

Le débit des flux de données Amazon Kinesis est conçu pour être mis à l'échelle de manière illimitée. Par défaut, chaque compte peut mettre en service jusqu'à 10 partitions par région. Si vous avez besoin de plus de 10 partitions dans une même région, complétez le formulaire Limites d'Amazon Kinesis Data Streams.

Q : En quoi la taille des enregistrements influe-t-elle sur le débit de mon flux de données Amazon Kinesis ?

Une partition offre un débit d'1 Mo/s pour les données en entrée et prend en charge jusqu'à 1 000 enregistrements PUT par seconde. Par conséquent, si la taille de l'enregistrement est inférieure à 1 Ko, le débit réel pour les données entrantes de la partition sera inférieur à 1 Mo/s, en raison des restrictions liées au nombre maximal d'enregistrements PUT par seconde.


Q : Comment ajouter des données à mon flux de données Amazon Kinesis ?

Vous pouvez ajouter des données à un flux de données Amazon Kinesis via les opérations PutRecord et PutRecords, la bibliothèque Producer Amazon Kinesis (KPL) ou Amazon Kinesis Agent.

Q : Quelle différence existe-t-il entre PutRecord et PutRecords ?

L'opération PutRecord autorise un seul enregistrement de données au sein d'un appel d'API. L'opération PutRecords, quant à elle, en autorise plusieurs. Pour en savoir plus sur les opérations PutRecord et PutRecords, consultez les sections PutRecord et PutRecords.

Q : Qu'est-ce que la bibliothèque Producer Amazon Kinesis ?

La bibliothèque Producer Amazon Kinesis (KPL) est une bibliothèque facile à utiliser et hautement configurable qui vous permet d'ajouter des données à un flux de données Amazon Kinesis. Elle est dotée d'une interface simple, asynchrone et fiable qui vous permet d'atteindre rapidement un débit producteur élevé avec le minimum de ressources client.

Q : Quels langages de programmation ou plates-formes puis-je utiliser pour accéder à l'API Amazon Kinesis ?

L'API Amazon Kinesis est disponible dans les kits de développement logiciel (SDK) d'Amazon Web Services. Pour consulter la liste des plates-formes et langages de programmation disposant de kits SDK Amazon Web Services, rendez-vous sur la page Outils pour Amazon Web Services.

Q : Dans quel langage de programmation la bibliothèque Producer Amazon Kinesis (KPL) est-elle disponible ?

La partie centrale de la bibliothèque Producer Amazon Kinesis (KPL) est conçue avec un module C++ et peut être compilée pour fonctionner sur n'importe quelle plate-forme dotée d'un compilateur C++. La bibliothèque est actuellement disponible dans une interface Java. Nous espérons ajouter prochainement d'autres langages de programmation.

Q : Qu'est-ce qu'Amazon Kinesis Agent ?

Amazon Kinesis Agent est une application Java pré-intégrée qui permet de collecter et d'envoyer facilement des données vers votre flux de données Amazon Kinesis. Cet agent peut être installé dans des environnements basés sur des serveurs Linux tels que des serveurs Web, serveurs de journaux ou encore serveurs de base de données. L'agent surveille certains fichiers et envoie en continu des données sur votre flux de données. Pour en savoir plus, consultez la section Writing with Agents.

Q : Quelles plateformes Amazon Kinesis Agent prend-il en charge ?

Actuellement, Amazon Kinesis Agent prend en charge Amazon Linux ou Red Hat Enterprise Linux.

Q : Où puis-je obtenir Amazon Kinesis Agent ?

Vous pouvez télécharger et installer Amazon Kinesis Agent à l'aide de la commande et du lien indiqués ci-après :

Sur Amazon Linux : sudo yum install –y aws-kinesis-agent

Sur Red Hat Enterprise Linux : sudo yum install –y https://s3.amazonaws.com/streaming-data-agent/aws-kinesis-agent-latest.amzn1.noarch.rpm

Depuis GitHub : awlabs/amazon-kinesis-agent

Q : Comment utiliser Amazon Kinesis Agent ?

Après avoir installé Amazon Kinesis Agent sur vos serveurs, vous pouvez le configurer pour surveiller certains fichiers contenus sur le disque, puis envoyer continuellement de nouvelles données vers votre flux de données Amazon Kinesis. Pour en savoir plus, consultez la section relative à l'écriture à l'aide d'agents.

Q : Que se passe-t-il si les limites de capacité d'un flux de données Amazon Kinesis sont dépassées alors qu'un producteur de données est en train d'y ajouter des données ?

Les limites de capacité d'un flux de données Amazon Kinesis sont définies en fonction de son nombre de partitions. Il est possible que ces limites soient dépassées en termes de débit de données ou de nombre d'enregistrements PUT. Tant que les limites de capacité sont atteintes, les appels d'ajout de données sont rejetés et l'exception ProvisionedThroughputExceeded est renvoyée. Si cette situation est liée à une hausse temporaire des données reçues par le flux de données, vous pouvez essayer de relancer les opérations au niveau du producteur de données jusqu'à ce que les requêtes soient exécutées. Si cette situation est liée à une hausse durable des données reçues par le flux de données, nous vous conseillons d'augmenter le nombre de partitions afin de disposer d'une capacité suffisante pour prendre en charge les appels d'ajout de données de façon constante. Dans les deux cas, vous pouvez vous référer aux métriques Amazon CloudWatch pour obtenir des informations sur les variations du débit en entrée et sur la survenue d'exceptions ProvisionedThroughputExceeded.

Q : Quelles sont les données prises en compte pour établir le débit de données d'un flux de données Amazon Kinesis au cours d'un appel PutRecord ou PutRecords ?

Pour exécuter un appel PutRecord ou PutRecords, les paramètres requis sont le blob de données, la clé de partition et le nom du flux de données. La taille de votre blob de données (avant encodage en base64) et celle de la clé de partition sont prises en compte dans le débit de données de votre flux de données Amazon Kinesis, lequel est déterminé par le nombre de partitions du flux de données.


Q : Qu'est-ce qu'une application Amazon Kinesis ?

Une application Amazon Kinesis est un consommateur de données qui lit et traite des données provenant d'un flux de données Amazon Kinesis. Vous pouvez développer vos applications via l'API Amazon Kinesis ou via la bibliothèque client Amazon Kinesis (KCL).

Q : Qu'est-ce que la bibliothèque client Amazon Kinesis (KCL) ?

La bibliothèque client Amazon Kinesis (KCL) pour Java | Python | Ruby | Node.js | .NET est une bibliothèque pré-intégrée qui vous permet de créer facilement des applications Amazon Kinesis pour la lecture et le traitement des données d'un flux de données Amazon Kinesis. La bibliothèque KCL gère des problèmes complexes, tels que l'adaptation à des flux de données aux volumes fluctuants, l'équilibrage de la charge pour les données diffusées en streaming, la coordination des services distribués et le traitement des données en garantissant la tolérance aux pannes. Elle vous permet ainsi de vous concentrer sur la logique métier lors de la création des applications.

Q : Qu'est-ce que la bibliothèque Connector Amazon Kinesis ?

La bibliothèque Connector Amazon Kinesis est une bibliothèque pré-intégrée qui vous permet d'intégrer facilement Amazon Kinesis Data Streams à d'autres services AWS et à des outils tiers. La bibliothèque client Amazon Kinesis (KCL) pour Java | Python | Ruby | Node.js | .NET est requise pour utiliser la bibliothèque Amazon Kinesis Connector. Dans sa version actuelle, cette bibliothèque fournit des connecteurs pour Amazon DynamoDB, Amazon Redshift, Amazon S3 et ElasticSearch. La bibliothèque inclut également des exemples de connecteurs de chaque type, ainsi que des fichiers de construction Apache Ant pour l'exécution des exemples.

Q : Qu'est-ce qu'Amazon Kinesis Storm Spout ?

Amazon Kinesis Storm Spout est une bibliothèque pré-intégrée qui vous permet d'intégrer facilement Amazon Kinesis Data Streams à Apache Storm. Dans sa version actuelle, la bibliothèque Amazon Kinesis Storm Spout récupère des données de flux de données Amazon Kinesis et les émet en tant que tuples. Vous pouvez l'ajouter à votre topologie Storm afin d'exploiter Amazon Kinesis Data Streams en tant que service de collecte, de stockage et de consultation à la fois scalable et fiable.

Q : Dans quels langages de programmation la bibliothèque client Amazon Kinesis (KCL), la bibliothèque Connector Amazon Kinesis et Amazon Kinesis Storm Spout sont-ils disponibles ?

La bibliothèque client Amazon Kinesis (KCL) est actuellement disponible pour JavaPython, Ruby, Node.js et .NET. La bibliothèque Connector Amazon Kinesis et le spout Amazon Kinesis Storm sont actuellement disponibles en Java. Nous espérons ajouter prochainement d'autres langages de programmation.

Q : Est-il obligatoire d'utiliser la bibliothèque client Amazon Kinesis (KCL) pour mon application Amazon Kinesis ?

Non, vous pouvez également utiliser l'API Amazon Kinesis pour développer votre application Amazon Kinesis. Cependant, nous vous conseillons d'utiliser la bibliothèque client Amazon Kinesis (KCL) pour Java | Python | Ruby | Node.js | .NET si votre application s'y prête. En effet, elle prend en charge les tâches les plus fastidieuses liées au traitement de flux distribués, ce qui vous permet de développer vos applications de manière plus productive.

Q : Comment la bibliothèque client Amazon Kinesis (KCL) interagit-elle avec les applications Amazon Kinesis ?

La bibliothèque client Amazon Kinesis (KCL) pour Java | Python | Ruby | Node.js | .NET joue le rôle d'intermédiaire entre Amazon Kinesis Data Streams et votre application Amazon Kinesis. La bibliothèque KCL utilise l'interface IRecordProcessor pour communiquer avec votre application. Votre application implémente cette interface, puis la bibliothèque KCL lance des appels sur le code de votre application via les méthodes de l'interface.

Pour en savoir plus sur le développement d'applications associées à la bibliothèque KCL, référez-vous à la section Developing Consumer Applications for Amazon Kinesis Using the Amazon Kinesis Client Library.

Q : Que sont les programmes d'exécution et les processeurs d'enregistrements générés par la bibliothèque client Amazon Kinesis (KCL) ?

Une application Amazon Kinesis peut compter plusieurs instances d'application ; un programme d'exécution est une unité de traitement qui est reliée à chacune de ces instances d'application. Un processeur d'enregistrements est une unité qui traite les données provenant d'une partition d'un flux de données Amazon Kinesis. Un programme d'exécution peut être relié à un ou plusieurs processeurs d'enregistrements. Un processeur d'enregistrements est relié à une partition et traite les enregistrements qui en proviennent.

Au démarrage, l'application appelle la bibliothèque client Amazon Kinesis (KCL) pour Java | Python | Ruby | Node.js | .NET afin d'instancier un programme d'exécution. Cet appel fournit à la bibliothèque KCL les informations de configuration de l'application, notamment le nom du flux de données et les informations d'identification AWS. Il transmet également la référence d'une implémentation d'IRecordProcessorFactory. La bibliothèque KCL utilise ensuite cette implémentation pour créer de nouveaux processeurs d'enregistrements, si cela s'avère nécessaire pour traiter les données du flux. La bibliothèque KCL communique avec ces processeurs d'enregistrements via l'interface IRecordProcessor.

Q : Comment la bibliothèque client Amazon Kinesis (KCL) garde-t-elle une trace des enregistrements de données traités par une application Amazon Kinesis ?

La bibliothèque client Amazon Kinesis (KCL) pour Java | Python | Ruby | Node.js | .NET crée automatiquement une table Amazon DynamoDB pour chaque application Amazon Kinesis afin d'enregistrer et de conserver des informations d'état, telles que les événements de repartitionnement et les points de contrôle des numéros de séquence. La table DynamoDB porte le même nom que l'application ; vous devez donc vous assurer que le nom de votre application n'entraînera pas de conflit avec une table DynamoDB existante enregistrée sous le même compte et dans la même région.

Tous les programmes d'exécution associés à un même nom d'application sont considérés comme rattachés au même flux de données Amazon Kinesis. Si vous exécutez une autre instance du même code d'application, mais sous un autre nom d'application, la bibliothèque KCL traite cette seconde instance comme une application totalement distincte, associée elle aussi au même flux de données Amazon Kinesis.

Les coûts liés à la table Amazon DynamoDB sont facturés sur votre compte, en sus des frais Amazon Kinesis Data Streams.

Pour en savoir plus sur le suivi de l'état des applications par la bibliothèque KCL, référez-vous à la section Tracking Amazon Kinesis Application State.

Q : Comment puis-je augmenter automatiquement la capacité de traitement de mon application Amazon Kinesis à l'aide de la bibliothèque client Amazon Kinesis (KCL) ?

Vous pouvez créer plusieurs instances de votre application Amazon Kinesis et les exécuter sur un ensemble d'instances Amazon EC2 faisant partie d'un groupe Auto Scaling. Lorsque les besoins en traitement augmentent, une instance Amazon EC2 exécutant votre instance d'application est créée automatiquement. La bibliothèque client Amazon Kinesis (KCL) pour Java | Python | Ruby | Node.js | .NET génère un programme d'exécution pour cette nouvelle instance et transfère automatiquement les processeurs d'enregistrements des instances existantes saturées vers cette nouvelle instance.

Q : Pourquoi l'appel GetRecords renvoie-t-il un résultat vide alors que mon flux de données Amazon Kinesis contient des données ?

Il est possible qu'il n'y ait pas d'enregistrement à l'emplacement spécifié par l'itérateur de partition actuel. Cela peut notamment se produire si vous utilisez le type d'itérateur de partition TRIM_HORIZON. Un flux de données Amazon Kinesis représente un flux continu de données. Si vous appelez l'opération GetRecords en boucle, les enregistrements sont renvoyés lorsque l'itérateur atteint l'emplacement où ils sont stockés.

Q : Que signifie la valeur ApproximateArrivalTimestamp renvoyée dans l'opération GetRecords ?

Chaque enregistrement contient une valeur appelée ApproximateArrivalTimestamp. Elle est créée lorsque Amazon Kinesis reçoit et stocke avec succès l'enregistrement. L'horodatage est défini à la milliseconde et il n'existe aucune garantie concernant sa précision. Par exemple, il est possible que les enregistrements contenus dans une partition ou dans un flux de données ne fonctionnent pas.

Q : Que se passe-t-il si les limites de capacité d'un flux de données Amazon Kinesis sont dépassées alors qu'une application Amazon Kinesis est en train de lire des données à partir du flux ?

Les limites de capacité d'un flux de données Amazon Kinesis sont définies en fonction de son nombre de partitions. Il est possible que ces limites soient dépassées en termes de débit de données ou de nombre d'appels de lecture de données. Tant que les limites de capacité sont atteintes, les appels de lecture de données sont rejetés et l'exception ProvisionedThroughputExceeded est renvoyée. Si cette situation est liée à une hausse temporaire des lectures de données du flux, vous pouvez essayer de relancer les appels au niveau de l'application Amazon Kinesis jusqu'à ce que les requêtes soient exécutées. Si cette situation est liée à une hausse durable des lectures de données du flux, nous vous conseillons d'augmenter le nombre de partitions afin de disposer d'une capacité suffisante pour exécuter les appels de lecture de données de façon constante. Dans les deux cas, vous pouvez vous référer aux métriques Amazon CloudWatch pour obtenir des informations sur les variations du débit de données en sortie et sur la survenue d'exceptions ProvisionedThroughputExceeded.


Q : Comment puis-je modifier le débit de mon flux de données Amazon Kinesis ?

Pour modifier le débit de votre flux de données, deux possibilités s'offrent à vous. Vous pouvez utiliser l'API UpdateShardCount ou AWS Management Console pour dimensionner le nombre de partitions dans un flux de données. Vous pouvez également modifier le débit d'un flux de données Amazon Kinesis en ajustant le nombre de partitions au sein du flux (repartitionnement).  

Q : Combien de temps faut-il pour modifier le débit de mon flux de données Amazon Kinesis à l'aide de l'API UpdateShardCount ou d'AWS Management Console ?

Le traitement des demandes de dimensionnement classiques prend quelques minutes. Les demandes de dimensionnement plus importantes prennent plus de temps.

Q : Quelles sont les limites de l'API UpdateShardCount ?

Pour plus d'informations sur les limites de l'API UpdateShardCount, consultez la page Référence des API du service Amazon Kinesis Data Streams.

Q : Le service Amazon Kinesis Data Streams reste-t-il disponible lorsque je modifie le débit de mon flux de données Amazon Kinesis à l'aide de l'API UpdateShardCount ou via une opération de repartitionnement ?

Oui. Vous pouvez continuer à ajouter ou lire des données sur votre flux de données Amazon Kinesis pendant l'utilisation de l'API UpdateShardCount ou la réalisation d'un repartitionnement visant à modifier son débit.

Q : Qu'est-ce qu'un repartitionnement ?

Un repartitionnement est un processus permettant de dimensionner votre flux de données à l'aide d'une série de fractionnements et de fusions de partitions. En cas de division d'une partition, celle-ci est scindée en deux nouvelles partitions, ce qui augmente le débit du flux de données. En cas de fusion de partitions, deux partitions sont réunies en une seule, ce qui réduit le débit du flux de données. Pour plus d'informations, consultez la section relative au repartionnement d'un flux de données dans le guide du développeur Amazon Kinesis Data Streams.

Q : À quelle fréquence puis-je modifier le débit de mon flux de données Amazon Kinesis par repartitionnement ? Et combien de temps prend cette opération ?

Une opération de repartitionnement telle qu'une division ou une fusion de partitions prend quelques secondes. Vous ne pouvez réaliser qu'une seule opération de repartitionnement à la fois. Ainsi, pour un flux de données Amazon Kinesis ne comptant qu'une seule partition, il suffit de quelques secondes pour doubler le débit en divisant cette partition. Pour un flux de données contenant 1 000 partitions, il faut 30 000 secondes (8,3 heures) pour doubler le débit en divisant les 1 000 partitions. Nous vous recommandons donc de lancer cette opération à l'avance si vous savez que vous allez avoir besoin d'augmenter le débit de votre flux de données.

Q : Comment modifier la période de rétention des données de mon flux Amazon Kinesis ?

Amazon Kinesis stocke vos données pendant 24 heures par défaut. Vous pouvez augmenter cette limite jusqu'à 7 jours en activant la rétention des données étendue.

Pour plus d'informations sur la modification de la période de rétention des données, consultez la section Modifier la période de rétention des données.

Q : Comment puis-je surveiller l'activité et les performances de mon flux de données Amazon Kinesis ?

La console de gestion Amazon Kinesis Data Streams affiche les principales métriques opérationnelles et de performances, notamment le débit de données en entrée et en sortie de vos flux de données Amazon Kinesis. Amazon Kinesis Data Streams peut également être intégré à Amazon CloudWatch ce qui vous permet d'enregistrer, de consulter et d'analyser des métriques CloudWatch pour vos flux de données Amazon Kinesis et leurs partitions. Pour en savoir plus sur les métriques Amazon Kinesis Data Streams, consultez la section relative à la surveillance d'Amazon Kinesis Data Streams à l'aide d'Amazon CloudWatch.

Veuillez noter que toutes les métriques activées au niveau des flux sont gratuites. Toutes les métriques activées au niveau des shards sont facturées selon la tarification Amazon CloudWatch.  

Q : Comment puis-je gérer et contrôler les accès à mon flux de données Amazon Kinesis ?

Amazon Kinesis Data Streams s'intègre à AWS Identity and Access Management (IAM), un service qui vous permet de contrôler l'accès des utilisateurs à vos ressources et services AWS en toute sécurité. Vous pouvez, par exemple, créer une politique permettant uniquement à un utilisateur ou à un groupe d'utilisateurs en particulier d'ajouter des données à votre flux de données Amazon Kinesis. Pour en savoir plus sur la gestion et le contrôle des accès à votre flux de données, consultez la section relative au contrôle de l'accès aux ressources Amazon Kinesis Data Streams avec IAM.

Q : Comment puis-je consigner les appels d'API envoyés à mon flux de données Amazon Kinesis à des fins d'analyse de sécurité et de résolution des problèmes opérationnels ?

Amazon Kinesis s'intègre à Amazon CloudTrail, un service qui enregistre les appels d'API AWS sur votre compte et vous fournit les fichiers journaux. Pour en savoir plus sur la consignation des appels d'API et consulter la liste des opérations d'API Amazon Kinesis prises en charge, reportez-vous à la section Logging Amazon Kinesis API calls Using Amazon CloudTrail.

Q : Comment gérer efficacement mes flux de données Amazon Kinesis et les frais associés à ceux-ci ?

Amazon Kinesis Data Streams vous permet d'ajouter des balises à vos flux de données Amazon Kinesis afin de gérer plus facilement les coûts et les ressources. Une balise est un libellé défini par l'utilisateur sous forme de paire clé-valeur, destiné à faciliter l'organisation des ressources AWS. Par exemple, vous pouvez attribuer des balises à vos flux de données en fonction de leur centre de coûts, ce qui vous permet de catégoriser et de suivre vos frais Amazon Kinesis Data Streams par centre de coûts. Pour en savoir plus sur les balises Amazon Kinesis Data Streams, consultez la section relative au balisage Amazon Kinesis Data Streams.

Q : Comment puis-je comprendre la façon dont j'utilise le nombre limite de partitions ?

Vous pouvez comprendre la façon dont vous utilisez le nombre limite de partitions pour un compte à l'aide de l'API DescribeLimits. L'API DescribeLimits renvoie le nombre limite de partitions et le nombre de partitions ouvertes dans votre compte. Si vous devez augmenter le nombre limite de partitions, veuillez demander une augmentation de limite.


Q : Lorsque j'utilise Kinesis Data Streams, quel est le niveau de sécurité de mes données ?

Kinesis est sécurisé par défaut. Seuls les propriétaires de compte et de flux de données ont accès aux ressources Kinesis qu'ils créent. Kinesis prend en charge l'authentification utilisateur pour contrôler l'accès aux données. Vous pouvez utiliser des stratégies AWS IAM pour accorder de façon sélective des autorisations à des utilisateurs et groupes d'utilisateurs. Vous pouvez transférer des données vers Kinesis ou en extraire, en toute sécurité, via des points de terminaison SSL à l'aide du protocole HTTPS. Si vous avez besoin d'une sécurité supplémentaire, vous pouvez utiliser le chiffrement côté serveur avec les clés principales AWS KMS pour chiffrer les données stockées dans votre flux de données. AWS KMS vous permet d'utiliser les clés principales KMS générées par AWS à des fins de chiffrement, ou si vous préférez, vous pouvez utiliser votre propre clé principale dans AWS KMS. Enfin, vous pouvez utiliser vos propres bibliothèques de chiffrement pour crypter les données côté client avant de les transférer vers Kinesis.

Q : Puis-je accéder de manière privée aux API Kinesis Data Streams à partir de mon VPC (Amazon Virtual Private Cloud) sans utiliser aucune adresse IP publique ?

Oui, vous pouvez accéder de manière privée aux API Kinesis Data Streams à partir de votre VPC (Amazon Virtual Private Cloud) en créant des points de terminaison de VPC. Avec des points de terminaison de VPC, le routage entre le VPC et Kinesis Data Streams est géré par le réseau AWS, sans qu'il y ait besoin d'une passerelle Internet, d'une passerelle NAT ou d'une connexion VPN. La dernière génération de points de terminaison de VPC utilisée par Kinesis Data Streams repose sur AWS PrivateLink, une technologie qui permet une connectivité privée entre les services AWS en utilisant des interfaces réseau elastic (ENI) avec des adresses IP privées dans vos VPC. Pour en savoir plus sur PrivateLink, veuillez consulter la documentation PrivateLink


Q : Est-il possible de chiffrer les données transférées vers un flux de données Kinesis ?

Oui. Deux possibilités s'offrent à vous pour chiffrer vos données et les transférer vers un flux de données Kinesis. Vous pouvez utiliser le chiffrement côté serveur, une fonction entièrement gérée qui chiffre et déchiffre automatiquement les données lorsqu'elles sont transférées vers un flux de données ou lorsqu'elles en sont extraites. Vous pouvez également écrire vos données chiffrées sur un flux de données en chiffrant et en déchiffrant les données côté client.

Q : Pourquoi utiliser le chiffrement côté serveur au lieu du chiffrement côté client ?

Les clients préfèrent souvent le chiffrement côté serveur au chiffrement côté client pour l'une des raisons suivantes :

  • Il est difficile d'appliquer le chiffrement côté client
  • Ils souhaitent bénéficier d'une deuxième couche de sécurité sur le chiffrement côté client
  • Il est difficile d'implémenter des programmes de gestion de clés côté client

Q : Qu'est-ce que le chiffrement côté serveur ?

Le chiffrement côté serveur pour Kinesis Data Streams chiffre automatiquement les données à l'aide d'une clé principale (CMK) AWS KMS spécifiée par l'utilisateur avant de les écrire sur la couche de stockage du flux de données, et les déchiffre après leur extraction du stockage. Le chiffrement rend toute écriture impossible et rend la charge utile et la clé de partition illisibles, sauf si l'utilisateur qui écrit sur le flux de données ou lit à partir de ce dernier a l'autorisation d'utiliser la clé sélectionnée pour le chiffrement sur le flux. Le chiffrement côté serveur peut donc permettre de répondre plus facilement aux exigences internes de sécurité et de conformité qui régissent vos données.

Grâce au chiffrement côté serveur, vos applications côté client (producteurs et clients) n'ont pas besoin d'être conscientes du chiffrement ni de gérer vos clés CMK ou opérations de chiffrement, et vos données sont chiffrées lorsqu'elles sont au repos et en mouvement dans le service Kinesis Data Streams. Toutes les clés CMK utilisées par la fonction de chiffrement côté serveur sont fournies par AWS KMS. AWS KMS permet d'utiliser facilement une clé CMK gérée par AWS pour Kinesis (une méthode de chiffrement « en un clic »), votre propre clé CMK générée par AWS KMS ou une clé CMK que vous avez importée pour le chiffrement.

Q : Existe-t-il un guide de démarrage pour le chiffrement côté serveur ?

Oui, vous en trouverez un dans la documentation utilisateur.

Q : Le chiffrement côté serveur perturbe-t-il l'interaction de mes applications avec Kinesis Data Streams ?

C'est probable. Cela dépend de la clé que vous utilisez pour le chiffrement et des autorisations régissant l'accès à la clé.

  • Si vous utilisez la clé CMK gérée par AWS pour Kinesis (alias de la clé = aws/kinesis), l'activation ou la désactivation du chiffrement à l'aide de cette clé n'aura aucun impact sur vos applications.
  • Si vous utilisez une clé principale différente telle qu'une clé principale AWS KMS personnalisée ou une clé que vous avez importée dans le service AWS KMS, et si les producteurs et utilisateurs d'un flux de données n'ont pas l'autorisation d'utiliser la clé CMK AWS KMS utilisée pour le chiffrement, vos demandes PUT et GET échoueront. Avant d'utiliser le chiffrement côté serveur, vous devez configurer les stratégies de clé AWS KMS afin de permettre le chiffrement et le déchiffrement des messages. Pour consulter des exemples et obtenir plus d'informations sur les autorisations AWS KMS, consultez « Autorisations d'API AWS KMS : référence des actions et ressources » dans le Guide du développeur AWS Key Management Service ou les instructions sur la gestion des autorisations dans la documentation utilisateur sur le chiffrement côté serveur de Kinesis Data Streams.

Q : Un coût supplémentaire est-il associé à l'utilisation du chiffrement côté serveur ?

Oui. Toutefois, si vous utilisez la clé CMK gérée par AWS pour Kinesis et que vous ne dépassez pas les coûts d'utilisation des API KMS de l'offre gratuite, l'utilisation du chiffrement côté serveur est gratuite. Voici une description des coûts par ressource :

Clés :

  • La clé CMK gérée par AWS pour Kinesis (alias = « aws/kinesis ») est gratuite.
  • Les clés KMS générées par l'utilisateur sont soumises aux coûts applicables aux clés KMS. En savoir plus.

Utilisation des API KMS :

  • Coûts d’utilisation des API pour chaque clé CMK, y compris les personnalisées. Le service Kinesis Data Streams appelle KMS environ toutes les 5 minutes lorsqu'il fait tourner la clé de données. Sur un mois de 30 jours, le coût total des appels d'API KMS initiés par un flux de données Kinesis ne devrait pas dépasser quelques euros. N’oubliez pas que ces coûts sont fonction du nombre d’informations d’identification des utilisateurs que vous utilisez sur vos producteurs et utilisateurs de données, car chaque information d’identification nécessite un appel API unique à AWS KMS. Lorsque vous utilisez le rôle IAM pour l’authentification, chaque appel nominal résultera en un ensemble unique d’informations d’identification et vous devrez certainement mettre en cache les informations de l’utilisateur renvoyées par l’appel nominal afin de réduire les coûts de KMS.

Q : Quelles régions AWS proposent le chiffrement côté serveur pour Kinesis Data Streams ?

La fonction de chiffrement côté serveur d'Amazon Kinesis Data Streams est disponible dans la région AWS GovCloud et dans toutes les régions publiques, à l'exception de la Chine (Beijing).

Q : Comment démarrer, mettre à jour ou supprimer le chiffrement côté serveur à partir d'un flux de données ?

Toutes ces opérations peuvent être réalisées à l'aide d'AWS Management Console ou du kit SDK AWS. Pour en savoir plus, consultez le guide de démarrage pour le chiffrement côté serveur Kinesis Data Streams.

Q : Quels algorithmes de chiffrement sont utilisés pour le chiffrement côté serveur ?

Kinesis Data Streams utilise un algorithme AES-GCM 256 pour le chiffrement.

Q : Si je chiffre un flux de données sur lequel sont déjà écrites des données, en texte brut ou en texte chiffré, toutes les données du flux seront-elles chiffrées ou déchiffrées si je mets à jour le chiffrement ?

Non, seules les nouvelles données écrites sur le flux seront chiffrées (ou resteront déchiffrées) par la nouvelle application du chiffrement.

Q : Que permet de chiffrer le chiffrement côté serveur pour Kinesis Data Streams ?

Le chiffrement côté serveur chiffre la charge utile du message ainsi que la clé de partition, qui est spécifiée par les applications producteur du flux de données.

Q : Le chiffrement côté serveur est-il une fonction spécifique à une partition ou à un flux ?

Le chiffrement côté serveur est une fonction spécifique à un flux.

Q : Est-il possible de modifier la clé CMK servant à chiffrer un flux de données spécifique ?

Oui, à l'aide d'AWS Management Console ou du kit SDK AWS, vous pouvez choisir une nouvelle clé principale pour l'appliquer à un flux de données spécifique.

Q : Pouvez-vous expliquer le cycle de vie du chiffrement des données entre l'envoi des données vers un flux de données Kinesis avec le chiffrement côté serveur activé et leur extraction ?

Vous trouverez ci-dessous une description de la manière dont Kinesis Data Streams utilise des clés CMK AWS KMS pour chiffrer un message avant de le stocker dans le chemin PUT et de le déchiffrer après son extraction du chemin GET. Kinesis et AWS KMS effectuent les actions suivantes (y compris le déchiffrement) lorsque vous appelez les opérations putRecord(s) ou getRecords sur un flux de données avec le chiffrement côté serveur activé.

  1. Les données sont envoyées depuis l'application producteur (client) Kinesis d'un utilisateur vers Kinesis à l'aide de SSL via le protocole HTTPS.
  2. Les données sont reçues par Kinesis, stockées dans la RAM et le chiffrement est appliqué à la charge utile et à la clé de partition d'un enregistrement.
  3. Kinesis demande un élément de clé d'entrée (IKM) en texte brut et une copie de l'IKM est chiffrée à l'aide de la clé principale KMS sélectionnée du client.
  4. AWS KMS crée un IKM, le chiffre à l'aide de la clé principale et envoie l'IKM en texte brut et l'IKM chiffré à Kinesis.
  5. Kinesis utilise l'IKM en texte brut pour générer des clés de données uniques pour chaque enregistrement.
  6. Kinesis chiffre la charge utile et la clé de partition à l'aide des clés de données et supprime la clé en texte brut de la mémoire.
  7. Kinesis ajoute l'IKM chiffré aux données chiffrées.
  8. L'IKM en texte brut est mis en cache en mémoire pour être réutilisé jusqu'à ce qu'il expire après 5 minutes.
  9. Kinesis transmet le message chiffré à un stockage backend où il est stocké au repos et où il peut être extrait via un appel à l'opération getRecords.

Kinesis et AWS KMS effectuent les actions suivantes (y compris le déchiffrement) lorsque vous appelez l'opération getRecords.

  1. Lors d'un appel à l'opération getRecords, le frontend de Kinesis extrait l'enregistrement chiffré du service backend.
  2. Kinesis envoie une requête à KMS à l'aide d'un jeton généré par la demande du client. AWS KMS autorise l'opération.
  3. Kinesis déchiffre l'IKM chiffré stocké dans l'enregistrement.
  4. Kinesis recrée les clés de données pour chaque enregistrement à partir de l'IKM déchiffré.
  5. Si l'opération est autorisée, Kinesis déchiffre la charge utile et supprime la clé de données en texte brut de la mémoire.
  6. Kinesis transmet la charge utile via SSL et HTTPS au client Kinesis demandant les enregistrements.

 


Q : Le service Amazon Kinesis Data Streams est-il disponible dans le cadre de l'offre gratuite d'AWS ?

Non. Amazon Kinesis Data Streams n'est actuellement pas disponible dans le cadre de l'offre gratuite d'AWS. Le niveau gratuit d'AWS est un programme qui permet d'essayer gratuitement un certain nombre de services AWS. Pour en savoir plus sur le niveau gratuit d'AWS, consultez la page Niveau gratuit d'AWS.

Q : Combien coûte Amazon Kinesis Data Streams ?

Amazon Kinesis Data Streams propose un système de tarification à l'utilisation très simple. Aucun investissement initial n'est nécessaire et nous n'appliquons pas de frais minimum : vous payez uniquement pour les ressources que vous utilisez. Amazon Kinesis Data Streams engendre deux types de coûts principaux, ainsi que des coûts facultatifs :

  • Des coûts horaires pour les partitions, dépendant du nombre de partitions incluses dans votre flux de données Amazon Kinesis.
  • Des coûts pour les unités de charge PUT, dépendant du nombre d'unités de charge de 25 Ko que vos producteurs de données ajoutent à votre flux de données.
  • Des coûts facultatifs de rétention de données étendue, dépendant du nombre d'heures de partitions inhérent à votre flux de données. 

Pour en savoir plus sur les frais liés à Amazon Kinesis Data Streams, consultez la page Tarification Amazon Kinesis Data Streams.

Q : Si j'utilise une opération PutRecords plutôt que des opérations PutRecord, cela a-t-il un impact sur le coût pour les unités de charge PUT ?

Les coûts pour les unités de charge PUT sont calculés sur la base du nombre d'unités de charge de 25 Ko ajoutées à votre flux de données Amazon Kinesis. Le coût pour les unités de charge PUT reste donc identique que vous utilisiez une opération PutRecords ou plusieurs opérations PutRecord.

Q : Suis-je facturé pour les partitions dont l'état est défini sur « FERME » ?

Il est possible que l'état d'une partition soit défini sur « FERME » suite au repartitionnement. Vous ne serez pas facturé pour les partitions dont l'état est défini sur « FERME ».

Q : En dehors des frais directement liés à Amazon Kinesis Data Streams, quels autres coûts peuvent découler de mon utilisation d'Amazon Kinesis Data Streams ?

Si vous utilisez Amazon EC2 pour exécuter vos applications Amazon Kinesis, les ressources Amazon EC2 vous seront facturées en sus des frais liés à Amazon Kinesis Data Streams.

La bibliothèque client Amazon Kinesis (KCL) utilise une table Amazon DynamoDB pour suivre les informations relatives au traitement des enregistrements. Si vous utilisez la bibliothèque KCL pour vos applications Amazon Kinesis, des ressources Amazon DynamoDB vous seront facturées en sus des frais liés à Amazon Kinesis Data Streams.

Si vous activez les métriques avancées au niveau des partitions, le coût d'Amazon CloudWatch vous sera facturé, en sus du coût associé aux métriques activées au niveau des partitions et des frais liés à Amazon Kinesis Data Streams.

Les trois cas présentés ci-dessus sont les plus courants, mais il peut aussi arriver que d'autres services soient utilisés.