Descripción general de Managed Service para Apache Kafka

Managed Service para Apache Kafka es un Google Cloud servicio que te ayuda a ejecutar clústeres de Apache Kafka de código abierto seguros y escalables. En esta página, se proporciona una descripción general de lo que el servicio automatiza y simplifica para ti. Para obtener más información sobre Apache Kafka, consulta el sitio web de Apache Kafka.

Tamaño y escalamiento sencillos

Cuando creas un clúster de Managed Service para Apache Kafka, especificas el recuento total de CPU virtuales y la memoria del clúster. El servicio aprovisiona automáticamente una cantidad de agentes según el recuento de CPU virtuales.

Para satisfacer las demandas de los clientes, puedes supervisar la utilización de recursos y, si es necesario, actualizar la cantidad de CPU virtuales y la memoria para ajustar la escala de tu clúster. Si se aumenta la escala de un clúster, es posible que se aprovisionen intermediarios adicionales. Si aumentar el tamaño del clúster requiere un nuevo agente, el servicio puede rebalancear automáticamente las particiones entre los agentes.

Para obtener información sobre cómo elegir el tamaño de un clúster, consulta Planifica el tamaño de tu clúster de Kafka.

Administración de almacenamiento

Managed Service para Apache Kafka usa almacenamiento por niveles. El almacenamiento en niveles combina dos niveles de almacenamiento:

  • Una cantidad limitada de almacenamiento local rápido, en forma de discos aprovisionados previamente conectados a los intermediarios.
  • Almacenamiento remoto prácticamente ilimitado El almacenamiento remoto es menos costoso y no necesita aprovisionarse previamente.

El sistema de almacenamiento por niveles te permite almacenar grandes volúmenes de datos con menos riesgo de quedarte sin espacio en el disco. También puede costar menos que usar solo el almacenamiento local.

Eres responsable de establecer el tiempo de retención en temas individuales para controlar los costos o satisfacer tus políticas de retención de datos.

Redes flexibles

El servicio hace que un clúster sea accesible de forma segura desde cualquier VPC. Esto incluye el acceso desde varias VPC, proyectos y regiones.

Para configurar las redes de un clúster, debes proporcionar el conjunto de subredes en las que se puede acceder al clúster. El servicio aprovisiona direcciones IP privadas para los servidores de arranque y los agentes en cada subred. También configura Cloud DNS privado con URLs para cada dirección IP. Los servidores de arranque tienen un balanceador de cargas, por lo que hay una sola URL de arranque por clúster. Las URLs son las mismas en todas las VPC, por lo que las configuraciones del cliente pueden ser coherentes en todos los entornos.

Este nivel de flexibilidad se logra gracias a Private Service Connect (PSC). Cada dirección IP asignada a un clúster requiere un extremo de PSC. Los extremos se aprovisionan automáticamente.

Clústeres seguros

El servicio ofrece las siguientes funciones para la seguridad de los clústeres: autenticación, autorización, encriptación, aplicación de parches y aislamiento de recursos. También prohíbe las conexiones y el almacenamiento sin autenticar y sin encriptar.

Autenticación

El servicio admite dos métodos de autenticación: la capa de seguridad y autenticación simple (SASL) y la TLS mutua (mTLS). La autenticación mTLS está disponible en los clústeres creados después del 24 de junio de 2025. Todas las conexiones a los clústeres administrados se autentican con un principal que es una identidad de IAM a través de SASL o un certificado de cliente a través de mTLS. Se admiten cuentas humanas, de servicio y federadas como principales cuando se usa SASL.

El servicio no admite otros protocolos, incluidos SASL/GSSAPI, SASL/SCRAM-SHA-256 y SASL/SCRAM-SHA-512. El servicio tampoco permite conexiones no autenticadas.

Autorización

El servicio emplea un enfoque en capas para la autorización. IAM controla las acciones de administración de clústeres, como la creación, la actualización y el borrado de recursos. La autorización para las entidades principales autenticadas depende del método utilizado:

  • SASL: Las entidades principales que usan IAM se autorizan a través de vinculaciones de roles deGoogle Cloud IAM o con LCA de Kafka en el clúster. Para obtener más información, consulta Configura la autenticación SASL.

  • mTLS: Las entidades que se autentican con mTLS se autorizan a través de las ACL de Kafka. Para obtener más información, consulta Configura la autenticación de mTLS.

