Questions d'ordre général

Q : Qu'est-ce qu'Amazon MSK ?
Amazon Managed Streaming for Kafka (Amazon MSK) est un nouveau service de transmission de données en continu AWS qui gère l'infrastructure et les opérations Apache Kafka, permettant aux développeurs et aux gestionnaires DevOps d'exécuter des applications Apache Kafka sur AWS sans avoir à devenir experts de l’opération des clusters Apache Kafka. Amazon MSK est un endroit idéal pour exécuter des applications Apache Kafka nouvelles ou existantes dans AWS. Amazon MSK exploite et entretient des clusters Apache Kafka, fournit des fonctionnalités de sécurité de niveau entreprise et intègre des intégrations AWS qui accélèrent le développement d'applications de transmission de données en continu. Pour commencer, vous pouvez migrer les charges de travail Apache Kafka existantes vers Amazon MSK ou, en quelques clics, vous pouvez en créer de nouvelles à partir de rien en quelques minutes. Il n'y a pas de frais de transfert de données pour le trafic au sein du cluster, et aucun engagement ni paiement initial requis. Ne payez que pour les ressources que vous utilisez.
 
Q : Qu'est-ce qu'Apache Kafka ?
Apache Kafka est une plate-forme open-source hautement performante, tolérante aux pannes et évolutive permettant de créer des pipelines et des applications de transmission de données en continu. Apache Kafka est une banque de données en continu qui sépare les applications produisant des données en continu (producteurs) dans sa banque de données des applications utilisant des données en continu (consommateurs) de sa banque de données. Les organisations utilisent Apache Kafka en tant que source de données pour des applications qui analysent et réagissent en permanence aux données en continu.
 
Q : Qu'est-ce que les données en streaming ?
Le streaming de données est un flux continu de petits enregistrements (un enregistrement a généralement une taille de quelques kilo-octets) générés par des milliers de machines, périphériques, sites Web et applications. Les données diffusées en continu comprennent une grande variété de données telles que les fichiers journaux générés par les clients à l'aide de vos applications mobiles ou web, les achats électroniques, l'activité des joueurs, les informations provenant de réseaux sociaux, de salles de marché ou de services géospatiaux, et la télémétrie d'appareils ou d'instruments connectés dans des centres de données. Les services de diffusion de données tels qu'Amazon Managed Streaming for Kafka et Amazon Kinesis Data Streams facilitent la collecte, le traitement et la fourniture de données en continu.
 
Q : Quelles sont les principales capacités d’Apache Kafka ?
Apache Kafka dispose de trois capacités clés :
  • Apache Kafka stocke les données en streaming de façon tolérante aux pannes sous la forme d'une série d'enregistrements continue et préserve l'ordre dans lequel les enregistrements ont été produits.
  • Apache Kafka agit comme tampon entre les producteurs de données et les consommateurs de données. Apache Kafka permet à de nombreux producteurs de données (sites Web, appareils IoT, instances Amazon EC2, par exemple) de publier en continu des données en flux continu et de les catégoriser à l'aide de rubriques Apache Kafka. Plusieurs consommateurs de données (applications de machine learning, fonctions Lambda, par exemple) lisent ces rubriques à leur propre rythme, de la même façon qu’une file de messages ou un système de messagerie d’entreprise.
  • Les consommateurs de données traitent les données des rubriques Apache Kafka selon le principe du premier entré, premier sorti, en préservant les données de la commande.
 
Q : Quels sont les concepts clés d'Apache Kafka ?
Apache Kafka stocke des enregistrements dans des rubriques. Les producteurs de données écrivent des enregistrements dans des rubriques et les consommateurs lisent des enregistrements à partir de rubriques. Chaque enregistrement dans Apache Kafka comprend une clé, une valeur et un horodatage. Apache Kafka partitionne et réplique les sujets sur plusieurs nœuds appelés agents. Apache Kafka s'exécute en tant que cluster sur un ou plusieurs agents. Les agents peuvent être situés dans plusieurs zones de disponibilité AWS pour créer un cluster à haute disponibilité. Apache Kafka s'appuie sur Apache Zookeeper pour coordonner les tâches du cluster et peut gérer l'état des ressources interagissant avec un cluster Apache Kafka.
 
Q : Quand devrais-je utiliser Apache Kafka ?
Apache Kafka est utilisé pour prendre en charge des applications en temps réel qui transforment, transmettent et réagissent à la diffusion en continu de données, ainsi que pour créer des pipelines de données en streaming en temps réel permettant de transférer des données de manière fiable entre plusieurs systèmes ou applications.
 
