Athrun Data Intelligence


Si administra Apache Kafka hoy, sabrá el esfuerzo que requiere establecer temas. Ya sea que utilice soluciones de infraestructura como código (IaC) o realice operaciones con clientes de distribución, configurar la distribución de temas requiere un tiempo valioso que podría dedicarse a crear aplicaciones de transmisión.

Streaming administrado por Amazon para Apache Kafka (Amazon MSK) ahora agiliza la dirección de temas al albergar nuevas API de temas y la integración de la consola. Puede crear, desempolvar y eliminar mediante programación temas de Apache Kafka utilizando interfaces familiares que incluyen Interfaz de confín de comandos de AWS (AWS-CLI), SDK de AWSy Formación en la abundancia de AWS. Con estas API, puede concretar propiedades de temas, como el coeficiente de replicación y el recuento de particiones, y ajustes de configuración, como políticas de retención y desinfección. La consola de Amazon MSK integra estas API, reuniendo todas las operaciones temáticas en un solo zona. Ahora puede crear o desempolvar temas con algunas selecciones usando títulos predeterminados guiados mientras obtiene visibilidad completa de las configuraciones de temas, información a nivel de partición y métricas. Puede despabilarse temas internamente de un clúster, revisar la configuración de replicación y el recuento de particiones, y ingresar a temas individuales para examinar la configuración detallada, la información a nivel de partición y las métricas. Un panel unificado consolida temas y métricas de partición en una sola aspecto.

En esta publicación, le mostramos cómo utilizar las nuevas capacidades de distribución de temas de Amazon MSK para optimizar sus operaciones de Apache Kafka. Demostramos cómo mandar temas a través de la consola, controlar el golpe con Mandato de golpe e identidad de AWS (IAM)e incorpore el aprovisionamiento de temas a sus canales de integración y entrega continuas (CI/CD).

Requisitos previos

Para comenzar con la dirección de temas, necesita:

  • Una cuenta de AWS activa con permisos de IAM adecuados para Amazon MSK.
  • Un clúster Amazon MSK Express o Standard existente que utilice Apache Kafka traducción 3.6 y superior.
  • Intimidad básica con conceptos de Apache Kafka como temas, particiones y replicación.
  • AWS CLI instalada y configurada (para ejemplos de confín de comandos).

Creando temas

La consola de MSK proporciona una experiencia guiada con títulos predeterminados sensatos y, al mismo tiempo, ofrece opciones de configuración avanzadas cuando las necesita.

  1. Navega hasta el Consola de Amazon MSK y seleccione su especie.
  2. Elige el Temas pestaña, luego elija Crear tema.

  3. Introduzca un nombre de tema (por ejemplo, customer-orders).
  4. Especifique la cantidad de particiones (use los títulos predeterminados guiados o personalícelos según sus deyección).
  5. Establezca el coeficiente de replicación. Tenga en cuenta que los agentes Express mejoran la disponibilidad y durabilidad de sus clústeres de Amazon MSK estableciendo títulos para configuraciones críticas y protegiéndolas de configuraciones incorrectas comunes. Si intenta crear un tema con un valencia de coeficiente de replicación desigual de 3, Amazon MSK Express creará el tema con un coeficiente de replicación de 3 de forma predeterminada.
  6. (Opcional) Configure ajustes avanzados como el período de retención o los límites de tamaño de los mensajes.
  7. Nominar Crear tema.

La consola valida su configuración y crea el tema. Puede crear varios temas simultáneamente con los mismos ajustes de configuración. Estas respuestas de API de temas reflejan datos que se actualizan aproximadamente cada minuto. Para conocer el estado del tema más coetáneo a posteriori de realizar cambios, espere aproximadamente un minuto ayer de realizar la consulta.

Consideraciones de configuración

Al nominar las opciones de configuración, considere los requisitos de su carga de trabajo:

Ver y monitorear temas

