Configurar el conector de colector EventBridge Kafka para MSK Connect - Transmisión administrada de Amazon para Apache Kafka

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configurar el conector de colector EventBridge Kafka para MSK Connect

En este tema se muestra cómo configurar el conector colector EventBridge Kafka para MSK Connect. Este conector le permite enviar eventos desde su clúster de MSK a EventBridge los buses de eventos. En este tema se describe el proceso para crear los recursos necesarios y configurar el conector para permitir un flujo de datos fluido entre Kafka y. EventBridge

Requisitos previos

Antes de implementar el conector, asegúrese de contar con los siguientes recursos:

  • Clúster de Amazon MSK: un clúster de MSK activo para producir y consumir mensajes de Kafka.

  • Amazon EventBridge Event Bus: un autobús de EventBridge eventos para recibir eventos relacionados con los temas de Kafka.

  • Funciones de IAM: cree funciones de IAM con los permisos necesarios para MSK Connect y EventBridge el conector.

  • Acceso a Internet público desde MSK Connect o desde un punto final EventBridge de interfaz de VPC creado en la VPC y la subred de su clúster de MSK. Esto permite evitar el tránsito por Internet público sin necesidad de utilizar puertas de enlace NAT.

  • Una máquina cliente, como una instancia de Amazon EC2 o AWS CloudShell, para crear temas y enviar registros a Kafka.

Configuración de los recursos necesarios para MSK Connect

Crea un rol de IAM para el conector y, posteriormente, crea el conector. También debe crear una EventBridge regla para filtrar los eventos de Kafka enviados al bus de eventos. EventBridge

Rol de IAM para el conector

La función de IAM que asocie al conector debe tener el PutEventspermiso para permitir el envío de eventos. EventBridge El siguiente ejemplo de política de IAM le concede el permiso para enviar eventos a un bus de eventos denominado example-event-bus. Asegúrese de reemplazar el ARN del recurso en el siguiente ejemplo por el ARN del bus de eventos.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "events:PutEvents" ], "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/example-event-bus" } ] }

Además, debe asegurarse de que el rol de IAM del conector contenga la siguiente política de confianza.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "kafkaconnect.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Una EventBridge regla para los eventos entrantes

Crea reglas que coinciden con los eventos entrantes en función de criterios de datos de eventos, conocidos como patrones de eventos. Con un patrón de eventos, puede definir los criterios para filtrar eventos entrantes y determinar qué eventos deben activar una regla específica y, posteriormente, ser dirigidos a un destino designado. El siguiente ejemplo de un patrón de eventos coincide con los eventos de Kafka enviados al bus de EventBridge eventos.

{ "detail": { "topic": ["msk-eventbridge-tutorial"] } }

A continuación se muestra un ejemplo de un evento enviado desde Kafka para EventBridge utilizar el conector colector de Kafka.

{ "version": "0", "id": "dbc1c73a-c51d-0c0e-ca61-ab9278974c57", "account": "123456789012", "time": "2025-03-26T10:15:00Z", "region": "us-east-1", "detail-type": "msk-eventbridge-tutorial", "source": "kafka-connect.msk-eventbridge-tutorial", "resources": [], "detail": { "topic": "msk-eventbridge-tutorial", "partition": 0, "offset": 0, "timestamp": 1742984100000, "timestampType": "CreateTime", "headers": [], "key": "order-1", "value": { "orderItems": [ "item-1", "item-2" ], "orderCreatedTime": "Wed Mar 26 10:15:00 UTC 2025" } } }

En la EventBridge consola, cree una regla en el bus de eventos con este patrón de ejemplo y especifique un objetivo, como un grupo de CloudWatch registros. La EventBridge consola configurará automáticamente la política de acceso necesaria para el grupo de CloudWatch registros.

Creación del conector

En la siguiente sección, creará e implementará el conector receptor de EventBridge Kafka mediante el Consola de administración de AWS.

Paso 1: Descarga del conector

Descargue la versión JAR EventBridge del colector de conectores más reciente de la página de GitHub versiones del conector EventBridge Kafka. Por ejemplo, para descargar la versión v1.4.1, seleccione el enlace del archivo JAR, kafka-eventbridge-sink-with-dependencies.jar, para descargar el conector. A continuación, guarde el archivo en una ubicación de su preferencia en la máquina.

