Amazon Managed Streaming for Apache Kafka (MSK) offre un cluster Apache Kafka entièrement géré. Cela implique qu'Amazon MSK alloue vos serveurs, configure vos clusters Apache Kafka, remplace les serveurs en cas de défaillance, orchestre les correctifs et mises à niveau de serveurs, structure les clusters pour une haute disponibilité. Il garantit également que les données sont stockées et sécurisées de manière durable, configure la surveillance et les alarmes et exécute la mise à l'échelle pour la prise en charge des modifications de charges. Un service géré vous permet de consacrer votre temps au développement et à l'exécution d'applications d'évènements en streaming.
Amazon MSK fournit des clusters Apache Kafka open source, hautement sécurisés et distribués dans plusieurs zones de disponibilité (AZ), vous offrant un stockage de streaming résilient et hautement disponible. Amazon MSK est hautement configurable, observable et évolutif, ce qui permet la flexibilité et le contrôle nécessaires pour divers cas d'utilisation.
Le développement d'applications est plus simple avec Amazon MSK grâce à des intégrations étroites avec d'autres services AWS. Amazon MSK s'intègre à AWS Identity and Access Management (IAM) et AWS Certificate Manager pour la sécurité, à AWS Glue Schema Registry pour la gouvernance des modèles, à Amazon Kinesis Data Analytics et AWS Lambda pour le traitement de la diffusion, etc. Amazon MSK fournit une intégration backbone pour les applications de messagerie et d'évènements modernes qui sont au cœur de l'ingestion des données et des services de traitement, ainsi que les architectures d'applications de microservice.
Aucun serveur à gérer
Service entièrement géré
En quelques clics dans la console, vous pouvez créer un cluster Apache Kafka entièrement géré qui suit les bonnes pratiques de déploiement d'Apache Kafka, ou vous pouvez créer votre propre cluster à l'aide de votre propre configuration personnalisée. Une fois que vous avez créé la configuration souhaitée, Amazon MSK alloue, configure et gère automatiquement les opérations de votre cluster Apache Kafka et de vos nœuds Apache ZooKeeper.
Apache ZooKeeper inclus
Apache ZooKeeper est requis pour exécuter Apache Kafka, coordonner les tâches du cluster et maintenir l'état des ressources interagissant avec le cluster. Amazon MSK gère les nœuds Apache ZooKeeper pour vous. Chaque cluster Amazon MSK inclut le nombre approprié de nœuds Apache ZooKeeper pour votre cluster Apache Kafka, sans frais supplémentaires.
Amazon 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. MSK Serverless alloue et met à l'échelle automatiquement les ressources tout en gérant les partitions Apache Kafka, afin que vous puissiez diffuser des données en continu sans vous préoccuper du bon dimensionnement ou de la mise à l'échelle de vos clusters.
Hautement disponible
Haute disponibilité par défaut
Tous les clusters sont distribués dans plusieurs zones de disponibilité (trois AZ par défaut), sont pris en charge par le contrat de niveau de service d'Amazon MSK et sont assistés par des systèmes automatisés qui détectent et répondent aux problèmes de l'infrastructure du cluster et du logiciel Apache Kafka. Si un composant tombe en panne, Amazon MSK le remplace automatiquement sans que vos applications ne subissent d'interruption. Amazon MSK gère la disponibilité de vos nœuds Apache ZooKeeper afin que vous n'ayez pas besoin de démarrer, d'arrêter ou d'accéder directement aux nœuds par vous-même. MSK déploie également automatiquement les correctifs de logiciel nécessaires pour que votre cluster reste à jour et fonctionne correctement.
Réplication de données
Amazon MSK utilise la réplication multi-AZ pour une haute disponibilité. La réplication des données est incluse sans frais supplémentaires.
Hautement sécurisé
Connectivité privée
Vos clusters Apache Kafka s'exécutent dans un Amazon Virtual Private Cloud (VPC) géré par Amazon MSK. Vos clusters sont disponibles pour vos propres VPC, sous-réseaux et groupes de sécurité Amazon en fonction de la configuration que vous indiquez. Vous contrôlez totalement la configuration de votre réseau et adresses IP.
Contrôle détaillé des accès
IAM Access Control est une option de sécurité sans frais qui simplifie l'authentification de cluster et l'autorisation d'API Apache Kafka à l'aide de rôles IAM ou de politiques utilisateur pour contrôler l'accès. Avec IAM Access Control, les clients n'ont plus à créer et exécuter des systèmes de gestion des accès ponctuels pour contrôler l'authentification des clients et l'autorisation pour Apache Kafka. Vous pouvez sécuriser vos clusters à l'aide des autorisations à moindre privilège par défaut. Pour les clusters alloués, vous pouvez utiliser les protocoles Simple Authentication and Security Layer (SASL)/Salted Challenge Response Authentication Mechanism (SCRAM) ou l'authentification par protocole TLS (Transport Layer Security) mutuelle avec les listes de contrôle d'accès Apache Kafka (ACL) pour contrôler l'accès des clients.
Chiffrement au repos et en transit
Amazon MSK chiffre vos données au repos sans configuration spéciale ni outils tiers. Pour les clusters alloués, toutes les données au repos peuvent être chiffrées à l'aide de la clé par défaut AWS Key Management Service (KMS), ou de votre propre CMK. Vous pouvez également chiffrer des données pendant le transit via le protocole TLS entre des agents, ainsi qu'entre des clients et des agents sur votre cluster. Pour les clusters sans serveur, toutes les données au repos sont chiffrées par défaut à l'aide des clés gérées par le service, tandis que toutes les données en transit le sont par défaut via le protocole TLS.
Connectivité sur Internet
Amazon MSK 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.
Intégré profondément
Aucun autre fournisseur n'offre l'ampleur et la profondeur des intégrations AWS dans Amazon MSK. Ces intégrations incluent :
- AWS IAM pour le contrôle d'accès à Apache Kafka et aux API au niveau des services
- Amazon Kinesis Data Analytics, qui permet d'exécuter des applications Apache Flink entièrement gérées pour traiter des données en continu dans Apache Kafka
- Amazon Kinesis Data Analytics Studio, qui permet d'exécuter du SQL en streaming de manière interactive et des tâches SQL chronophages à l'aide d'Apache FlinkSQL
- AWS Glue Schema Registry pour contrôler et faire évoluer les schémas de manière centralisée
- AWS IoT Core pour le streaming d'évènements IoT dans MSK
- AWS Database Migration Service (AWS DMS) pour la modification de la capture et de l'analytique de données
- AWS Virtual Private Cloud (Amazon VPC) pour la connectivité des clients privés et l'isolement du réseau
- AWS Key Management Service (AWS KMS) pour le chiffrement au repos
- AWS Certificate Manager Private Certificate Authority pour l'authentification TLS mutuelle des clients
- AWS Secrets Manager pour le stockage et la gestion sécurisés des secrets SASL/SCRAM
- AWS CloudFormation pour déployer Amazon MSK en code
- Amazon CloudWatch pour les métriques au niveau du cluster, de l'agent, des rubriques, du consommateur et de la partition
Open source
Exécution avec Apache Kafka natif
Amazon MSK déploie des versions natives d'Apache Kafka, de sorte que les applications et les outils conçus pour Apache Kafka fonctionnent immédiatement avec Amazon MSK, sans modification du code de l'application.
Disponibilité de la version simplifiée
Amazon MSK propose généralement les versions les plus récentes d'Apache Kafka dans les sept jours suivant leur disponibilité publique.
Mises à niveau des versions en continu
Vous pouvez mettre à niveau les versions Apache Kafka sur les clusters alloués en quelques clics, ce qui vous permettra de décider quand bénéficier de fonctions et de corrections de bugs présents dans les nouvelles versions Apache Kafka. Amazon MSK automatise le déploiement des mises à niveau de version sur les clusters en cours d'exécution afin de maintenir la disponibilité des I/O des clients pour les clients qui suivent les bonnes pratiques. Pour les clusters sans serveur, les versions Apache Kafka sont mises à niveau automatiquement par Amazon MSK.
Solution la plus économique
Amazon MSK vous permet de démarrer pour moins de 2,50 USD par jour. Les clients paient généralement entre 0,05 USD et 0,07 USD par Go ingéré, tout compris, ce qui représente jusqu'à 1/13e du coût des autres fournisseurs gérés. Consultez notre page de tarification Amazon MSK pour en savoir plus sur les tarifs.
Évolutif
Mise à l'échelle des agents (pour les clusters alloués uniquement)
Vous pouvez mettre à l'échelle vos clusters Amazon MSK en modifiant la taille ou la famille de vos agents Apache Kafka en quelques minutes et sans interruption. La modification de la taille ou de la famille est une solution populaire pour mettre à l'échelle les clusters Amazon MSK, car elle vous donne la possibilité d'ajuster la capacité de calcul de vos clusters en fonction de l'évolution de vos charges de travail. Cette méthode peut être préférée, car elle ne nécessite pas de réaffectation des partitions qui pourrait avoir un impact sur la disponibilité d'Apache Kafka.
Mise à l'échelle des clusters (pour les clusters sans serveur uniquement)
Amazon MSK met automatiquement à l'échelle les ressources de calcul et de stockage de vos clusters en fonction du débit nécessaire à votre application.
Gestion automatique des partitions
Amazon MSK s'intègre à Cruise Control, un outil open source populaire pour Apache Kafka qui gère automatiquement l'affectation des partitions en votre nom. Pour les clusters sans serveur, Amazon MSK gère automatiquement les affectations de partition pour vous.
Mise à l'échelle automatique du stockage (pour les clusters alloués uniquement)
Vous pouvez augmenter de manière transparente le volume de stockage alloué par agent pour qu'il corresponde aux modifications des exigences de stockage via la console de gestion AWS ou AWS Command Line Interface (AWS CLI). En outre, vous pouvez créer une politique de scalabilité automatique afin d'étendre automatiquement votre capacité de stockage et ainsi satisfaire aux exigences croissantes en matière de streaming.
Configurable
Amazon MSK déploie par défaut la bonne pratique de configuration pour les clusters Apache Kafka. Pour les clusters alloués, vous pouvez personnaliser plus de 30 configurations de cluster différentes tout en prenant en charge toutes les configurations dynamiques, ainsi qu'au niveau des rubriques. Pour en savoir plus, référez-vous aux Configurations MSK personnalisées figurant dans la documentation.
Visible
Observabilité aisée des performances de streaming avec les métriques CloudWatch par défaut
Vous pouvez visualiser et contrôler les métriques importantes à l'aide d'Amazon CloudWatch, ce qui vous permet de comprendre et de maintenir les performances de l'application de streaming.
Exportez les métriques JMX et Node vers un serveur Prometheus à l'aide d'Open Monitoring (pour les clusters alloués uniquement)
Open Monitoring with Prometheus vous permet de contrôler Amazon MSK en utilisant des solutions telles que Datadog, Lenses, New Relic, Sumo logic, ou un serveur Prometheus, et de migrer facilement vos tableaux de bord de surveillance existants vers Amazon MSK. Pour plus d'informations, consultez Open Monitoring with Prometheus dans la documentation.
Stockage à plusieurs niveaux
Avec le stockage à plusieurs niveaux, vous pouvez stocker virtuellement un nombre illimité de données dans MSK sans avoir à approvisionner et à gérer la capacité de stockage avec le stockage à plusieurs niveaux. Vous pouvez activer le stockage à plusieurs niveaux en quelques clics pour les clusters nouveaux ou existants et payer pour ce que vous utilisez. Vous pouvez d'abord stocker les données dans un niveau de stockage principal optimisé en termes de performances et laisser MSK classer automatiquement les données dans le nouveau niveau à faible coût pour une rétention plus longue. Cette fonction est prise en charge dans toutes les régions AWS où MSK est présent. Pour découvrir comment démarrer le stockage à plusieurs niveaux, consultez notre Guide du développeur Amazon MSK.
Mise en route avec Amazon MSK

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

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