A posteriori de crear temas, la consola de MSK proporciona una visibilidad completa de su configuración. Cuando seleccionas un tema específico, verás información detallada:

  • Pestaña de particiones: muestra la distribución de particiones entre corredores, incluidas las asignaciones de líder y el estado de la réplica sincronizada, mostrando los ID de corredor para el líder y las réplicas.
  • Pestaña de configuración: Muestra todos los ajustes de configuración a nivel de tema.
  • Pestaña de monitoreo: se integra con Amazon CloudWatch para mostrar métricas como bytes de entrada/salida, tasas de mensajes y retraso del consumidor.

Renovar configuraciones de temas

A medida que evolucionan los requisitos de su carga de trabajo, es posible que deba ajustar las configuraciones de los temas. Puede modificar varias configuraciones de temas según el tipo de clúster. Por ejemplo:

  • Configuración de retención: Ajustar retention.ms (basado en el tiempo) o retention.bytes (basado en el tamaño) para controlar cuánto tiempo se retienen los mensajes.
  • Límites de tamaño de mensajes: Modificar max.message.bytes para dar cabida a mensajes más grandes o más pequeños.
  • Compresión: Cambiar compression.type para optimizar el almacenamiento y el uso de la red.

Los cambios de configuración entran en vigor inmediatamente para los mensajes nuevos. Los mensajes existentes permanecen sujetos a la configuración preliminar hasta que caduquen o se consuman.

Eliminar temas

Amazon MSK incluso proporciona API para eliminar temas que ya no están en uso. Ayer de eliminar un tema, verifique que:

  • Ningún productor activo está escribiendo sobre el tema.
  • Todos los consumidores han terminado de procesar mensajes.
  • Tienes copias de seguridad si necesitas conservar los datos.
  • Las aplicaciones posteriores no se verán afectadas

Importante: La matanza del tema elimina permanentemente todos los mensajes del tema.

Controlar el golpe con IAM

Más allá de simplificar las operaciones temáticas, incluso necesita controles de golpe adecuados. El control de golpe utiliza IAM, por lo que usted define los permisos utilizando el mismo maniquí que aplica a otros capital de AWS. Amazon MSK utiliza un maniquí de permisos de dos niveles:

  • Permisos a nivel de capital: una política de IAM que impone qué operaciones permitirá el clúster
  • Permisos a nivel de entidad principal: políticas de IAM adjuntas a roles o usuarios que imponen qué operaciones puede realizar una entidad principal en un clúster.

Con esta separación, puede controlar el golpe según las deyección de su estructura y los patrones de golpe a su clúster. Consulte el permisos de IAM documentación sobre los permisos de IAM necesarios para la distribución de temas para el clúster de Amazon MSK.

Puede otorgarle a su equipo de operaciones golpe amplio para establecer todos los temas y restringir a los equipos de aplicaciones para que administren solo sus propios temas. La granularidad de permisos que necesita está arreglado a través de políticas habitual de IAM. Si ya configuró permisos de IAM para temas de Apache Kafka, funcionarán inmediatamente con la nueva funcionalidad sin ninguna migración ni reconfiguración.

Aquí hay un ejemplo de definición de política de IAM que permite describir la API de tema.

{
    "Version": "2012-10-17",
    "Statement": (
        {
            "Effect": "Allow",
            "Action": (
                "kafka-cluster:Connect"
            ),
            "Resource": (
                "arn:aws:kafka:us-east-1:111111111111:cluster/iam-auth-acl-test/a6b5c6d5-f74f-4dbc-ad14-63fb5e87fe4f-2"
            )
        },
        {
            "Effect": "Allow",
            "Action": (
                "kafka-cluster:DescribeTopic",
                "kafka-cluster:DescribeTopicDynamicConfiguration"
            ),
            "Resource": (
                "arn:aws:kafka:us-east-1:111111111111:topic/iam-auth-acl-test/a6b5c6d5-f74f-4dbc-ad14-63fb5e87fe4f-2/*"
            )
        }
    )
}

Esta política de IAM otorga los permisos necesarios para describir temas de Kafka en su clúster de Amazon MSK. La política incluye tres permisos secreto:

  • kafka-cluster:Connect – Permite la conexión al clúster MSK especificado
  • kafka-cluster:DescribeTopic – Permite ver detalles del tema.
  • kafka-cluster:DescribeTopicDynamicConfiguration – Permite ver la configuración dinámica del tema.

