Amazon Managed Streaming for Apache Kafka (MSK) ofrece Apache Kafka completamente administrado. Esto significa que Amazon MSK aprovisiona sus servidores, configura sus clústeres de Apache Kafka, reemplaza los servidores cuando presentan errores, orquesta los parches y las actualizaciones del servidor, diseña los clústeres para una alta disponibilidad, se asegura de que los datos se almacenen y protejan de manera duradera, configura el monitoreo y las alarmas, y ejecuta el escalado para admitir los cambios de carga. Con un servicio administrado, puede dedicar su tiempo a desarrollar y ejecutar aplicaciones de eventos de streaming.
Amazon MSK proporciona clústeres de Apache Kafka altamente seguros y de código abierto que están distribuidos entre varias zonas de disponibilidad (AZ), lo que le brinda un almacenamiento de streaming de alta disponibilidad y resiliencia. Amazon MSK presenta una gran capacidad para la configuración, la observabilidad y la escalabilidad, lo que brinda la flexibilidad y el control necesarios para distintos casos de uso.
El desarrollo de aplicaciones es más sencillo con Amazon MSK gracias a las estrechas integraciones a otros servicios de AWS. Amazon MSK se integra a AWS Identity and Access Management (IAM) y AWS Certificate Manager para la seguridad, el registro de esquemas de AWS Glue para la gobernanza de esquemas, Amazon Managed Service para Apache Flink y AWS Lambda para el procesamiento de transmisiones y más. Amazon MSK proporciona la red troncal de integración para aplicaciones modernas de mensajería y eventos en el centro de los servicios de captura y procesamiento de datos, así como las arquitecturas de aplicaciones de microservicios.
Ningún servidor para administrar
Administración total
Con unos pocos clics en la consola, puede crear un clúster de Apache Kafka completamente administrado que siga las prácticas recomendadas de implementación de Apache Kafka, o bien, puede crear su propio clúster con una configuración personalizada. Una vez que crea la configuración deseada, Amazon MSK aprovisiona, configura y administra de manera automática su clúster de Apache Kafka.
Nodos de administración de metadatos incluidos
Apache Kafka uses either KRaft (Apache Kafka Raft) or Apache ZooKeeper for metadata management. Amazon MSK permite crear clústeres en cualquier modo en las versiones compatibles de Apache Kafka. Además, Amazon MSK administra estos nodos de metadatos adicionales por usted sin costo adicional.
Amazon MSK Serverless
MSK Serverless es un tipo de clúster para Amazon MSK que facilita la ejecución de los clústeres de Apache Kafka sin tener que administrar la capacidad de computación y de almacenamiento. Este clúster aprovisiona y escala los recursos de manera automática a la vez que administra las particiones de Apache Kafka, lo que le permite transmitir datos sin tener que preocuparse por el dimensionar como corresponde o escalar los clústeres.
Alta disponibilidad
La alta disponibilidad es predeterminada
Todos los clústeres se distribuyen en varias zonas de disponibilidad (tres es el valor predeterminado), están respaldados por el acuerdo de nivel de servicio de Amazon MSK y cuentan con la tecnología de sistemas automatizados que detectan y solucionan los problemas de la infraestructura del clúster y del software de Apache Kafka. Si un componente falla, Amazon MSK lo sustituye automáticamente sin que sus aplicaciones queden inactivas. Amazon MSK administra la disponibilidad de sus nodos controladores de Apache ZooKeeper o KRaft para que no tenga que iniciar, detener ni acceder directamente a los nodos. También implementa parches de software de manera automática según sean necesarios para mantener su clúster actualizado y funcionando sin problemas.
Replicación de datos confiable y automatizada en clústeres de MSK
MSK Replicator es una característica de Amazon MSK que le permite replicar datos de manera confiable en los clústeres de Amazon MSK con solo unos pocos clics sin necesidad de experiencia para configurar herramientas de código abierto, escribir código o administrar la infraestructura. MSK Replicator aprovisiona y escala automáticamente los recursos subyacentes para que pueda replicar los datos bajo demanda y pagar solo por lo que utilice. Con MSK Replicator, puede crear aplicaciones multirregionales de alta disponibilidad y tolerantes a errores para aumentar la resiliencia. También puede usar MSK Replicator para proporcionar acceso a los datos de menor latencia en diferentes regiones geográficas o para distribuir los datos a sus socios.
Alto nivel de seguridad
Conectividad privada
Su clúster de Apache Kafka se ejecuta en una nube virtual privada (VPC) administrada por Amazon MSK. Los clientes de Kafka de su propia VPC Amazon pueden acceder al clúster de forma privada a través de una interfaz de red elástica entre cuentas que Amazon MSK implementa en su VPC. Si sus clientes de Kafka están repartidos en una o más VPC o cuentas de AWS, puede seguir conectándose de forma privada a su clúster mediante la característica de conectividad privada de múltiples VPC. Esta característica elimina la sobrecarga operativa que supone la autoadministración de una solución de PrivateLink y se escala sin interrupciones a medida que el clúster de Amazon MSK se escala, lo que permite mantener la conectividad privada con el clúster sin realizar cambios de configuración adicionales. La conectividad privada de múltiples VPC también elimina los desafíos de administrar las IP que no se superponen y las complejas tablas de enrutamiento y emparejamiento asociadas a otras soluciones de conectividad de VPC, ya que permite superponer las IP entre las VPC conectadas.
Control de acceso entre cuentas
Utilice una política de clústeres para su clúster de Amazon MSK a fin de definir qué entidades principales de IAM tienen permisos entre cuentas para configurar la conectividad privada con su clúster de Amazon MSK. Cuando se utiliza con la autenticación de clientes de IAM, también puede utilizar la política de clústeres para definir de forma detallada los permisos del plano de datos de Kafka para los clientes que se conectan.
Control de acceso detallado
El Control de acceso de IAM es una opción de seguridad sin costo que simplifica la autenticación del clúster y la autorización de la API de Apache Kafka por medio de roles de IAM o políticas de usuario para controlar el acceso. Con el Control de acceso de IAM, ya no es necesario crear ni ejecutar sistemas de administración de acceso único para controlar la autenticación y la autorización del cliente para Apache Kafka. Sus clústeres están protegidos mediante permisos con privilegios mínimos de manera predeterminada. Para los clústeres aprovisionados, también puede utilizar Simple Authentication and Security Layer (SASL) o Salted Challenge Response Authentication Mechanism (SCRAM), o bien, la autenticación mutua de Transport Layer Security (TLS) con listas de control de acceso (ACL) de Apache Kafka para controlar el acceso de los clientes.
Cifrado en tránsito y en reposo
Amazon MSK cifra sus datos en reposo sin necesidad de contar con configuraciones especiales ni herramientas de terceros. Para los clústeres aprovisionados, todos los datos en reposo se pueden cifrar mediante una clave de AWS Key Management Service (KMS) de manera predeterminada o con su propia clave. También puede cifrar los datos en tránsito a través de TLS entre los agentes y entre los clientes y los agentes en el clúster. Para los clústeres sin servidor, todos los datos en reposo se cifran de manera predeterminada mediante claves administradas por el servicio, y todos los datos en tránsito se cifran de manera predeterminada a través de TLS.
Conectividad a través de Internet
Amazon MSK ofrece una opción para conectarse de forma segura a los agentes de los clústeres de Amazon MSK que ejecutan Apache Kafka 2.6.0 o versiones posteriores a través de Internet. Al habilitar el acceso público, los clientes autorizados externos a una nube virtual privada (VPC) de Amazon pueden transmitir datos cifrados desde clústeres específicos de Amazon MSK y hacia estos.
Control de acceso entre cuentas
Utilice una política de clústeres para su clúster de Amazon MSK a fin de definir qué entidades principales de IAM tienen permisos entre cuentas para configurar la conectividad privada con su clúster de Amazon MSK. Cuando se utiliza con la autenticación de clientes de IAM, también puede utilizar la política de clústeres para definir de forma detallada los permisos del plano de datos de Kafka para los clientes que se conectan.
Excelente integración
Ningún otro proveedor ofrece la amplitud y profundidad de las integraciones de AWS en Amazon MSK. Estas integraciones incluyen:
- AWS IAM para Apache Kafka y control de acceso a la API del servicio
- Amazon Managed Service para Apache Flink para ejecutar aplicaciones de Apache Flink completamente administradas y así procesar datos de streaming dentro de Apache Kafka
- Amazon Managed Service para Apache Flink Studio para ejecutar trabajos de SQL de streaming interactivo y SQL de larga ejecución con Apache FlinkSQL
- Registro de esquemas de AWS Glue para controlar y evolucionar los esquemas de manera centralizada
- AWS IoT Core para el streaming de eventos de IoT hacia MSK
- AWS Database Migration Service (AWS DMS) para la captura y el análisis de datos de cambios
- Amazon Virtual Private Cloud (Amazon VPC) para la conectividad privada de clientes y el aislamiento de la red
- AWS Key Management Service (AWS KMS) para el cifrado en reposo
- AWS Certificate Manager Private Certificate Authority para la autenticación mutua TLS de clientes
- AWS Secrets Manager para el almacenamiento y la administración seguros de secretos SASL/SCRAM
- AWS CloudFormation para implementar Amazon MSK en código
- Amazon CloudWatch para las métricas a nivel de clúster, agente, tema, consumidor y partición
Graviton
Código abierto
Ejecución con Apache Kafka nativo
Amazon MSK implementa versiones nativas de Apache Kafka de manera que las aplicaciones y las herramientas creadas para Apache Kafka simplemente funcionen con Amazon MSK de manera inmediata, sin necesidad de cambiar el código de la aplicación.
Disponibilidad simplificada de versiones
Amazon MSK suele publicar las nuevas versiones de Apache Kafka en el marco de siete días desde su disponibilidad pública.
Actualizaciones de versiones sin problemas
Puede actualizar las versiones de Apache Kafka en los clústeres aprovisionados con tan solo unos pocos clics, lo que le permite decidir cuándo aprovechar las características y las correcciones de errores presentes en las nuevas versiones de Apache Kafka. Amazon MSK automatiza la implementación de las actualizaciones de versiones en los clústeres en ejecución para mantener la disponibilidad de E/S cliente para los clientes que siguen las prácticas recomendadas. Para lo clústeres sin servidor, las versiones de Apache Kafka se actualizan de manera automática con Amazon MSK.
Menor costo
Puede empezar a utilizar Amazon MSK por menos de 2,00 USD al día. Los clientes suelen pagar entre 0,05 y 0,07 USD por GB ingerido, todo incluido, lo que puede suponer hasta 1/13 parte del costo de otros proveedores administrados. Para obtener más información acerca de los precios, visite la página de precios de Amazon MSK.
Almacenamiento por niveles
Gracias al almacenamiento por niveles, puede almacenar datos ilimitados de forma virtual en MSK sin la necesidad de aprovisionar y administrar la capacidad de almacenaje con almacenamiento por niveles. Puede habilitar el almacenamiento por niveles con unos pocos clics para los clústeres nuevos o existentes, y solo pagará por el uso que se le dé. Puede almacenar primero los datos en un nivel de almacenamiento principal de rendimiento optimizado y permitir que MSK organice automáticamente por niveles los datos en el nuevo nivel de bajo costo para conservarlos por más tiempo. Esta característica se admite en todas las regiones de AWS donde se encuentre disponible MSK. Para saber cómo comenzar con el almacenamiento por niveles, consulte nuestra guía para desarrolladores de Amazon MSK.
Escalabilidad
Escalado de agente (solo para clústeres aprovisionados)
Puede escalar sus clústeres de Amazon MSK cambiando el tamaño o la familia de sus agentes de Apache Kafka en cuestión de minutos sin tiempo de inactividad. Cambiar el tamaño o la familia es una manera popular de escalar los clústeres de Amazon MSK porque le ofrece la flexibilidad necesaria para ajustar la capacidad informática de su clúster para los cambios en sus cargas de trabajo. Este método es preferible porque no requiere la reasignación de particiones, la cual puede afectar la disponibilidad de Apache Kafka.
Escalado de clúster (solo para clústeres sin servidor)
Amazon MSK escala automáticamente los recursos informáticos y de almacenamiento de sus clústeres conforme a las necesidades de rendimiento de su aplicación.
Administración automática de particiones
Amazon MSK se integra a Cruise Control, una popular herramienta de código abierto para Apache Kafka que administra de manera automática la asignación de particiones en su nombre. Para los clústeres sin servidor, Amazon MSK administra de manera automática la asignación de particiones en su nombre.
Escalado de almacenamiento automático (solo para clústeres aprovisionados)
Puede escalar verticalmente sin problemas la cantidad de almacenamiento aprovisionado por agente para que coincida con los cambios en los requisitos de almacenamiento mediante la consola de administración de AWS o la AWS Command Line Interface (AWS CLI). También puede crear una política de escalado automático para expandir automáticamente su almacenamiento y así cumplir los crecientes requisitos de streaming.
Capacidad de configuración
Amazon MSK implementa una configuración de clúster como práctica recomendada para Apache Kafka de manera predeterminada. Para los clústeres aprovisionados, tiene la capacidad de ajustar más de 30 configuraciones de clúster diferentes a la vez que admite todas las configuraciones dinámicas y de nivel de tema. Para obtener más información, consulte Configuraciones personalizadas de MSK en la documentación.
Visible
Fácil observación del rendimiento de streaming con métricas de CloudWatch de forma predeterminada
Puede visualizar y monitorear métricas importantes con Amazon CloudWatch para comprender y mantener el rendimiento de la aplicación de streaming.
Exportación de métricas JMX y Node a un servidor Prometheus con monitoreo abierto (solo para clústeres aprovisionados)
El monitoreo abierto con Prometheus le permite monitorear Amazon MSK mediante soluciones, como Datadog, Lenses, New Relic, Sumo Logic o un servidor Prometheus, y migrar de manera sencilla sus paneles de monitoreo existentes a Amazon MSK. Para obtener más información, consulte Monitoreo abierto con Prometheus en la documentación.
Introducción a Amazon MSK
Visite la página de precios de Amazon MSK.
Aprenda cómo configurar el clúster de Apache Kafka en Amazon MSK en esta guía paso a paso.
Comience a ejecutar su clúster de Apache Kafka en Amazon MSK. Inicie sesión en la consola de Amazon MSK.