Skip to main content
Remarque : la politique affichée dans la vidéo est permissive et destinée uniquement à une prise en main rapide. Consultez les recommandations IAM relatives au principe du moindre privilège ci-dessous.

Prérequis

Nous partons du principe :

Le connecteur Kafka officiel de ClickHouse avec Amazon MSK

Récupérez vos informations de connexion

Pour vous connecter à ClickHouse via HTTP(S), vous avez besoin des informations suivantes : Les informations de votre service ClickHouse Cloud sont disponibles dans la console ClickHouse Cloud. Sélectionnez un service, puis cliquez sur Connect : Choisissez HTTPS. Les détails de connexion s’affichent dans un exemple de commande curl. Si vous utilisez ClickHouse autogéré, les détails de connexion sont définis par votre administrateur ClickHouse.

Étapes

  1. Assurez-vous de bien connaître le ClickHouse Connector Sink
  2. Créez une instance MSK.
  3. Créez et attribuez un IAM role.
  4. Téléchargez un fichier jar depuis la page Release du ClickHouse Connect Sink.
  5. Installez le fichier jar téléchargé sur la page Custom plugin dans la console Amazon MSK.
  6. Si le connector communique avec une instance ClickHouse publique, activez l’accès à Internet.
  7. Renseignez le nom du topic, le hostname de l’instance ClickHouse et le mot de passe dans la config.

Permissions IAM recommandées (principe du moindre privilège)

Utilisez l’ensemble minimal de permissions nécessaire à votre configuration. Commencez par la référence ci-dessous et n’ajoutez des services facultatifs que si vous les utilisez.
  • Utilisez le bloc Glue uniquement si vous utilisez AWS Glue Schema Registry.
  • Utilisez le bloc Secrets Manager uniquement si vous récupérez les données d’authentification/truststores depuis Secrets Manager. Limitez la portée de l’ARN.
  • Utilisez le bloc S3 uniquement si vous chargez des artefacts (par exemple, un truststore) depuis S3. Limitez la portée au bucket/préfixe.
Voir aussi : Bonnes pratiques Kafka – IAM.

Optimisation des performances

Une façon d’améliorer les performances consiste à ajuster la taille des lots et le nombre d’enregistrements lus depuis Kafka en ajoutant ce qui suit à la configuration du worker :
Les valeurs précises à utiliser varient selon le nombre d’enregistrements souhaité et leur taille. Par exemple, les valeurs par défaut sont :
Vous trouverez plus de détails (sur l’implémentation ainsi que sur d’autres aspects à prendre en compte) dans la documentation officielle de Kafka et d’Amazon MSK.

Notes sur la configuration réseau pour MSK Connect

Pour permettre à MSK Connect de se connecter à ClickHouse, nous recommandons de placer votre cluster MSK dans un sous-réseau privé avec une passerelle NAT privée pour l’accès à Internet. Les instructions de configuration sont fournies ci-dessous. Notez que les sous-réseaux publics sont pris en charge, mais ne sont pas recommandés, car ils nécessitent d’attribuer en permanence une adresse IP Elastic à votre ENI. AWS fournit plus de détails ici
  1. Créer un sous-réseau privé : Créez un nouveau sous-réseau dans votre VPC et définissez-le comme sous-réseau privé. Ce sous-réseau ne doit pas avoir d’accès direct à Internet.
  2. Créer une passerelle NAT : Créez une passerelle NAT dans un sous-réseau public de votre VPC. La passerelle NAT permet aux instances de votre sous-réseau privé d’accéder à Internet ou à d’autres services AWS, tout en empêchant Internet d’initier une connexion vers ces instances.
  3. Mettre à jour la table de routage : Ajoutez une route qui redirige le trafic à destination d’Internet vers la passerelle NAT.
  4. Vérifier la configuration des groupes de sécurité et des ACL réseau : Configurez vos groupes de sécurité et vos ACL réseau (listes de contrôle d’accès) pour autoriser le trafic approprié.
    1. Des ENI des workers MSK Connect vers les brokers MSK sur le port TLS (généralement 9094).
    2. Des ENI des workers MSK Connect vers le point de terminaison ClickHouse : 9440 (TLS natif) ou 8443 (HTTPS).
    3. Autorisez le trafic entrant sur le SG du broker depuis le SG des workers MSK Connect.
    4. Pour ClickHouse auto-hébergé, ouvrez le port configuré sur votre serveur (8123 par défaut pour HTTP).
  5. Attacher les groupes de sécurité à MSK : Assurez-vous que ces groupes de sécurité sont attachés à votre cluster MSK et aux workers MSK Connect.
  6. Connectivité à ClickHouse Cloud :
    1. Point de terminaison public + liste d’autorisation d’IP : nécessite une sortie NAT depuis les sous-réseaux privés.
    2. Connectivité privée lorsqu’elle est disponible (par ex. VPC peering/PrivateLink/VPN). Assurez-vous que les noms d’hôte/la résolution DNS du VPC sont activés et que le DNS peut résoudre le point de terminaison privé.
  7. Valider la connectivité (liste de contrôle rapide) :
    1. Depuis l’environnement du connecteur, résolvez le DNS bootstrap MSK et établissez une connexion TLS vers le port du broker.
    2. Établissez une connexion TLS à ClickHouse sur le port 9440 (ou 8443 pour HTTPS).
    3. Si vous utilisez des services AWS (Glue/Secrets Manager), autorisez le trafic sortant vers ces points de terminaison.
Dernière modification le 3 juillet 2026