La política tiene como ámbito un ARN de clúster específico y se aplica a todos los temas internamente de ese clúster mediante el patrón comodín. /*. Reemplace el ARN del clúster de Amazon MSK como contador de posición por el ARN del clúster de MSK.

Infraestructura como código

Si administra la infraestructura como código (IaC), ahora puede concretar temas anejo con los clústeres en sus plantillas de CloudFormation:

Resources:
    OrdersTopic:
      Type: AWS::MSK::Topic
      Properties:
        ClusterArn: !GetAtt MyMSKCluster.Arn
        TopicName: orders
        NumPartitions: 6
        ReplicationFactor: 3
        Config:
          retention.ms: "604800000"

Este enfoque incorpora el aprovisionamiento de temas a sus canalizaciones de CI/CD.

Disponibilidad y precios

La nueva experiencia de distribución de temas de Amazon MSK está arreglado hoy para clústeres de Amazon MSK Standard y Express que utilizan Apache Kafka traducción 3.6 y superior en todas las regiones de AWS donde se ofrece Amazon MSK, sin costo adicional.

Virtud

Para evitar incurrir en cargos adicionales en su cuenta de AWS, asegúrese de eliminar todos los capital creados durante este tutorial, incluidos:

  • Clúster de Amazon MSK
  • Cualquier tema de Kafka creado
  • Capital de AWS asociados (grupos de seguridad, VPC, etc., si se crean específicamente para este blog)

Recuerde probar que todos los capital se hayan eliminado exitosamente para evitar costos continuos.

Conclusión

La dirección de temas ha sido un problema persistente para las operaciones de Apache Kafka. La nueva experiencia integrada en Amazon MSK ahora reduce la fricción operativa al incorporar operaciones temáticas a las herramientas de AWS que utiliza todos los días. Ahora dispone de una forma coherente y simplificada de mandar estas operaciones para todos los temas de Apache Kafka en varios clústeres de MSK. Esta capacidad refleja nuestro compromiso de acortar la complejidad operativa en Apache Kafka. Obtiene la confiabilidad y el rendimiento de Apache Kafka sin la sobrecarga operativa que tradicionalmente conlleva. Su equipo dedica menos tiempo al mantenimiento de la infraestructura y más tiempo a crear aplicaciones de streaming que impulsen su negocio.

¿Despierto para comenzar a optimizar la dirección de temas? Comience a establecer sus temas hoy a través de la consola de Amazon MSK o visitando el Documentación de Amazon MSK.


Sobre los autores

Swapna Bandla

intercambio es arquitecto sénior de soluciones de streaming en AWS. Con un profundo conocimiento del procesamiento y investigación de datos en tiempo vivo, se asocia con clientes para diseñar soluciones escalables nativas de la abundancia que se alineen con las mejores prácticas de buena casa de AWS. A Swapna le apasiona ayudar a las organizaciones a desbloquear todo el potencial de sus datos para impulsar el valencia empresarial. Más allá de sus actividades profesionales, valora el tiempo de calidad con su comunidad.

Mazrim Mehrtens

Mazrim es un arquitecto senior de soluciones especializado para cargas de trabajo de transporte y streaming. Trabajan con los clientes para crear y respaldar sistemas que procesan y analizan terabytes de datos en tiempo vivo, ejecutan procesos de estudios maquinal empresarial y crean sistemas para compartir datos entre equipos sin problemas con distintos conjuntos de herramientas de datos y pilas de software.

Judy Huang

judy es jefe senior de productos para Amazon Managed Streaming para Apache Kafka (MSK) en AWS. Le apasionan los sistemas de datos en tiempo vivo y ayudar a las organizaciones a desbloquear el valencia de la transmisión de datos a escalera. Su trabajo se centra en mejorar la forma en que los clientes administran la infraestructura de Kafka y crear capacidades que hagan que las plataformas de transmisión sean más accesibles, resistentes e integradas con el ecosistema de datos más amplio.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *