

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
<a name="mkc-eventbridge-kafka-connector"></a>

En este tema se muestra cómo configurar el [conector colector EventBridge Kafka](https://github.com/awslabs/eventbridge-kafka-connector) para MSK Connect. [Este conector le permite enviar eventos desde su clúster de MSK a EventBridge los buses de eventos.](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-bus.html) 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 

**Topics**
+ [Requisitos previos](#mkc-eb-kafka-prerequisites)
+ [Configuración de los recursos necesarios para MSK Connect](#mkc-eb-kafka-set-up-resources)
+ [Creación del conector](#mkc-eb-kafka-create-connector)
+ [Envío de mensajes a Kafka](#mkc-eb-kafka-send-json-encoded-messages)

## Requisitos previos
<a name="mkc-eb-kafka-prerequisites"></a>

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](msk-connect-internet-access.md) desde MSK Connect o desde un punto final EventBridge de [interfaz de VPC](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-related-service-vpc.html) 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](create-serverless-cluster-client.md), como una instancia de Amazon EC2 o [AWS CloudShell](https://aws.amazon.com/cloudshell/), para crear temas y enviar registros a Kafka.

## Configuración de los recursos necesarios para MSK Connect
<a name="mkc-eb-kafka-set-up-resources"></a>

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 

**Topics**
+ [Rol de IAM para el conector](#mkc-eb-kafka-iam-role-connector)
+ [Una EventBridge regla para los eventos entrantes](#mkc-eb-kafka-create-rule)

### Rol de IAM para el conector
<a name="mkc-eb-kafka-iam-role-connector"></a>

La función de IAM que asocie al conector debe tener el [PutEvents](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-permissions-reference.html)permiso 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
<a name="mkc-eb-kafka-create-rule"></a>

Crea [reglas](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html) que coinciden con los eventos entrantes en función de criterios de datos de eventos, conocidos como [https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html). 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](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html) 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](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html) 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
<a name="mkc-eb-kafka-create-connector"></a>

En la siguiente sección, creará e implementará el [conector receptor de EventBridge Kafka](https://github.com/awslabs/eventbridge-kafka-connector) mediante el Consola de administración de AWS.

**Topics**
+ [Paso 1: Descarga del conector](#mkc-eb-kafka-download-connector)
+ [Paso 2: creación de un bucket de Amazon S3](#mkc-eb-kafka-s3-bucket-create)
+ [Paso 3: Creación de un complemento en MSK Connect](#mkc-eb-kafka-create-plugin)
+ [Paso 4: creación del conector](#mkc-eb-kafka-create-connector)

### Paso 1: Descarga del conector
<a name="mkc-eb-kafka-download-connector"></a>

Descargue la versión JAR EventBridge del colector de conectores más reciente de la [página de GitHub versiones](https://github.com/awslabs/eventbridge-kafka-connector/releases) 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
<a name="mkc-eb-kafka-s3-bucket-create"></a>

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.

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

1. 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.

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

1. Elija **Crear bucket**

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

### Paso 3: Creación de un complemento en MSK Connect
<a name="mkc-eb-kafka-create-plugin"></a>

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

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

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

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

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

1. 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
<a name="mkc-eb-kafka-create-connector"></a>

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**.

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

1. En nombre del conector, introduzca **EventBridgeSink**.

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

1. <a name="connector-ex"></a>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](https://github.com/awslabs/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
<a name="mkc-eb-kafka-send-json-encoded-messages"></a>

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](#connector-ex) 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.