Q : Que fait Amazon Managed Streaming for Kafka ?
Amazon Managed Streaming for Kafka (Amazon MSK) facilite la mise en route et l’exécution de versions open source d’Apache Kafka dans AWS avec une disponibilité et une sécurité élevées, tout en offrant une intégration avec les services AWS sans la charge opérationnelle liée à l’exploitation d’un cluster Apache Kafka. Amazon MSK vous permet d'utiliser et de configurer des versions Open Source d'Apache Kafka pendant que le service gère la configuration, le provisionnement, les intégrations AWS et la maintenance continue des clusters Apache Kafka.
 
En quelques clics dans la console, vous pouvez mettre en service un cluster Amazon MSK. À partir de là, Amazon MSK remplace les agents en mauvais état, réplique automatiquement les données pour une haute disponibilité, gère les nœuds Apache Zookeeper, déploie automatiquement les correctifs matériels nécessaires, gère les intégrations avec les services AWS, rend visibles les métriques importantes via la console et prend en charge les mises à niveau de version d'Apache Kafka lorsque plusieurs versions sont prises en charge afin que vous puissiez tirer parti des améliorations apportées à la version open source d’Apache Kafka.
 
Q : Quelles versions d'Apache Kafka sont prises en charge par Amazon MSK ?
Amazon MSK prend actuellement en charge Apache Kafka version 1.1.1.
 
Q : Les API Apache Kafka sont-elles compatibles avec Amazon MSK ?
Oui, toutes les API de plan de données et d'administration sont prises en charge de manière native par Amazon MSK.
 
Q : Apache Kafka AdminClient est-il pris en charge par Amazon MSK ?
Oui.

Production et consommation de données

Q : Puis-je utiliser les API Apache Kafka pour importer des données dans Apache Kafka ?
Oui, Amazon MSK prend en charge les API natives de producteur et de consommateur Apache Kafka. Votre code d'application n'a pas besoin de changer lorsque les clients commencent à travailler avec des clusters au sein d'Amazon MSK.
 
 
Q : Puis-je utiliser Apache Kafka Connect, Apache Kafka Streams ou tout autre composant de l'écosystème d'Apache Kafka avec Amazon MSK ?
Oui, vous pouvez utiliser n'importe quel composant utilisant les API de producteur et de consommateur Apache Kafka et Apache Kafka AdminClient. Les outils qui téléchargent des fichiers .jar dans des clusters Apache Kafka ne sont actuellement pas compatibles avec Amazon MSK, notamment Confluent Control Center, Confluent Auto Data Balancer, Uber  uReplicator, et LinkedIn  Cruise Control.

Migration vers Amazon MSK

Q : Puis-je migrer des données de mon cluster Apache Kafka existant vers Amazon MSK?
Oui, vous pouvez utiliser des outils tiers ou des outils Open Source tels que MirrorMaker fournis avec Apache Kafka Open Source pour répliquer les données de clusters dans un cluster Amazon MSK.

Mises à niveau de version

Q : Comment Amazon MSK me permet-il de déployer des mises à niveau de version - mineures ou majeures - vers des clusters Apache Kafka lorsque le service prend en charge plusieurs versions ?
UpdateClusterSoftware n’est pas pris en charge durant la période de version préliminaire d’Amazon MSK.
 
Q : Comment le processus de mise à niveau fonctionnera-t-il ?
Lorsque vous déployez une nouvelle version, Amazon MSK utilise un processus continu qui met à niveau un agent ou un nœud Apache Zookeeper avant de passer à la ressource suivante. Tout au long du processus de mise à niveau, votre cluster sera dans l’état « Mise à jour » et passera à l’état « Actif » une fois terminé. Il est important de noter que si vous choisissez de ne pas répliquer les données sur plusieurs agents au sein d'un cluster en cours de mise à niveau, votre cluster subira une période d’indisponibilité.

Clusters

Q : Comment créer mon premier cluster Amazon MSK ?
Vous pouvez créer votre premier cluster en quelques clics dans la console de gestion AWS ou à l'aide des kits SDK AWS. Tout d'abord, dans la console Amazon MSK, puis choisissez une région AWS dans laquelle créer un cluster Amazon MSK. Choisissez un nom pour votre cluster, le VPC avec lequel vous voulez exécuter le cluster, une stratégie de réplication de données pour le cluster (trois zones de disponibilité par défaut pour une durabilité élevée) et les sous-réseaux de chaque zone de disponibilité. Ensuite, sélectionnez un type d'instance d’agent et le nombre d’agents par zone de disponibilité, puis cliquez sur Créer.

Q : Quelles ressources sont contenues par un cluster ?
Chaque cluster contient des instances d’agent, du stockage provisionné et des nœuds Apache Zookeeper.

Q : Quels types d'instances d’agent puis-je mettre en service dans un cluster Amazon MSK ?
Vous pouvez choisir des instances dans la famille d'instances EC2 M5.

