Questions d'ordre général

Q : Qu'est-ce qu'Amazon MSK ?
Amazon Managed Streaming for Apache Kafka (Amazon MSK) est un service de streaming de données AWS qui gère l'infrastructure et les opérations Apache Kafka, permettant ainsi aux développeurs ainsi qu'aux gestionnaires DevOps d'exécuter des applications Apache Kafka et des connecteurs Kafka Connect sur AWS sans avoir besoin d'expertise dans l'exploitation d'Apache Kafka. Amazon MSK exploite, entretient et met à l'échelle des clusters Apache Kafka, fournit des fonctions de sécurité de niveau entreprise et intègre des intégrations AWS qui accélèrent le développement d'applications de streaming de données. Pour démarrer, vous pouvez migrer des charges de travail Apache Kafka et des connecteurs Kafka Connect existants vers Amazon MSK ou, en quelques clics, en créer de nouveaux en quelques minutes. Aucuns frais de transfert de données ne vous seront facturés pour le trafic au sein du cluster, et aucun engagement ni paiement initial n'est requis. Ne payez que pour les ressources que vous utilisez.
 
Q : Qu'est-ce qu'Apache Kafka ?
Apache Kafka est une plateforme open source haute performance, tolérante aux pannes et évolutive qui permet de créer des pipelines et des applications de streaming de données en temps réel. Apache Kafka est une banque de données de streaming qui sépare les applications produisant des données de streaming (producteurs) dans sa banque de données des applications utilisant des données de streaming (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 Kafka Connect ?
Kafka Connect, un composant open source d'Apache Kafka, est un cadre qui permet de connecter Apache Kafka aux systèmes externes, par exemple les bases de données, les magasins clé-valeur, les index de recherche et les systèmes de fichiers.
 
Q : Qu'est-ce que le streaming de données ?
Le streaming de données est un flux continu de petits enregistrements ou évènements (la taille d'un enregistrement ou d'un évènement est généralement de quelques kilooctets) générés par des milliers de machines, appareils, sites web et applications. Les données en streaming incluent 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 de e-commerce ; l'activité intrajeu des joueurs ; les informations provenant de réseaux sociaux, de parquets financiers et de services géospatiaux ; les journaux de sécurité, les métriques et la télémétrie issue de dispositifs connectés ou d'instruments des centres de données. Les services de streaming de données, tels qu'Amazon MSK et Amazon Kinesis Data Streams, facilitent la collecte, le traitement et la fourniture en continu de streaming de données. En savoir plus sur le streaming de données.
 
Q : Quelles sont les principales capacités d'Apache Kafka ?
Apache Kafka dispose de trois fonctionnalités clés :
  • Apache Kafka stocke les données de streaming de manière tolérante aux pannes, fournissant ainsi une mémoire tampon entre producteurs et consommateurs. Il stocke les évènements sous la forme d'une série d'enregistrements continue et préserve l'ordre dans lequel les enregistrements ont été produits.
  • Apache Kafka permet à de nombreux producteurs de données, par exemple les sites web, les appareils IoT (Internet des objets), les instances Amazon Elastic Compute Cloud (Amazon EC2), de publier en continu les données en streaming et de les classer à l'aide de rubriques Apache Kafka. Plusieurs consommateurs de données (applications de machine learning, fonctions AWS Lambda ou microservices) effectuent la lecture dans ces rubriques à leur propre rythme, de la même façon qu'une file d'attente 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 l'ordre dans lequel les données ont été produites.

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, un horodatage et parfois des métadonnées en en-tête. Apache Kafka partitionne les rubriques 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 qui interagissent avec un cluster Apache Kafka.
 
Q : Quand devrais-je utiliser Apache Kafka ?
Apache Kafka prend en charge des applications en temps réel qui transforment, transmettent et réagissent au streaming de données, et peut également être utilisé pour créer des pipelines de données en streaming en temps réel capables de transférer des données de manière fiable entre plusieurs systèmes ou applications.
 
Q : À quoi sert Amazon MSK ?
Amazon MSK facilite le démarrage et l’exécution de versions open source d’Apache Kafka sur AWS avec une haute disponibilité et sécurité. Amazon MSK offre également des intégrations avec les services AWS sans surcoûts opérationnels liés à l'exécution d'un cluster Apache Kafka. Amazon MSK vous permet d'utiliser des versions open source d'Apache Kafka pendant que le service gère la configuration, approvisionnement, les intégrations AWS et la maintenance continue des clusters Apache Kafka.

En quelques clics dans la console, vous pouvez créer 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 afin que vous puissiez tirer parti des améliorations apportées à la version open source d'Apache Kafka.
 
Q : Quelles sont les versions d'Apache Kafka prises en charge par Amazon MSK ?
Pour connaître les versions Kafka prises en charge, consultez la documentation Amazon MSK.
 
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.
 
Q : Amazon MSK prend-il en charge l'enregistrement des schémas ?
Oui. Les clients Apache Kafka peuvent utiliser sans frais supplémentaires AWS Glue Schema Registry, une fonctionnalité sans serveur d'AWS Glue. Consultez la documentation utilisateur de Schema Registry pour démarrer et pour en savoir plus.
 
Q : Comment démarrer avec les clusters M7g ?
Amazon MSK prend désormais en charge les instances M7g basées sur Graviton 3, de tailles « grandes » à « 16xlarge », pour exécuter toutes les charges de travail Kafka. Les instances Graviton offrent les mêmes avantages en termes de disponibilité et de durabilité que MSK, avec des coûts jusqu'à 24 % inférieurs à ceux des instances M5 correspondantes. Les instances Graviton offrent un débit par instance jusqu'à 29 % supérieur à celui des instances M5 de MSK, ce qui permet aux clients d'exécuter des clusters MSK avec moins de courtiers ou des instances de plus petite taille.

MSK sans serveur

Q : Qu'est-ce que MSK Serverless ?
MSK Serverless est un type de cluster pour Amazon MSK qui vous permet d'exécuter facilement les clusters Apache Kafka sans avoir à gérer une capacité de calcul et de stockage. Avec MSK Serverless, vous pouvez exécuter vos applications sans avoir à allouer, configurer ou optimiser des clusters, et vous payez pour le volume de données que vous diffusez et retenez.

Q : MSK Serverless équilibre-t-il automatiquement les partitions au sein d'un cluster ?
Oui. MSK Serverless gère complètement les partitions, y compris la surveillance et leur migration vers des charges égales dans un cluster.

Q : Quelle capacité de débit de données MSK Serverless prend-t-il en charge ?
MSK Serverless fournit jusqu'à 200 Mbit/s de capacité en écriture et 400 Mbit/s de capacité en lecture par cluster. De plus, pour garantir un débit disponible suffisant pour toutes les partitions dans un cluster, MSK Serverless alloue jusqu'à 5 Mbit/s de capacité instantanée en écriture et de 10 Mbit/s de capacité instantanée en lecture par partition.

Q : Quelles fonctions de sécurité la solution MSK Serverless offre-t-elle ?
MSK Serverless chiffre l'ensemble du trafic en transit et toutes les données au repos utilisant des clés gérées par le service, émises via AWS Key Management Service (KMS). Les clients se connectent à MSK Serverless au moyen d'une connexion privée via AWS PrivateLink, sans exposer votre trafic sur l'Internet public. En outre, MSK Serverless offre le contrôle d'accès IAM, que vous pouvez utiliser pour gérer l'authentification client et l'autorisation client pour les ressources Apache Kafka, comme les rubriques.

Q : Comment les producteurs et les consommateurs accèdent-ils à mes clusters MSK Serverless ?
Quand vous créez un cluster MSK Serverless, vous fournissez les sous-réseaux d'un ou de plusieurs Amazon Virtual Private Cloud (VPC), qui hébergent les clients du cluster. Les clients hébergés sur l'un de ces VPC pourront se connecter au cluster MSK Serverless en utilisant sa chaîne d'agent d'amorçage.

Q : Dans quelle région MSK Serverless est-il disponible ?
Pour obtenir des informations à jour sur la disponibilité régionale, veuillez consulter la page de la tarification de MSK.

Q : Quels types d'authentification MSK Serverless prend-il en charge ?
MSK Serverless prend actuellement en charge AWS IAM pour l'authentification et l'autorisation client. Vos clients peuvent adopter un rôle IAM AWS pour l'authentification et vous pouvez appliquer des contrôles d'accès à l'aide d'une politique IAM associée.

Q : Comment puis-je traiter des données dans mon cluster MSK Serverless ?
Vous pouvez utiliser n'importe quel outil compatible avec Apache Kafka pour le traitement des données dans vos rubriques de cluster MSK sans serveur. MSK sans serveur s'intègre avec le service géré Amazon pour Apache Flink pour le traitement des flux avec état et AWS Lambda pour le traitement des événements. De plus, vous pouvez utiliser les connecteurs cibles Kafka Connect pour envoyer des données vers la destination de votre choix.

Q : Comment MSK Serverless assure-t-il une haute disponibilité ?
Lorsque vous créez une partition, MSK Serverless en crée 2 répliques et les disposent dans des zones de disponibilité différentes. En outre, MSK Serverless identifie automatiquement et restaure les ressources backend manquantes pour assurer une haute disponibilité.

Production et consommation de données

Q : Puis-je utiliser les API Apache Kafka pour le transfert de données entrantes et sortantes dans et hors d'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 Admin Client. Les outils qui 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 et Uber uReplicator.

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 open source tels que MirrorMaker, pris en charge par Apache Kafka, pour répliquer les données de clusters dans un cluster Amazon MSK. Voici un atelier de migration Amazon MSK pour vous aider à terminer une migration.

Mises à niveau de version

Q : Les mises à niveau de version Apache Kafka sont-elles prises en charge ? 
Oui, Amazon MSK prend en charge les mises à niveau de version Apache Kafka en place entièrement gérées pour les clusters approvisionnés. Pour en savoir plus sur comment mettre à niveau votre version Apache Kafka et connaître les bonnes pratiques en matière de haute disponibilité, veuillez consulter la documentation sur les mises à niveau de version.

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, sélectionnez une région AWS dans laquelle créer un cluster Amazon MSK. Choisissez un nom pour votre cluster, le Virtual Private Cloud (VPC) avec lequel vous voulez exécuter le cluster, et les sous-réseaux de chaque zone de disponibilité. Si vous souhaitez créer un cluster approvisionné, vous pourrez également sélectionner un type d'instance d'agent, la quantité d'agents par zone de disponibilité et le stockage par agent.
 
Q : Quelles ressources sont contenues dans un cluster ?
Les clusters approvisionnés contiennent des instances d'agent, du stockage approvisionné et des nœuds Apache ZooKeeper abstraits. Les clusters sans serveur constituent une ressource, qui fait abstraction de toutes les ressources sous-jacentes.
 
Q : Quels types d'instances d'agent puis-je approvisionner dans un cluster Amazon MSK ?
Pour les clusters approvisionnés, vous pouvez choisir EC2 T3.small ou des instances dans les familles d'instances EC2 M7g et M5. Pour les clusters sans serveur, les agents sont complètement abstraits.
 
Q : Amazon MSK propose-t-il une tarification pour les instances réservées ?
Non, pas à l'heure actuelle.
 
Q : Dois-je provisionner et payer pour les volumes de démarrage d’agent ?
Non, chaque agent que vous approvisionnez 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 approvisionner au sein d'un cluster Amazon MSK ?
Pour les clusters approvisionnés, vous devez approvisionner les instances d'agent et le stockage d'agent avec chaque cluster que vous créez. Vous avez la possibilité d'allouer du débit de stockage à des volumes de stockage. Ces derniers peuvent servir à la mise à l'échelle I/O continue sans devoir allouer d'agents supplémentaires. Vous ne devez pas approvisionner des nœuds Apache ZooKeeper, car ces ressources sont incluses sans frais supplémentaires avec chaque cluster créé. Pour les clusters sans serveur, vous créez uniquement un cluster en tant que ressource.
 
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 pour les deux types de clusters sont documentés ici.
Q : Puis-je approvisionner 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 plusieurs zones de disponibilité, 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 leaders 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.

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 à des clusters existants ou nouveaux. Pour plus d'informations sur les configurations personnalisées, consultez la documentation relative à la configuration.

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.

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 création de rubrique à l'aide des API Apache Kafka et des détails de configuration disponibles pour votre cluster :

bin/kafka-topics.sh --create —bootstrap-server <BootstrapBrokerString> --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 sont disponibles pour votre propre Amazon VPC, sous-réseau et groupe de sécurité que vous avez 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) ; tout le trafic réseau reste au sein du réseau AWS et n'est pas accessible par Internet par défaut.

