Questions d'ordre général

Q : Qu'est-ce qu'Amazon MSK ?
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 en 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. En savoir plus sur Apache Kafka
 
Q : Qu'est-ce que les données en streaming ?
Le streaming de données est un flux continu de petits enregistrements (la taille d'un enregistrement ou d'un événement est généralement 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 MSK et Amazon Kinesis Data Streams facilitent la collecte, le traitement et la fourniture de données en continu. En savoir plus sur les données en streaming.
 
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 les sujets et réplique ces partitions 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 : À quoi sert Amazon MSK ?
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 les versions 1.1.1 et 2.1.0 d’Apache Kafka.
 
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 : Quelles mises à niveau de version Apache Kafka sont prises en charge ? 
Les mises à niveau des versions des clusters ne sont pas prises en charge actuellement, mais nous prévoyons la prise en charge de mises à niveau de version prochainement. 
 
Q : Comment le processus de mise à niveau fonctionnera-t-il ?
Lorsque vous déployez une nouvelle version Apache Kafka, Amazon MSK utilise un processus de mise à niveau 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 l'AWS Management Console ou à l'aide des kits SDK AWS. Tout d'abord, dans la console Amazon MSK, sélectionnez 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 : Amazon MSK propose-t-il une tarification pour les instances réservées ?
Non, pas actuellement.

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 paramètres par défaut sont documentés ici
Q : Puis-je provisionner des agents de sorte 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 clusters avec une réplication sur 3 zones de disponibilité par défaut et vous permet d'utiliser une stratégie de réplication personnalisée par rubrique. 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 3.

Q : Puis-je modifier les configurations d'agent par défaut ou charger une configuration de cluster sur Amazon MSK ?
Oui, Amazon MSK vous permet de créer des configurations personnalisées et de les appliquer à de nouveaux clusters. Les configurations personnalisées peuvent être créées à l'aide de la console ou de la CLI AWS. La prise en charge de clusters existants par des configurations personnalisées sera possible dès juin 2019.

Q : Quelles propriétés de configuration puis-je personnaliser ?
Les propriétés de configuration que vous pouvez personnaliser sont documentées ici.

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

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. La commande suivante est un exemple de la création d'une rubrique à l'aide d'API Apache Kafka :
 
bin/kafka-topics.sh --create —bootstrap-server ConnectionString:9092 --replication-factor 3 --partitions 1 --topic TopicName  

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.

Connexion au VPC

Q : Comment me connecter à mon cluster AWS MSK en dehors du VPC ?

Il existe différents moyens de vous connecter à vos clusters AWS MSK en dehors de votre VPC.

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 pendant le transit entre des agents dans un cluster Amazon MSK ?
Oui, le chiffrement des nouveaux clusters par défaut est activé via le protocole TLS pour la communication entre agents. Vous pouvez désactiver l'utilisation du chiffrement pendant le transit lors de la création d'un cluster.

Q : Les données sont-elles chiffrées en transit entre mes clients Apache Kafka et le service Amazon MSK ?
Oui, par défaut, le chiffrement en transit est défini dans TLS uniquement pour les clusters créés depuis l'interface de ligne de commande (CLI) ou la console AWS. Une configuration supplémentaire est requise pour que les clients puissent communiquer avec des clusters utilisant le chiffrement TLS. Vous pouvez modifier le paramètre de chiffrement par défaut en sélectionnant les paramètres TLS/plaintext ou plaintext. En savoir plus : Chiffrement MSK

Q : Les données sont-elles chiffrées en transit entre les agents et les nœuds Apache ZooKeeper dans un cluster Amazon MSK ?
Non, la version par défaut d'Apache Zookeeper associée à Apache Kafka ne prend pas en charge le chiffrement. Toutefois, il est important de noter que les communications entre les agents Apache Zookeeper et Apache Kafka sont limitées aux informations relatives à l'état des agents, des rubriques et des partitions.

Authentification et autorisation

Q : Comment puis-je restreindre la portée de la connectivité à un cluster Amazon MSK sur plusieurs clients dans mon VPC ?
Amazon MSK prend en charge l'authentification basée sur le protocole TLS et vous pouvez utiliser cette fonctionnalité pour authentifier les connexions client sur un cluster Amazon MSK. Amazon MSK vous permet de déployer des autorités de certification privées dans le service AWS Certificate Manager sur un cluster MSK. Une fois l'authentification client TLS activée, seuls les clients présentant des certificats TLS générés depuis les autorités de certification précédemment chargées peuvent s'authentifier avec le cluster.

Q : Comment fonctionne l'autorisation dans Amazon MSK ?
Apache Kafka utilise des listes de contrôle d'accès (ACL) pour l'autorisation et Amazon MSK prend en charge l'utilisation d'ACL. Pour activer les ACL, vous devez activer l'authentification client à l'aide du protocole TLS.

Q : Comment puis-je authentifier et autoriser un client simultanément ?
Les clients Amazon MSK qui utilisent l'authentification TLS peuvent utiliser le Dname des certificats TLS des clients comme mandataire ACL pour authentifier et autoriser les requêtes client.

Surveillance, métriques, journaux, balisage

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.

Q : Puis-je baliser des ressources Amazon MSK ?
Oui, vous pouvez baliser des clusters Amazon MSK depuis la console ou l'interface de ligne de commande (CLI) AWS.

Q : Comment surveiller le décalage subi pour les consommateurs ?
Vous pouvez contrôler le décalage subi par les consommateurs dans votre cluster Amazon MSK à l'aide d'outils tels que Burrow de LinkedIn : https://github.com/linkedin/Burrow.

Apache ZooKeeper

Q : Qu'est-ce qu'Apache ZooKeeper ?
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 le stockage dans mon cluster ?
Vous pouvez dimensionner le stockage de votre cluster à l'aide de l'AWS Management Console ou de la CLI AWS. 
 
Q. Puis-je dimensionner le nombre d'agents dans un cluster existant ?
Non. Le dimensionnement du nombre d'agents dans un cluster existant n'est pas pris en charge par Amazon MSK pour l'instant, mais il figure dans notre feuille de route.
 
Q. Puis-je dimensionner la taille d'une instance d'agent dans un cluster existant ?
Non. Le dimensionnement de la taille d'instances d'agents dans un cluster existant n'est pas pris en charge par Amazon MSK pour l'instant, mais il figure dans notre feuille de route.

Tarification 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 AWS qui offrent Amazon MSK ?
La liste des régions AWS qui offrent Amazon MSK est disponible ici

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 dans le cluster dans 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.

Conformité

Q : Est-ce qu'Amazon MSK est éligible selon la loi HIPAA ?

Oui. Amazon MSK est éligible selon la loi HIPAA. Pour obtenir une liste complète des services AWS et des programmes de conformité, consultez la rubrique Services AWS concernés par le programme de conformité.

Contrat de niveau de service

Q : Que garantit le contrat de niveau de service (SLA) d'Amazon MSK ?
Notre contrat de niveau de service Amazon MSK garantit un pourcentage de temps de fonctionnement mensuel d'au moins 99,9 % pour Amazon MSK.
 
Q : Comment savoir si je peux bénéficier d'un crédit de service au titre du contrat de niveau de service ?
Vous êtes éligible à un crédit de contrat de niveau de service pour Amazon MSK conformément au contrat de niveau de service Amazon MSK si le pourcentage des déploiements multi-AZ sur Amazon MSK est inférieur à 99,9 % au cours de n'importe quel cycle de facturation mensuelle.
 
Pour consulter l'intégralité des conditions générales du contrat de niveau de service et en savoir plus sur la marche à suivre pour soumettre une demande, référez-vous à la page détaillée du contrat de niveau de service Amazon MSK.

Mise en route avec Amazon MSK

Calculez vos coûts
Calculez vos coûts

Consultez la page de tarification d’Amazon MSK.

Consultez le guide de mise en route
Consultez le guide de mise en route

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

Exécutez votre cluster Apache Kafka
Exécutez votre cluster Apache Kafka

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