Puedes administrar las ACL de Kafka con las herramientas de Google Cloud o herramientas de Kafka de terceros. Para obtener más información sobre cómo configurar la IAM y las LCA de Kafka, consulta Control de acceso con la IAM y las LCA de Kafka.

Encriptación

Se requiere encriptación. Todas las conexiones a los clústeres deben usar TLS. Los certificados TLS que presentan los intermediarios están firmados por la Public Certificate Authority. Los datos almacenados siempre están encriptados. Elige si deseas usar claves de encriptación administradas por Google o claves de encriptación administradas por el cliente (CMEK) para la encriptación en reposo.

Aplicación de parches

El equipo de servicio hace un seguimiento de las vulnerabilidades de seguridad descubiertas en el código de código abierto. Cuando el servicio descubre vulnerabilidades, aplica parches a tus clústeres automáticamente.

Aislamiento de recursos

Otra función de seguridad del servicio es el aislamiento de recursos. El servicio administrado implementa clústeres en proyectos de usuarios en una VPC privada a la que no se puede acceder a través de direcciones IP públicas. Cada uno de tus proyectos tiene un proyecto de arrendatario dedicado, con una cuenta de agente de servicio dedicada. Esto ayuda a limitar el alcance del acceso otorgado al servicio.

Registro de esquemas

Para simplificar la coordinación entre productores y consumidores, Managed Service para Apache Kafka incluye una API de registro de esquemas. Un registro proporcionado por el servicio actúa como un repositorio de esquemas que se comparten entre las aplicaciones.

El servicio implementa la API de REST de Confluent Schema Registry, que ayuda a la integración con las aplicaciones de Kafka existentes. Se admiten los formatos de esquema de Apache Avro y búfer de protocolo (Protobuf). No se admite JSON.

Managed Service para Apache Kafka también ofrece una API y un conjunto de herramientas administrativos para administrar registros y esquemas. El conjunto de herramientas incluye la consola deGoogle Cloud , gcloud CLI y las bibliotecas cliente.

Para obtener más información sobre el registro de esquemas, consulta la Descripción general del registro de esquemas.

Integración de datos con Kafka Connect

Managed Service para Apache Kafka simplifica la integración de datos a través de Kafka Connect. Kafka Connect ofrece varios complementos de conectores integrados alojados en clústeres de Connect. Estos conectores se usan para la migración, la copia de seguridad, la recuperación ante desastres, la alta disponibilidad y la integración de datos. Estos conectores te permiten conectar tus clústeres de Managed Service para Apache Kafka a varios sistemas, incluidas otras implementaciones de Kafka y Google Cloud servicios como BigQuery, Cloud Storage y Pub/Sub. Kafka Connect proporciona una integración de datos confiable y escalable con una menor sobrecarga operativa, y supervisión y registro integrados.

Para obtener más información sobre Kafka Connect, consulta la descripción general de Kafka Connect.

Clústeres de alta disponibilidad

El objetivo del servicio es proporcionar clústeres regionales para aplicaciones esenciales. Específicamente, el servicio te protege de las fallas de zonas o intermediarios individuales.

Para lograr esto, todos los clústeres se aprovisionan en una configuración de tres zonas que reconoce los racks. La configuración predeterminada del tema requiere al menos tres réplicas. El reconocimiento de rack garantiza que las réplicas se creen en diferentes zonas. La cantidad mínima predeterminada de réplicas sincronizadas es dos. Esto significa que tu clúster puede tolerar la pérdida completa de una zona o un agente.

Cuando un agente falla debido a un problema de software, hardware o red, se reemplaza automáticamente. Cuando el servicio detecta una falla del agente, lo reinicia automáticamente, en otra máquina si es necesario. Una vez que el agente está disponible, Apache Kafka lo integra en el clúster. Una falla completa de la zona podría imposibilitar la creación de un nuevo agente. Sin embargo, el clúster sigue funcionando mientras las otras dos zonas permanezcan disponibles.

Además de estas funciones específicas, una lista cada vez mayor de herramientas y procesos internos mantienen de forma proactiva el estado del servicio, el código de Apache Kafka y las actualizaciones. Las copias de seguridad de los datos y los metadatos se mantienen en varios niveles, lo que permite que el servicio se recupere de muchos errores humanos y fallas de software.

El servicio no proporciona protección contra fallas regionales o de doble zona. Para las aplicaciones que requieren este nivel de protección, recomendamos ejecutar dos clústeres regionales separados. Puedes sincronizar los datos entre dos clústeres con herramientas como MirrorMaker 2.0 de Kafka Connect.