Q : Comment les agents de mon cluster Amazon MSK sont-ils rendus accessibles aux clients de mon VPC ?
Les agents de votre cluster sont rendus accessibles aux clients de votre VPC via des ENI qui apparaissent dans votre compte. Les groupes de sécurité sur les ENI dictent la source et le type de trafic d'entrée et de sortie autorisé sur vos agents.

Q : Est-il possible de me connecter à mon cluster par le biais de l'Internet public ?
Oui, Amazon EMSK permet de se connecter en toute sécurité aux agents des clusters Amazon MSK qui exécutent Apache Kafka 2.6.0 ou des versions supérieures sur Internet. En permettant l'accès public, les clients autorisés externes à un Amazon Virtual Private Cloud (VPC) privé peuvent diffuser des données chiffrées vers et depuis des clusters Amazon MSK spécifiques. Vous pouvez activer l'accès public pour les clusters MSK après la création d'un cluster, et ce sans frais supplémentaires. Cependant, les coûts de transfert de données AWS standard pour l'entrée et la sortie des clusters s'appliquent. Pour en savoir plus sur l'activation de l'accès public, consultez la documentation sur l'accès public.

Q : La connexion entre mes clients et un cluster Amazon MSK est-elle privée ?
Par défaut, 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. Cependant, si vous activez l'accès public pour votre cluster Amazon MSK et que vous vous connectez à votre cluster MSK à l'aide de la chaîne d'agents publics d'amorçage, la connexion n'est plus privée, bien qu'elle ait été authentifiée, autorisée et chiffrée. Nous vous recommandons de configurer les groupes de sécurité du cluster afin d'avoir des règles TCP sortants qui autorisent l'accès public depuis votre adresse IP de confiance, et de rendre ces règles aussi restrictives que possible si vous activez l'accès public.

