Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Cette rubrique explique comment configurer le connecteur EventBridge Kafka Sink
Rubriques
Prérequis
Avant de déployer le connecteur, assurez-vous de disposer des ressources suivantes :
-
Cluster Amazon MSK : cluster MSK actif pour produire et consommer des messages Kafka.
-
Bus d' EventBridge événements Amazon : bus d' EventBridge événements destiné à recevoir les événements liés aux sujets Kafka.
-
Rôles IAM : créez des rôles IAM avec les autorisations nécessaires pour MSK Connect et EventBridge le connecteur.
-
Accès à l'Internet public à partir de MSK Connect ou d'un point de terminaison EventBridge d'interface VPC créé dans le VPC et le sous-réseau de votre cluster MSK. Cela vous permet d'éviter de traverser l'Internet public sans avoir besoin de passerelles NAT.
-
Une machine cliente, telle qu'une EC2 instance Amazon ou AWS CloudShell
, pour créer des sujets et envoyer des enregistrements à Kafka.
Configuration des ressources requises pour MSK Connect
Vous créez un rôle IAM pour le connecteur, puis vous créez le connecteur. Vous créez également une EventBridge règle pour filtrer les événements Kafka envoyés au bus d' EventBridge événements.
Rôle IAM pour le connecteur
Le rôle IAM que vous associez au connecteur doit être PutEventsautorisé à envoyer des événements à EventBridge. L'exemple de politique IAM suivant vous autorise à envoyer des événements à un bus d'événements nommé. example-event-bus
Dans l'exemple suivant, assurez-vous de remplacer l'ARN de la ressource par l'ARN de votre bus d'événements.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"events:PutEvents"
],
"Resource": "arn:aws:events:us-east-1
:123456789012
:event-bus/example-event-bus
"
}
]
}
En outre, vous devez vous assurer que votre rôle IAM pour le connecteur contient la politique de confiance suivante.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "kafkaconnect.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Une EventBridge règle pour les événements entrants
Vous créez des règles qui font correspondre les événements entrants aux critères de données d'événements, appelés modèles d'événements. Avec un modèle d'événements, vous pouvez définir les critères pour filtrer les événements entrants et déterminer quels événements doivent déclencher une règle particulière et être ensuite acheminés vers une cible désignée. L'exemple suivant de modèle d'événement correspond aux événements Kafka envoyés au bus d' EventBridge événements.
{
"detail": {
"topic": ["msk-eventbridge-tutorial"]
}
}
Voici un exemple d'événement envoyé par Kafka à l' EventBridge aide du connecteur Kafka Sink.
{
"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"
}
}
}
Dans la EventBridge console, créez une règle sur le bus d'événements à l'aide de cet exemple de modèle et spécifiez une cible, telle qu'un groupe CloudWatch Logs. La EventBridge console configurera automatiquement la politique d'accès nécessaire pour le groupe CloudWatch Logs.
Création du connecteur
Dans la section suivante, vous allez créer et déployer le connecteur EventBridge Kafka Sink
Rubriques
Étape 1 : Téléchargez le connecteur
Téléchargez le dernier fichier JAR du EventBridge connecteur depuis la page GitHub des versionskafka-eventbridge-sink-with-dependencies.jar
Enregistrez ensuite le fichier à l'emplacement de votre choix sur votre machine.
Étape 2 : créer un compartiment Amazon S3
-
Pour stocker le fichier JAR dans Amazon S3 afin de l'utiliser avec MSK Connect, ouvrez le AWS Management Console, puis choisissez Amazon S3.
-
Dans la console Amazon S3, choisissez Create bucket et entrez un nom de bucket unique. Par exemple,
amzn-s3-demo-bucket1-eb-connector
. -
Choisissez une région appropriée pour votre compartiment Amazon S3. Assurez-vous qu'il correspond à la région dans laquelle votre cluster MSK est déployé.
-
Pour les paramètres du bucket, conservez les sélections par défaut ou ajustez-les selon les besoins.
-
Choisissez Créer un compartiment.
-
Téléchargez le fichier JAR dans le compartiment Amazon S3.
Étape 3 : Création d'un plugin dans MSK Connect
-
Ouvrez le AWS Management Console, puis accédez à MSK Connect.
-
Dans le volet de navigation de gauche, choisissez Plug-ins personnalisés.
-
Choisissez Create plugin, puis entrez un nom de plugin. Par exemple,
eventbridge-sink-plugin
. -
Pour l'emplacement personnalisé du plugin, collez l'URL de l'objet S3.
-
Ajoutez une description facultative pour le plugin.
-
Choisissez Create plugin.
Une fois le plugin créé, vous pouvez l'utiliser pour configurer et déployer le connecteur EventBridge Kafka dans MSK Connect.
Étape 4 : Créer un connecteur
Avant de créer le connecteur, nous vous recommandons de créer le sujet Kafka requis pour éviter les erreurs de connecteur. Pour créer le sujet, utilisez votre machine cliente.
-
Dans le volet gauche de la console MSK, choisissez Connectors, puis Create connector.
-
Dans la liste des plugins, choisissez eventbridge-sink-plugin, puis Suivant.
-
Pour le nom du connecteur, entrez
EventBridgeSink
. -
Dans la liste des clusters, choisissez votre cluster MSK.
-
Copiez la configuration suivante pour le connecteur et collez-la dans le champ Configuration du connecteur
Remplacez les espaces réservés dans la configuration suivante, selon les besoins.
-
aws.eventbridge.endpoint.uri
Supprimez-le si votre cluster MSK dispose d'un accès Internet public. -
Si vous vous connectez PrivateLink en toute sécurité depuis MSK à EventBridge, remplacez la partie DNS suivante par le nom DNS privé correct du point de terminaison de l'interface VPC (facultatif) EventBridge pour celui que vous avez créé précédemment.
https://
-
Remplacez l'ARN du bus d' EventBridge événements dans la configuration suivante par l'ARN de votre bus d'événements.
-
Mettez à jour les valeurs spécifiques à une région.
{ "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" }
Pour plus d'informations sur la configuration du connecteur, consultez eventbridge-kafka-connector
. Si nécessaire, modifiez les paramètres relatifs aux travailleurs et à l'autoscaling. Nous vous recommandons également d'utiliser la dernière version disponible (recommandée) d'Apache Kafka Connect dans la liste déroulante. Sous Autorisations d'accès, utilisez le rôle créé précédemment. Nous recommandons également d'activer la connexion à des CloudWatch fins d'observabilité et de résolution des problèmes. Ajustez les autres paramètres facultatifs, tels que les balises, en fonction de vos besoins. Déployez ensuite le connecteur et attendez que le statut passe à l'état Exécutif.
-
Envoyer des messages à Kafka
Vous pouvez configurer les codages des messages, tels qu'Apache Avro et JSON, en spécifiant différents convertisseurs à l'aide des key.converter
paramètres value.converter
et, éventuellement, disponibles dans Kafka Connect.
connector exampleDans cette rubrique, il est configuré pour fonctionner avec des messages codés en JSON, comme indiqué par l'utilisation de org.apache.kafka.connect.json.JsonConverter
for. value converter
Lorsque le connecteur est en cours d'exécution, envoyez des enregistrements au sujet msk-eventbridge-tutorial
Kafka depuis votre machine cliente.