Herramientas para tu estilo de administración

El objetivo del servicio es ofrecer un conjunto completo de herramientas para tu estilo de administración y solución de problemas de clústeres. Esto incluye herramientas para administrar, supervisar y registrar.

El Servicio administrado para Apache Kafka se expone como una API de Google Cloud. Esto significa que puedes administrar clústeres y recursos de clústeres con las APIs de REST y gRPC. Se proporcionan varios clientes e interfaces para estas APIs, incluidos los siguientes:

  • Proveedores de Terraform si prefieres el enfoque de infraestructura como código
  • IU en la consola de Google Cloud para el trabajo interactivo en un navegador.
  • Gcloud CLI para el trabajo interactivo en una shell
  • Bibliotecas cliente en Java, Python, Go y otros lenguajes para desarrollo y secuencias de comandos personalizados

Para la supervisión y la solución de problemas, el servicio exporta métricas a Cloud Monitoring. Algunas de las métricas están disponibles en la IU del servicio. En Cloud Monitoring, hay disponible un conjunto completo para el trabajo interactivo, la configuración de alertas y la exportación a otros sistemas.

El servicio también exporta los registros del agente a Cloud Logging. Se pueden buscar y usar para crear métricas basadas en registros y alertas.

Actualizaciones y parches

Los clústeres de Managed Service para Apache Kafka se ejecutan en la versión 3.7.1 de Apache Kafka. El servicio aplica automáticamente parches para las vulnerabilidades de seguridad críticas.

Las actualizaciones de la infraestructura subyacente, incluidas las capas de organización y el sistema operativo, son continuas y automáticas. Los agentes se actualizan con un reinicio progresivo, sin tiempo de inactividad para el clúster.

El servicio no actualiza automáticamente el código de Apache Kafka que se ejecuta en los agentes a nuevas versiones secundarias.

Costo transparente

El modelo de precios de Managed Service para Apache Kafka es similar a los cargos que ves cuando ejecutas Apache Kafka por tu cuenta en Compute Engine. Pagas por los recursos que aprovisionas (CPU virtuales, RAM y almacenamiento local) y los que consumes (almacenamiento persistente y transferencia de datos). El almacenamiento persistente y el costo de las CPU virtuales son más altos con Managed Service para Apache Kafka en comparación con la configuración de un sistema similar por tu cuenta. Por el contrario, los precios de la transferencia de datos y el almacenamiento local son similares entre Managed Service para Apache Kafka y Kafka autoadministrado. Para obtener más información sobre los precios, consulta Precios de Managed Service para Apache Kafka.

Es compatible porque ejecutamos Apache Kafka

Por último, Managed Service para Apache Kafka ejecuta el mismo software de código abierto que tal vez ya ejecutes en tu entorno. No es necesario que cambies el código de tu aplicación para migrarla al servicio.

Limitaciones

Managed Service para Apache Kafka tiene las siguientes limitaciones:

  • Cada clúster debe tener la misma cantidad de recursos en cada una de las tres zonas. No se admiten los clústeres de Managed Service para Apache Kafka de una o dos zonas.

  • No puedes elegir las zonas cuando creas el clúster.

  • No puedes configurar el volumen de almacenamiento local en un clúster.

  • Managed Service para Apache Kafka se ejecuta en el modo KRaft. No se admite el modo Zookeeper.

  • No se admiten las APIs de JMX para las métricas.

  • Si bien puedes cambiar la configuración del agente con el modo de actualización read-only en cualquier momento, estos cambios solo se aplican cuando se reinician los agentes. Los reinicios ocurren periódicamente como parte de los procesos de mantenimiento y actualización de Google, pero no hay un programa establecido ni una forma de activarlos manualmente. Por lo tanto, no puedes controlar cuándo se aplican estos cambios. Algunos ejemplos de configuraciones de read-only incluyen auto.create.topics.enable y background.threads. Las actualizaciones de configuraciones con el modo de actualización cluster-wide, como message.max.bytes, no requieren reinicios y entran en vigencia de inmediato.

  • El servicio administra algunos parámetros de configuración del agente y no se pueden actualizar. Esto incluye broker.id y la configuración relacionada con el almacenamiento, como remote.log.storage.system.enable.

Próximos pasos

Apache Kafka® es una marca registrada de The Apache Software Foundation o sus afiliados en Estados Unidos y otros países.