Connexion au VPC

Question : Comment me connecter à mon cluster Amazon MSK via Internet ? 
Le moyen le plus simple consiste à activer la connectivité publique via Internet aux agents des clusters MSK qui exécutent Apache Kafka 2.6.0 ou des versions ultérieures. Par mesure de sécurité, vous ne pouvez pas activer l'accès public lors de la création d'un cluster MSK. Toutefois, vous pouvez mettre à jour un cluster existant afin de le rendre accessible publiquement. Vous pouvez aussi créer un cluster, puis le mettre à jour afin de le rendre accessible publiquement. Pour en savoir plus sur l'activation de l'accès public, consultez la documentation sur l'accès public.

Question : Comment me connecter à mon cluster Amazon MSK depuis l'intérieur du réseau AWS mais en dehors du VPC Amazon du cluster ?
Vous pouvez vous connecter à votre cluster MSK à partir de n'importe quel compte VPC ou AWS différent de celui de votre cluster MSK en activant la connectivité privée multi-VPC pour les clusters MSK exécutant les versions 2.7.1 ou ultérieures d'Apache Kafka. Vous ne pouvez activer la connectivité privée qu'après la création du cluster pour l'un des schémas d'authentification pris en charge (authentification IAM, SASL SCRAM et authentification Mtls). Vous devez configurer vos clients pour qu'ils se connectent en privé au cluster à l'aide des connexions VPC gérées par Amazon MSK qui utilisent la technologie AWS PrivateLink pour activer la connectivité privée. Pour en savoir plus sur la configuration de la connectivité privée, consultez la section Accès depuis la documentation AWS.

