Fonctionnalités d’Amazon Managed Streaming for Apache Kafka

Pourquoi choisir Amazon MSK ?

Amazon Managed Streaming for Apache Kafka (Amazon MSK) offre une gestion complète d’Apache Kafka, de Kafka Connect et le réplicateur Amazon MSK. Apache Kafka est un magasin de données distribué optimisé pour l’ingestion et le traitement des données diffusées en temps réel. Amazon MSK alloue votre infrastructure de clusters, 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. Avec Amazon MSK, vous pouvez consacrer plus de temps au développement et à l’exécution d’applications de diffusion d’événements qu’à la gestion de vos clusters Apache Kafka.

Vue aérienne du parcours

Intégration évolutive

Amazon MSK est l’épine dorsale de l’intégration pour les applications modernes de messagerie et d’événements au centre des services d’acquisition et de traitement des données ainsi que des architectures d’applications microservices. Il existe de nombreuses façons de s’intégrer à d’autres systèmes, y compris à une variété d’autres services AWS, ce qui rend le développement d’applications plus simple et plus rapide. Vous pouvez apporter votre propre connecteur et le déployer sur une infrastructure entièrement gérée via Amazon MSK Connect. Vous pouvez également choisir parmi une liste toujours croissante d’intégrations natives avec d’autres services AWS, tels qu’Amazon S3, Amazon Redshift, le service géré Amazon pour Apache Flink et AWS Lambda. Amazon MSK s’intègre également à AWS Identity and Access Management (IAM), AWS Certificate Manager (ACM) et AWS Key Management Service (AWS KMS) pour fournir un accès client sécurisé, authentifié et autorisé à vos données. Vous avez également la possibilité d’appliquer la gouvernance des schémas par le biais d’AWS Glue Schema Registry.

Paysage urbain

Compatible avec Apache Kafka

Amazon MSK prend en charge toutes les fonctionnalités d’Apache Kafka dès le départ et met les nouvelles versions d’Apache Kafka à disposition quelques semaines après leur mise à disposition publique.

Amazon MSK maintient une compatibilité totale avec le protocole client open source d’Apache Kafka, de sorte que les applications et les outils conçus pour Apache Kafka fonctionnent avec Amazon MSK dès le départ, sans modification du code de l’application.

Vous pouvez mettre à niveau les versions Apache Kafka sur les clusters alloués en quelques clics, ce qui vous permet de décider quand bénéficier de fonctionnalités et de correctifs 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 pour vous la disponibilité des E/S clients.

Choisissez votre propre type de cluster

Amazon MSK alloué fournit un contrôle précis de votre cluster Apache Kafka. Vous pouvez choisir votre type d’agent, préallouer les instances de serveur, sélectionner le type de stockage que vous souhaitez et choisir la version d’Apache Kafka de votre choix. Vous pouvez également choisir quand et dans quelle mesure vous souhaitez mettre vos clusters à l’échelle en fonction de la variation de la charge de travail.

Amazon MSK sans serveur gère entièrement votre cluster Apache Kafka. Vous n’avez donc pas à estimer la capacité dont vous avez besoin pour votre charge de travail ou à décider quand la mettre à l’échelle en réponse au trafic.

Aucun serveur à gérer

Quel que soit le type de cluster que vous choisissez, en quelques étapes dans la console de gestion AWS, vous pouvez créer un cluster entièrement géré, hautement disponible, sécurisé et étayé par les systèmes avancés de surveillance et de détection Amazon MSK qui préservent automatiquement la santé opérationnelle de votre cluster.

Apache Kafka utilise Apache Kafka Raft (KRaft) ou Apache ZooKeeper pour la gestion des métadonnées. Amazon MSK vous permet de créer des clusters dans l’un ou l’autre mode sur les versions d’Apache Kafka prises en charge. Amazon MSK gère également ces nœuds de métadonnées supplémentaires pour vous, sans frais supplémentaires.

Plusieurs types d’agents

Les agents Express sont un type d’agent proposé dans le cadre de MSK alloué. Les agents Express simplifient la gestion d’Apache Kafka, le rendent plus rentable à exécuter à grande échelle et le rendent plus élastique avec la même faible latence que vous attendez. Les agents Express incluent une capacité de stockage élastique et pratiquement illimitée qui ne nécessite aucune charge de gestion, fournit jusqu’à 3 fois plus de débit par agent et peut augmenter verticalement jusqu’à 20 fois plus vite. La récupération peut également être jusqu’à 90 % plus rapide que les agents Apache Kafka standard grâce aux services Amazon Managed Streaming for Apache Kafka (MSK).

Les agents standard sous MSK alloué offrent la plus grande flexibilité pour configurer les performances de votre cluster. Vous pouvez choisir parmi un large éventail de configurations sur le cluster pour ajuster les dimensions, notamment la disponibilité, la durabilité, le débit et la latence. Sur les agents standard, vous contrôlez également les configurations de stockage de votre cluster et êtes responsable de la gestion de l’allocation et de l’utilisation du stockage.

Options de stockage

Les agents Express proposent une capacité de stockage élastique et pratiquement illimitée qui ne nécessite aucun dimensionnement, aucune allocation ni aucune gestion continue de la capacité. La capacité de stockage se met automatiquement à l’échelle selon vos besoins de conservation des données et vous ne payez que pour le stockage que vous utilisez.

Avec le stockage à plusieurs niveaux, vous pouvez stocker virtuellement un nombre illimité de données dans Amazon MSK sans avoir à approvisionner et à gérer la capacité de stockage. Vous pouvez activer le stockage hiérarchisé en quelques étapes pour les clusters existants et ne payer que 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 ensuite Amazon MSK classer automatiquement les données dans le niveau à faible coût pour une rétention plus longue. Cette fonctionnalité est prise en charge dans toutes les Régions AWS où Amazon MSK est disponible. Pour découvrir comment démarrer avec le stockage à plusieurs niveaux, consultez le Guide du développeur Amazon MSK.

Hautement résilient

Tous les clusters sont répartis dans plusieurs zones de disponibilité (trois par défaut), et Amazon MSK assure la réplication des données dans ces zones de disponibilité sans frais supplémentaires. La disponibilité de votre cluster est également garantie par le contrat de niveau de service Amazon MSK qui garantit une disponibilité de 99,9 %.

Amazon MSK dispose de systèmes automatisés qui détectent les problèmes et y répondent rapidement. Si un composant tombe en panne, Amazon MSK le remplace automatiquement sans que vos applications ne subissent d’interruption. Nous déployons également automatiquement les correctifs logiciels nécessaires pour que votre cluster reste à jour et fonctionne sans problème.

Les agents Amazon MSK sans serveur et Express de MSK alloué appliquent des configurations conformes aux pratiques exemplaires, telles que la réplication à trois voies, et réservent de la bande passante pour les opérations en arrière-plan, telles que la réplication et la restauration, afin que vous puissiez obtenir plus facilement une disponibilité prévisible des ressources de votre cluster.

À l’aide du réplicateur Amazon MSK, vous pouvez configurer la réplication continue des données vers un cluster de sauvegarde secondaire dans une autre région, ce qui vous permet de créer des applications multirégions hautement disponibles et tolérantes aux pannes pour une résilience accrue. Vous pouvez également utiliser le réplicateur MSK pour fournir un accès aux données à faible latence dans différentes régions géographiques ou pour distribuer des données à vos partenaires.

Hautement sécurisé

Vos clusters Apache Kafka s’exécutent dans un Amazon Virtual Private Cloud (Amazon VPC) géré par Amazon MSK. Les clients Kafka de votre propre Amazon VPC peuvent accéder en privé au cluster via une interface réseau élastique entre comptes qu’Amazon MSK déploie dans votre VPC. Si vos clients Kafka sont répartis sur un ou plusieurs VPC ou comptes AWS, vous pouvez toujours vous connecter en privé à votre cluster à l’aide de la fonctionnalité de connectivité privée multi-VPC. Cette fonctionnalité supprime les frais opérationnels liés à l’autogestion d’une solution AWS PrivateLink et se met à l’échelle de manière transparente à mesure que le cluster Amazon MSK évolue, ce qui vous permet de maintenir une connectivité privée avec le cluster sans apporter de modifications supplémentaires à la configuration. La connectivité privée multi-VPC supprime également les difficultés liées à la gestion des adresses IP qui ne se chevauchent pas et aux tables de routage et d’appairage complexes associées à d’autres solutions de connectivité VPC.  La fonctionnalité de connectivité privée multi-VPC permet de superposer les adresses IP entre les VPC connecté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. Par défaut, vos clusters sont sécurisés à l’aide d’autorisations de moindre privilège. 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.

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é AWS KMS par défaut, ou de votre propre clé. Vous pouvez également chiffrer des données en transit au moyen du 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 au moyen du protocole TLS.

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 VPC privé peuvent diffuser des données chiffrées vers et depuis des clusters Amazon MSK spécifiques.

Évolutif

Vous pouvez mettre à l’échelle vos clusters MSK alloué en ajoutant d’autres agents ou en passant à une instance d’agent de plus grande taille en quelques minutes, sans durée d’indisponibilité. De même, vous pouvez réduire verticalement la capacité de votre cluster en supprimant des agents ou en passant à une instance d’agent de plus petite taille.

Les clusters Amazon MSK sans serveur ajustent automatiquement les ressources de calcul et de stockage disponibles pour vos charges de travail en réponse aux besoins de débit de votre application.

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.

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

Avec Amazon MSK, vous pouvez choisir le niveau de configuration de vos clusters. Les agents Express sont préconfigurés avec les pratiques exemplaires recommandées par défaut par Amazon MSK. Cela garantit une disponibilité, une durabilité et des performances de débit optimales dès le départ. Vous pouvez personnaliser certaines configurations pour répondre aux besoins spécifiques de votre charge de travail. D’autre part, les agents Standard vous offrent la possibilité de modifier plus de 30 configurations de clusters différentes. Cela vous permet d’adapter la disponibilité, les performances tarifaires et le comportement global du cluster à vos besoins exacts. Vous avez également accès à la suite complète de configurations dynamiques et thématiques de Kafka, ce qui vous permet d’affiner votre expérience. Pour en savoir plus, consultez la documentation relatives aux Configurations MSK personnalisées.

Observable

Vous pouvez visualiser et surveiller les métriques clés à l’aide d’Amazon CloudWatch pour comprendre et maintenir les performances de l’application de streaming. Un ensemble par défaut de plus de 50 métriques est disponible sans frais supplémentaires. Vous pouvez également améliorer la surveillance au niveau des agents et des rubriques pour résoudre des problèmes spécifiques. Les métriques améliorées sont facturées aux tarifs standard de CloudWatch.

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.

Les journaux d’agents vous permettent de dépanner vos applications Apache Kafka et d’analyser leurs communications avec votre cluster MSK. Vous pouvez envoyer les journaux d’agents Apache Kafka vers un ou plusieurs des types de destination suivants : Amazon CloudWatch Logs, Amazon Simple Storage Service (Amazon S3) et Amazon Data Firehose. Vous pouvez également journaliser les appels d’API Amazon MSK avec AWS CloudTrail.

Intégré profondément

Nous proposons un large éventail d’intégrations AWS dans Amazon MSK. Ces intégrations incluent les éléments suivants :