Paso 2: creación de un bucket de Amazon S3

  1. Para almacenar el archivo JAR en Amazon S3 para usarlo con MSK Connect, abra y Consola de administración de AWS, a continuación, elija Amazon S3.

  2. En la consola de Amazon S3, seleccione Crear bucket e introduzca un nombre de bucket único. Por ejemplo, amzn-s3-demo-bucket1-eb-connector.

  3. Seleccione una región adecuada para el bucket de Amazon S3. Asegúrese de que coincida con la región en la que está implementado el clúster de MSK.

  4. En Configuración del bucket, mantenga las selecciones predeterminadas o ajústelas según sea necesario.

  5. Elija Crear bucket

  6. Cargue el archivo JAR en el bucket de Amazon S3.

Paso 3: Creación de un complemento en MSK Connect

  1. Abre y Consola de administración de AWS, a continuación, navega hasta MSK Connect.

  2. En el panel de navegación izquierdo, seleccione Complementos personalizados.

  3. Seleccione Crear complemento y, a continuación, introduzca un Nombre del complemento. Por ejemplo, eventbridge-sink-plugin.

  4. En Ubicación del complemento personalizado, pegue la URL del objeto de S3.

  5. Agregue una descripción opcional para el complemento.

  6. Seleccione Crear complemento.

Una vez creado el complemento, puede usarlo para configurar e implementar el conector EventBridge Kafka en MSK Connect.

Paso 4: creación del conector

Antes de crear el conector, se recomienda crear el tema de Kafka requerido para evitar errores del conector. Para crear el tema, utilice la máquina cliente.

  1. En el panel de navegación izquierdo de la consola de MSK, seleccione Conectores y, a continuación, elija Crear conector.

  2. En la lista de complementos, seleccione eventbridge-sink-plugin y, a continuación, seleccione Siguiente.

  3. En nombre del conector, introduzca EventBridgeSink.

  4. En la lista de clústeres, seleccione el clúster de MSK.

  5. Copie la siguiente configuración del conector y péguela en el campo Configuración del conector

    Reemplace los marcadores de posición en la siguiente configuración según sea necesario.

    • Elimine aws.eventbridge.endpoint.uri si el clúster de MSK tiene acceso público a Internet.

    • Si solía PrivateLink conectarse de forma segura desde MSK a EventBridge, sustituya la parte de DNS posterior https:// por el nombre de DNS privado correcto del punto final de la interfaz de VPC (opcional) que EventBridge creó anteriormente.

    • Sustituya el ARN del bus de EventBridge eventos en la siguiente configuración por el ARN del bus de eventos.

    • Actualice cualquier valor específico de la región.

    { "connector.class": "software.amazon.event.kafkaconnector.EventBridgeSinkConnector", "aws.eventbridge.connector.id": "msk-eventbridge-tutorial", "topics": "msk-eventbridge-tutorial", "tasks.max": "1", "aws.eventbridge.endpoint.uri": "https://events.us-east-1.amazonaws.com", "aws.eventbridge.eventbus.arn": "arn:aws:events:us-east-1:123456789012:event-bus/example-event-bus", "value.converter.schemas.enable": "false", "value.converter": "org.apache.kafka.connect.json.JsonConverter", "aws.eventbridge.region": "us-east-1", "auto.offset.reset": "earliest", "key.converter": "org.apache.kafka.connect.storage.StringConverter" }

    Para obtener más información sobre la configuración de los conectores, consulte. eventbridge-kafka-connector

    Si es necesario, modifique la configuración de los procesos de trabajo y del escalado automático. También se recomienda utilizar la versión más reciente disponible (recomendada) de Apache Kafka Connect desde la lista desplegable. En Permisos de acceso, utilice el rol creado anteriormente. También recomendamos activar el registro en CloudWatch para facilitar la observación y solucionar problemas. Ajuste las demás opciones discrecionales, como las etiquetas, según sus necesidades. A continuación, implemente el conector y espere a que el estado pase a En ejecución.

Envío de mensajes a Kafka

Puede configurar codificaciones de mensajes, como Apache Avro y JSON, mediante la especificación de convertidores con el value.converter y, de forma opcional, mediante configuraciones de key.converter disponibles en Kafka Connect.

El connector example de este tema está configurado para trabajar con mensajes codificados en JSON, tal como se indica mediante el uso de org.apache.kafka.connect.json.JsonConverter para value converter. Cuando el conector se encuentre en estado En ejecución, envíe registros al tema msk-eventbridge-tutorial de Kafka desde la máquina cliente.