Chiffrement

Q : Puis-je chiffrer des données dans mon cluster Amazon MSK ?
Oui, Amazon MSK utilise le chiffrement côté serveur Amazon Elastic Block Store (Amazon EBS) et les clés AWS Key Management Service (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 pendant le transit des nouveaux clusters par défaut est activé via le protocole TLS pour la communication entre agents. Pour les clusters approvisionnés, 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 sur TLS uniquement pour les clusters créés depuis l'interface de ligne de commande (CLI) ou la console de gestion AWS. Une configuration supplémentaire est requise pour que les clients puissent communiquer avec des clusters utilisant le chiffrement TLS. Pour les clusters approvisionnés, vous pouvez modifier le paramètre de chiffrement par défaut en sélectionnant les paramètres TLS/plaintext ou plaintext. En savoir plus sur le chiffrement MSK.

Q : Les données sont-elles chiffrées pendant leur transit entre les agents et les nœuds Apache ZooKeeper d'un cluster Amazon MSK ?
Oui, les clusters Amazon MSK fonctionnant sur Apache Kafka version 2.5.1 ou version supérieure prennent en charge le chiffrement TLS en transit entre les agents Kafka et les nœuds ZooKeeper.

Gestion de l'accès

Q : Comment contrôler l'authentification du cluster et l'autorisation de l'API Apache Kafka ?
Pour les clusters sans serveur, vous pouvez utiliser le contrôle d'accès IAM pour l'authentification et l'autorisation. Pour les clusters provisionnés, vous disposez de trois options : 1) le contrôle d'accès AWS Identity and Access Management (IAM) pour AuthN/Z (recommandé), 2) l'authentification par certificat TLS (CA) pour AuthN et listes de contrôle d'accès pour AuthZ, et 3) SASL/SCRAM pour AuthN et listes de contrôle d'accès pour AuthZ. Amazon MSK recommande d'utiliser le contrôle d'accès IAM. Il s'agit de l'option la plus facile à utiliser et la plus sûre, car elle propose par défaut l'accès au moindre privilège.

Q : Comment fonctionne l'autorisation dans Amazon MSK ?
Si vous utilisez le contrôle d'accès IAM, Amazon MSK utilise les politiques que vous écrivez et son propre autorisateur pour autoriser les actions. Si vous utilisez l'authentification par certificat TLS ou SASL/SCRAM, Apache Kafka utilise des listes de contrôle d'accès (ACL) pour l'autorisation. Pour activer les listes ACL, vous devez activer l'authentification client à l'aide de certificats TLS ou SASL/SCRAM.

Q : Comment authentifier et autoriser un client simultanément ?
Si vous utilisez le contrôle d'accès IAM, Amazon MSK authentifiera et autorisera pour vous sans aucune configuration supplémentaire. Si vous utilisez l'authentification TLS, vous pouvez utiliser le Dname des certificats TLS des clients comme mandataire de la liste ACL pour autoriser les demandes des clients. Si vous utilisez l'authentification SASL/SCRAM, vous pouvez utiliser le nom d'utilisateur comme mandataire de la liste ACL pour autoriser les demandes des clients.

Q : Comment contrôler les actions de l'API de service ?
Vous pouvez contrôler les actions de l'API de service à l’aide d’AWS Identity and Access Management (IAM).

Q : Puis-je activer le contrôle d'accès IAM pour un cluster existant ?
Oui, vous pouvez activer le contrôle d'accès IAM pour un cluster existant, depuis la console AWS ou à l'aide de l'API UpdateSecurity.

Q : Puis-je utiliser le contrôle d'accès IAM en dehors d'Amazon MSK ?
Non, le contrôle d'accès IAM est uniquement disponible pour les clusters Amazon MSK.

Q : Comment fournir des autorisations d'accès intercompte à un client Kafka dans un compte AWS différent de celui d'Amazon MSK pour qu'il puisse se connecter en privé à mon cluster Amazon MSK ?
Vous pouvez associer une politique de cluster à votre cluster Amazon MSK afin de fournir à vos clients Kafka multi-comptes les autorisations nécessaires pour configurer une connectivité privée à votre cluster Amazon MSK. Lorsque vous utilisez l'authentification du client IAM, vous pouvez également utiliser la politique de cluster pour définir de manière granulaire les autorisations du plan de données Kafka pour le client qui se connecte. Pour en savoir plus sur les stratégies de cluster, consultez la documentation sur les politiques de cluster.

Surveillance, métriques, journaux et étiquettes

Q : Comment contrôler les performances de mes clusters ou rubriques ?
Vous pouvez contrôler les performances de vos clusters à l'aide de la console Amazon MSK, de la console Amazon CloudWatch, ou à l'aide de JMX et des métriques d'hôtes qui utilisent Open Monitoring with Prometheus, une solution de surveillance open source.

Q : Quel est le coût des différents niveaux de surveillance CloudWatch ?
Le coût de la surveillance de votre cluster avec Amazon CloudWatch dépend du niveau de surveillance et de la taille de votre cluster Apache Kafka. Amazon CloudWatch est facturé par métrique par mois et inclut une offre gratuite. Consultez la section Tarification Amazon CloudWatch pour plus d'informations. Pour plus de détails sur le nombre de métriques exposées pour chaque niveau de surveillance, veuillez consulter la documentation qui traite de la surveillance d'Amazon MSK.

Q : Quels outils de surveillance sont compatibles avec Open Monitoring with Prometheus ?
Les outils qui sont conçus pour une lecture depuis des exportateurs Prometheus sont compatibles avec Open Monitoring, tels que : Datadog, Lenses, New Relic, Sumo Logic ou un serveur Prometheus. Pour plus de détails sur Open Monitoring, veuillez consulter la documentation Amazon MSK Open Monitoring.

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 étiqueter des ressources Amazon MSK ?
Oui, vous pouvez étiqueter des clusters Amazon MSK depuis la console AWS ou l'interface AWS Command Line Interface (AWS CLI).

Q : Comment puis-je contrôler le décalage subi pour les consommateurs ?
Les métriques du décalage des consommateurs au niveau de la rubrique sont incluses dans le jeu de métriques par défaut qu'Amazon MSK publie sur Amazon CloudWatch pour tous les clusters. Aucune configuration supplémentaire n'est nécessaire pour obtenir ces métriques. Pour les clusters approvisionnés, vous pouvez obtenir des métriques de décalage des consommateurs de niveau de partition (dimension de la partition). Pour ce faire, vous pouvez activer la surveillance améliorée (PER_PARTITION_PER_TOPIC) sur votre cluster. Vous pouvez aussi activer Open Monitoring sur votre cluster, et utiliser un serveur Prometheus pour capturer les métriques de niveau de partition des agents de votre cluster. Les métriques du décalage des consommateurs sont disponibles au port 11001, tout comme les autres métriques Kafka.

Q : Combien coûte la publication de la métrique du décalage du consommateur sur Amazon CloudWatch ?
Les métriques de niveau de rubrique sont incluses dans le jeu par défaut des métriques gratuites Amazon MSK. Les métriques de niveau de partition sont facturées selon la tarification Amazon CloudWatch.

Q : Comment accéder aux journaux d'agent Apache Kafka ?
Vous pouvez activer la diffusion de journaux d'agent pour les clusters approvisionnés. Vous pouvez livrer des journaux d'agent à Amazon CloudWatch Logs, Amazon Simple Storage Service (S3) et Amazon Kinesis Data Firehose. Kinesis Data Firehose prend en charge le service Amazon OpenSearch entre autres destinations. Pour savoir comment activer cette fonction, consultez la documentation sur les journaux Amazon MSK. Pour en savoir plus sur les tarifs, consultez les pages relatives à la tarification de CloudWatch Logs et Kinesis Data Firehose.

Q : Quel est le niveau de journalisation pour les journaux d'agent ?
Amazon MSK fournit des journaux de niveau INFO à tous les agents au sein d'un cluster approvisionné.

Q : Comment accéder aux journaux Apache ZooKeeper ?
Vous pouvez demander les journaux Apache ZooKeeper à l'aide d'un ticket de support.

Q : Puis-je journaliser l'utilisation des API de ressources d'Apache Kafka, comme la création de rubriques ?
Oui, si vous utilisez le contrôle d'accès IAM, l'utilisation des API de ressources Apache Kafka est enregistrée dans AWS CloudTrail.

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.

Intégrations

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

 

Amazon MSK sans serveur s'intègre avec :
  • Amazon S3 utilisant Kinesis Data Firehose pour fournir des données à Amazon S3 à partir de MSK d'une manière simple et sans code.
  • Amazon VPC pour l'isolement et la sécurité du réseau
  • Amazon CloudWatch pour les métriques
  • Amazon IAM pour l'authentification et l'autorisation d'Apache Kafka et des API de service
  • AWS Glue Schema Registry pour contrôler l'évolution des schémas utilisés par les applications Apache Kafka
  • AWS CloudTrail pour les journaux d'API AWS
  • AWS PrivateLink pour la connectivité privée

Mise à l'échelle

Q : Comment puis-je augmenter le stockage dans mon cluster ?
Vous pouvez augmenter le stockage de vos clusters approvisionnés via la console de gestion AWS ou l'interface AWS CLI. Vous pouvez également utiliser le stockage à plusieurs niveaux pour stocker virtuellement un nombre illimité de données sur votre cluster sans avoir à ajouter des agents pour le stockage. Dans les clusters sans serveur, le stockage est mis à l'échelle rapidement en fonction de votre utilisation.
 
Q : Comment fonctionne le stockage hiérarchisé ?
Apache Kafka stocke les données dans des fichiers appelés segments de journal. Lorsque chaque segment est complet, en fonction de la taille configurée au niveau du cluster ou du sujet, il est copié sur le niveau de stockage à faible coût. Les données sont conservées dans un stockage optimisé pour les performances pendant une durée ou une taille de rétention déterminée, puis elles sont supprimées. Il existe un paramètre distinct de limite de temps et de taille pour le stockage à faible coût, qui sera plus long que le niveau de stockage principal. Si les clients demandent des données à partir de segments stockés dans le niveau à faible coût, l'agent lira les données et les servira de la même manière que si elles étaient fournies à partir du stockage principal.

Q : Comment puis-je automatiquement étendre le stockage dans mon cluster ?
Vous pouvez créer une politique de scalabilité automatique pour le stockage en utilisant la console de gestion AWS ou en créant une stratégie AWS Application Auto Scaling à l'aide de l'interface AWS CLI ou des API.
 
Q : Puis-je mettre à l'échelle le nombre d'agents dans un cluster existant ?
Oui. Vous pouvez monter en puissance ou augmenter le nombre d'agents pour les clusters approvisionnés Amazon MSK existants.

Q : Puis-je mettre à l'échelle la taille d'un agent dans un cluster existant ?
Oui. Vous pouvez procéder à une mise à l'échelle vers un type d'agent plus petit ou plus grand sur vos clusters approvisionnés Amazon MSK.