Q : Dois-je provisionner et payer pour les volumes de démarrage d’agent ?
Non, chaque agent que vous mettez à disposition comprend le stockage de volume de démarrage géré par le service Amazon MSK.

Q : Lorsque je crée un cluster Apache Kafka, les ressources sous-jacentes (par exemple, les instances Amazon EC2) s'affichent-elles dans ma console EC2 ?
Certaines ressources, telles que les interfaces réseau Elastic (ENI), s’afficheront dans votre compte Amazon EC2. Les autres ressources Amazon MSK ne s’afficheront pas dans votre compte EC2 car elles sont gérées par le service Amazon MSK.

Q : Que dois-je provisionner au sein d’un cluster Amazon MSK ?
Vous devez provisionner les instances d’agent et le stockage d’agent avec chaque cluster que vous créez. Vous ne provisionnez pas de nœuds Apache Zookeeper car ces ressources sont incluses sans frais supplémentaires avec chaque cluster créé.

Q : Quelle est la configuration d’agent par défaut pour un cluster ?
Sauf indication contraire, Amazon MSK utilise les mêmes valeurs par défaut spécifiées par la version open source d'Apache Kafka. Les valeurs par défaut utilisées par le service sont les suivantes, et cette configuration ne peut pas être modifiée tant que le service est en version préliminaire.

Stratégie de réplication d’agent

3 zones de disponibilité

Min.Insync.Replicas

2

Broker.ID

Configuré par le service

Default.Replication.Factor

3 pour 3 zones de disponibilité

security.inter.broker.protocol

Texte brut

Chiffrement côté serveur

AWS KMS activé via une clé de service AWS

Q : Puis-je provisionner des agents de sorte à ce qu’ils soient inégaux à travers des zones de disponibilité (par exemple 3 dans us-east-1a, 2 dans us-east-1b, 1 dans us-east-1c) ?
Non, Amazon MSK impose la meilleure pratique consistant à équilibrer les quantités d’agents entre les zones de disponibilité d’un cluster.

Q : Comment fonctionne la réplication de données dans Amazon MSK ?
Amazon MSK utilise la réplication leader-suiveur d’Apache Kafka pour répliquer les données entre les agents. Amazon MSK facilite le déploiement de stratégies de réplication courantes et vous permet d'utiliser une stratégie de réplication personnalisée. Par défaut, avec chacune des options de réplication, les agents leader et suiveurs seront déployés et isolés à l'aide de la stratégie de réplication spécifiée. Par exemple, si vous sélectionnez une stratégie de réplication d’agent sur 3 zones de disponibilité avec 1 agent par cluster de zone de disponibilité, Amazon MSK créera un cluster de trois agents (1 agent sur trois zones de disponibilité dans une région) et par défaut (sauf si vous choisissez de remplacer le facteur de réplication de la rubrique), le facteur de réplication de la rubrique sera également trois. La stratégie de réplication que vous choisissez détermine également le nombre minimal de nœuds Apache Zookeeper attribués à votre cluster en arrière-plan.

Rubriques

Q : Comment créer des rubriques ?
Une fois votre cluster Apache Kafka créé, vous pouvez créer des rubriques à l'aide des API Apache Kafka. Toutes les actions et les configurations au niveau des rubriques et des partitions sont effectuées à l'aide des API Apache Kafka.
 
 
Q : Quelle est la configuration par défaut d'une nouvelle rubrique ?
Sauf indication contraire, Amazon MSK utilise la configuration par défaut d’Apache Kafka :  

Facteur de réplication

Valeurs par défaut du cluster

Min.Insync.Replicas

2

Mise en réseau

Q : Amazon MSK s'exécute-t-il dans un Amazon VPC ?
Oui, Amazon MSK s'exécute toujours dans un Amazon VPC géré par le service Amazon MSK. Les ressources Amazon MSK seront disponibles pour votre propre Amazon VPC, sous-réseau et groupe de sécurité sélectionnés lors de la configuration du cluster. Les adresses IP de votre VPC sont attachées à vos ressources Amazon MSK via des interfaces réseau Elastic (ENI) et tout le trafic réseau reste au sein du réseau AWS et n'est pas accessible par Internet.
 
Q : La connexion entre mes clients et un cluster Amazon MSK est-elle toujours privée ?
Oui, le seul moyen de produire et d'utiliser des données à partir d'un cluster Amazon MSK est via une connexion privée entre vos clients de votre VPC et le cluster Amazon MSK. Amazon MSK ne prend pas en charge les points de terminaison publics.

Q : Comment les agents de mon cluster Amazon MSK seront-ils rendus accessibles aux clients de mon VPC ?
Les agents de votre cluster seront rendus accessibles aux clients de votre VPC via des interfaces réseau Elastic (ENI) qui apparaîtront dans votre compte. Les groupes de sécurité sur les ENI dicteront la source et le type de trafic d'entrée et de sortie autorisé sur vos agents.

Q : Comment puis-je donner l'accès à mon cluster aux clients fonctionnant sous différents comptes AWS ?
Vous pouvez utiliser l'appairage VPC pour donner aux clients s'exécutant dans différents comptes AWS l'accès à votre cluster.

Chiffrement

Q : Puis-je chiffrer des données dans mon cluster Amazon MSK ?
Oui, Amazon MSK utilise le chiffrement côté serveur Amazon EBS et les clés AWS KMS pour chiffrer les volumes de stockage.

Q : Les données sont-elles chiffrées sur le réseau lors de leur transfert entre les agents d'un cluster Amazon MSK ?
Non, pas à l'heure actuelle.
 
Q : Les données sont-elles chiffrées sur le réseau lors de leur transfert entre les agents et les nœuds Apache Zookeeper d'un cluster Amazon MSK ?
Non, pas à l'heure actuelle.
 
Q : Puis-je chiffrer les données transmises sur le réseau entre mes clients Apache Kafka et le service Amazon MSK ?
Non, pas à l'heure actuelle.

Surveillance, métriques, journaux

Q : Comment surveiller les performances de mes clusters ou rubriques ?
Vous pouvez surveiller les performances de vos clusters à l'aide de métriques standard et vous pouvez surveiller les performances de vos rubriques à l'aide de métriques améliorées dans la console Amazon CloudWatch.
 
Q : Comment surveiller l’état et les performances de mes clients ?
Vous pouvez utiliser n'importe quelle surveillance côté client prise en charge par la version d'Apache Kafka que vous utilisez.

Apache Zookeeper

Q : Qu'est-ce qu'Apache Zookeper ?
De https://zookeeper.apache.org/ : « Apache Zookeeper est un service centralisé permettant de gérer les informations de configuration, de nommer, de fournir une synchronisation distribuée et de fournir des services de groupe. Tous ces types de services sont utilisés sous une forme ou une autre par des applications distribuées », y compris Apache Kafka.

Q : Amazon MSK utilise-t-il Apache Zookeeper ?
Oui, Amazon MSK utilise et gère Apache Zookeeper au sein de chaque cluster en tant que partie du service Amazon MSK. Les nœuds Apache Zookeeper sont inclus avec chaque cluster, sans frais supplémentaires.
 
Q: Comment mes clients interagissent-ils avec Apache Zookeeper ?
Vos clients peuvent interagir avec Apache Zookeeper via un point de terminaison Apache Zookeeper fourni par le service. Ce point de terminaison est fourni dans la console de gestion AWS ou à l'aide de l'API DescribeCluster.

Intégrations

Q : Avec quels services AWS Amazon MSK s’intègre-t-il ?
Amazon MSK s’intègre avec :

Dimensionnement

Q : Comment puis-je dimensionner mon cluster ?
Le dimensionnement d’un cluster existant n’est pas pris en charge durant la période de version préliminaire d’Amazon MSK.

Prix et disponibilité

Q : Comment fonctionne la tarification d’Amazon MSK ?
Les prix sont basés sur les heures de courtage Apache Kafka et les heures de stockage provisionnées. Les taux de transfert de données AWS s'appliquent au transfert de données entrant et sortant d'Amazon MSK. Consultez notre page de tarification pour plus d'informations.

Q : Dois-je payer pour le transfert de données suite à la réplication de données ?
Non, tous les transferts de données au sein d’un cluster sont inclus avec le service, sans frais supplémentaires.
 
Q : Quelles sont les régions qui offrent Amazon MSK ?
Amazon MSK est disponible dans la région AWS USA Est (Virginie du Nord) lors de la version préliminaire publique.

Q : Comment fonctionne la tarification du transfert de données ?
Vous devrez payer les frais de transfert de données AWS standard pour les données transférées vers et depuis un cluster Amazon MSK. Vous ne serez pas facturé pour le transfert de données au sein du cluster d'une région, y compris le transfert de données entre agents et le transfert de données entre agents et nœuds Apache Zookeeper.

Mise en route avec Amazon MSK

Product-Page_Standard-Icons_01_Product-Features_SqInk
Calculez vos coûts

Consultez la page de tarification d’Amazon MSK.

Product-Page_Standard-Icons_01_Product-Features_SqInk
Consultez le guide de démarrage

Apprenez à configurer votre cluster Apache Kafka sur Amazon MSK dans ce guide pas à pas.

Product-Page_Standard-Icons_03_Start-Building_SqInk
Exécutez votre cluster Apache Kafka

Exécutez votre cluster Apache Kafka sur Amazon MSK. Connectez-vous à la console Amazon MSK.