Q : Comment équilibrer les partitions entre les agents ?
Vous pouvez utiliser Cruise Control pour rééquilibrer automatiquement les partitions afin de gérer l'activité I/O. Pour plus d'informations, veuillez consulter la documentation Cruise Control. Vous pouvez également utiliser l'API Kafka Admin kafka-reassign-partitions.sh pour réaffecter les partitions entre les agents. Dans les clusters sans serveur, Amazon MSK équilibre automatiquement les partitions.

Tarification et disponibilité

Q : Comment fonctionne la tarification d'Amazon MSK ?
La tarification dépend des ressources que vous créez. De plus amples informations sont disponibles sur notre page de tarification.

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 proposent Amazon MSK est disponible ici. 

Q : Comment fonctionne la tarification du transfert de données ?
Avec les clusters approvisionnés, 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.

Avec les clusters sans serveur, les frais de transfert de données standard d'AWS vous seront facturés à hauteur des données transférées vers ou depuis une région et pour les données transférées vers l'Internet public.

Conformité

Q : Quel programmes de conformité sont concernés par Amazon MSK ?
Amazon MSK est conforme ou éligible pour les programmes suivants :

  • Éligible HIPAA
  • PCI
  • ISO
  • SOC 1,2,3

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 (non applicable pour MSK sans serveur).
 
Q : Comment savoir si je peux bénéficier d'un avoir de service dans le cadre du contrat de niveau de service (SLA) ?
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 envoyer une demande, veuillez consulter la page détaillée du contrat de niveau de service Amazon MSK.

Réplication

Q : Qu'est-ce qu'Amazon MSK Replicator ?
Amazon MSK Replicator est une fonctionnalité d'Amazon MSK qui permet aux clients de répliquer des données de manière fiable sur des clusters Amazon MSK situés dans différentes Régions AWS (réplication entre régions) ou au sein de la même Région AWS (réplication dans la même région), sans avoir à écrire de code ni de gérer d'infrastructure. Vous pouvez utiliser la réplication entre régions pour créer des applications de streaming multi-régions hautement disponibles et tolérantes aux pannes pour une résilience accrue. Vous pouvez également l'utiliser pour fournir un accès à latence plus faible aux consommateurs dans diverses régions géographiques. Vous pouvez utiliser la réplication sur une même région (SRR) pour distribuer des données d'un cluster à plusieurs clusters afin de partager des données avec vos partenaires et vos équipes. Vous pouvez également utiliser la réplication SRR pour agréger les données de plusieurs clusters en un seul à des fins d'analyse.

Q : Comment utiliser MSK Replicator ?
Pour configurer la réplication entre une paire de clusters MSK source et cible, vous devez créer un réplicateur dans la Région AWS de destination. Pour créer un réplicateur, vous devez spécifier des informations telles que l'Amazon Resource Name (ARN) des clusters MSK source et cible et un rôle AWS Identity and Access Management (IAM) que MSK Replicator peut utiliser pour accéder aux clusters. Vous devez créer le cluster MSK cible s'il n'existe pas.

Q : Quels types de clusters Kafka sont pris en charge par MSK Replicator ?
MSK Replicator prend en charge la réplication sur des clusters MSK uniquement. Les clusters MSK de type alloué et sans serveur sont pris en charge. Vous pouvez également utiliser MSK Replicator pour passer du mode alloué au mode sans serveur ou vice-versa. Les autres clusters Kafka ne sont pas pris en charge.

Q : Puis-je spécifier les sujets que je souhaite répliquer ?
Oui, vous pouvez spécifier les sujets que vous souhaitez répliquer à l'aide des listes d'autorisation et de refus lors de la création du réplicateur.

Q : Est-ce que MSK Replicator reproduit les configurations de rubriques et les décalages de groupes de consommateurs ?
Oui. MSK Replicator réplique automatiquement les métadonnées Kafka requises, telles que la configuration de rubriques, les listes de contrôle d'accès (ACL) et les décalages de groupes de consommateurs, afin que les applications consommatrices puissent reprendre le traitement de manière fluide après le basculement. Vous pouvez désactiver un ou plusieurs de ces paramètres si vous souhaitez uniquement répliquer les données. Vous pouvez également spécifier les groupes de consommateurs que vous souhaitez répliquer à l'aide de listes d'autorisation ou de refus lors de la création du réplicateur.

Q : Dois-je mettre à l'échelle la réplication lorsque mon débit d'entrée change ?
Non, MSK Replicator déploie, alloue et met à l'échelle automatiquement l'infrastructure de réplication sous-jacente pour prendre en charge les modifications de votre débit d'entrée.

Q : Puis-je répliquer les données entre les clusters MSK de différents comptes AWS ?
Non, MSK Replicator prend uniquement en charge la réplication entre les clusters MSK d'un même compte AWS.

Q : Comment puis-je surveiller la réplication ?
Vous pouvez utiliser Amazon CloudWatch dans la région de destination pour consulter les métriques relatives à ReplicationLatency,
MessageLag et ReplicatorThroughput au niveau de la rubrique et de l'agrégation pour chaque réplicateur, sans frais supplémentaires. Les métriques seraient visibles sous ReplicatorName dans l'espace de noms « AWS/Kafka ». Vous pouvez également consulter les métriques ReplicatorFailure, AuthError et ThrottleTime pour vérifier si votre réplicateur rencontre des problèmes.

Q : Comment puis-je utiliser la réplication pour augmenter la résilience de mon application de streaming dans toutes les régions ?
Vous pouvez utiliser MSK Replicator pour configurer des topologies de clusters actif-actif ou actif-passif afin d'accroître la résilience de votre application Kafka dans toutes les régions. Dans une configuration actif-actif, les deux clusters MSK effectuent activement des opérations de lecture et d'écriture. En revanche, dans une configuration actif-passif, un seul cluster MSK diffuse activement des données, tandis que l'autre cluster est en veille.

Q : Puis-je utiliser MSK Replicator pour répliquer les données d'un cluster vers plusieurs clusters ou pour répliquer les données de plusieurs clusters vers un seul cluster ?
Oui. Il vous suffit de créer un réplicateur différent pour chaque paire de clusters source et cible.

Q : Comment se connecte MSK Replicator aux clusters MSK source et cible ?
MSK Replicator utilise le contrôle d'accès IAM pour se connecter à vos clusters source et cible. Vous devez activer vos clusters MSK source et cible pour le contrôle d'accès IAM afin de créer un réplicateur. Vous pouvez continuer à utiliser d'autres méthodes d'authentification en même temps pour vos clients, notamment SASL/SCRAM et mTLS, car Amazon MSK prend en charge plusieurs méthodes d'authentification simultanément.

Q : À quelle latence de réplication dois-je m'attendre avec MSK Replicator ?
MSK Replicator réplique les données de manière asynchrone. La latence de réplication varie en fonction de nombreux facteurs, notamment la distance réseau entre les Régions AWS de vos clusters MSK, la capacité de débit de vos clusters source et cible et le nombre de partitions sur vos clusters source et cible.

Q : Puis-je conserver les mêmes noms de rubrique avec MSK Replicator ?
Non, MSK Replicator crée de nouvelles rubriques dans le cluster cible avec un préfixe généré automatiquement et ajouté au nom de la rubrique. Par exemple, MSK Replicator répliquera les données « topic » du cluster source vers une nouvelle rubrique du cluster cible appelée « <sourceKafkaClusterAlias>.topic ». MSK Replicator fait cela pour distinguer les rubriques contenant des données répliquées à partir du cluster source des autres rubriques du cluster cible et éviter que les données ne soient répliquées de manière circulaire entre les clusters. Vous pouvez trouver le préfixe qui sera ajouté aux noms de rubrique dans le cluster cible dans le champ « sourceKafkaClusterAlias » à l'aide de l'API DescribeReplicator ou de la page de détails du réplicateur sur la console MSK.

Q : Puis-je répliquer les données existantes sur le cluster source ?
Non. Lorsque vous créez un nouveau réplicateur, il commence à répliquer les données à partir de l'extrémité du flux (dernière position) sur le cluster source.

Q : La réplication peut-elle entraîner une limitation des consommateurs sur le cluster source ?
MSK Replicator agissant en tant que consommateur pour votre cluster source, il est possible que la réplication entraîne une limitation des autres consommateurs sur votre cluster source. Cela dépend de la capacité de lecture dont vous disposez sur votre cluster source et du débit des données que vous répliquez. Nous vous recommandons de fournir une capacité identique pour vos clusters source et cible et de prendre en compte le débit de réplication lors du calcul de la capacité dont vous avez besoin. Vous pouvez également définir des quotas Kafka pour le réplicateur sur vos clusters source et cible afin de contrôler la capacité que le réplicateur peut utiliser.

Q : Puis-je compresser les données avant de les écrire dans le cluster cible ?
Oui, vous pouvez spécifier votre choix de codec de compression lors de la création du réplicateur parmi None, GZIP, Snappy, LZ4 et ZSTD.

Démarrer avec Amazon MSK

Calculez vos co&ucirc;ts
Calculez vos coûts

Consultez la page de tarification d'Amazon MSK.

Read the documentation
Consultez le guide de mise en route

Apprenez à configurer votre cluster Apache Kafka sur Amazon MSK dans ce guide étape par étape.

Ex&eacute;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.