Vue d'ensemble
Ce guide explique comment connecter ClickPipes à un cluster Kafka Confluent Cloud existant via un réseau privé.
Utilisez ce guide pour :
- les clusters Dedicated de Confluent Cloud avec AWS PrivateLink ou GCP Private Service Connect (PSC)
- les clusters serverless de Confluent Cloud avec AWS PrivateLink ou GCP Private Service Connect (PSC)
Ce guide suppose que le cluster Kafka, le topic et les credentials Kafka de Confluent Cloud existent déjà. Il se concentre sur la connectivité privée et les points de terminaison privés inversés (RPE) de ClickPipes.
Comment la configuration s’articule
Les clients Kafka se connectent à un nom d’hôte bootstrap, récupèrent les métadonnées, puis se connectent aux noms d’hôte des brokers annoncés par Confluent Cloud. Pour le réseau privé de Confluent Cloud, ces noms d’hôte doivent être résolus, au sein du réseau ClickPipes, vers le point de terminaison privé créé par ClickPipes.
ClickPipes utilise :
- Un point de terminaison privé inversé pour établir la connexion au réseau privé du fournisseur Cloud.
- Des mappages DNS privé personnalisé sur ce RPE afin que les noms d’hôte bootstrap et de broker de Confluent soient résolus de manière privée.
- Le point de terminaison bootstrap Kafka de Confluent Cloud comme adresse du broker dans le ClickPipe.
Prérequis
- Un service ClickHouse Cloud dans lequel vous créerez le Kafka ClickPipe.
- Un cluster Kafka Confluent Cloud dans le même cloud et la même région que ceux auxquels vous souhaitez vous connecter de manière privée.
- Une clé API Kafka ou des identifiants de compte de service que ClickPipes peut utiliser.
- Pour AWS PrivateLink, le DNS privé personnalisé ClickPipes est en préversion privée ; contactez ClickHouse Support s’il n’est pas activé pour votre service.
Clusters dédiés
Utilisez cette section pour les clusters Dedicated de Confluent Cloud connectés via un réseau privé Confluent.
Collecter les informations réseau de Confluent Cloud
À partir du réseau Confluent Cloud associé à votre cluster Dedicated, collectez :
- Le domaine DNS privé, indiqué ci-dessous par
{dns_domain}. - Les zones du fournisseur de cloud utilisées par le réseau Confluent.
- Pour AWS, le nom de l'endpoint service Confluent PrivateLink.
- Pour GCP, le service attachment PSC pour chaque zone réseau Confluent.
Les valeurs de zone font partie des noms DNS que ClickPipes doit résoudre.
Pour AWS, il s'agit d'ID de zone de disponibilité comme use1-az1.
Pour GCP, il s'agit de zones comme us-central1-a.
Ajoutez une entrée d’accès PrivateLink ou PSC dans Confluent Cloud pour l’identité consumer de ClickPipes :
- AWS : autorisez l’ID du compte AWS ClickPipes
072088201116. - GCP : autorisez le projet GCP ClickPipes
clickpipes-production.
Cette autorisation est requise avant que le RPE ClickPipes puisse se connecter au réseau privé de Confluent Cloud.
Créer les RPE ClickPipes
Créez les RPE avec OpenAPI ou Terraform.
Avec OpenAPI, utilisez customPrivateDnsMappings dans la requête de création.
Si vous mettez à jour un RPE existant avec l’opération de mise à jour,
n’oubliez pas que customPrivateDnsMappings remplace entièrement la liste existante.
AWS Dedicated
Créez un RPE VPC_ENDPOINT_SERVICE qui pointe vers l’endpoint service PrivateLink de Confluent Cloud.
Ajoutez tous ces mappages DNS privés personnalisés au même RPE :
*.{dns_domain}*.{zone}.{dns_domain}pour chaque zone réseau Confluent
Exemple de corps de requête OpenAPI :
{
"description": "Confluent Cloud Dedicated AWS PrivateLink",
"type": "VPC_ENDPOINT_SERVICE",
"vpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-0123456789abcdef0",
"customPrivateDnsMappings": [
{
"privateDnsName": "*.abcde12345.us-east-1.aws.confluent.cloud"
},
{
"privateDnsName": "*.use1-az1.abcde12345.us-east-1.aws.confluent.cloud"
},
{
"privateDnsName": "*.use1-az2.abcde12345.us-east-1.aws.confluent.cloud"
},
{
"privateDnsName": "*.use1-az3.abcde12345.us-east-1.aws.confluent.cloud"
}
]
}GCP Dedicated
Créez un RPE GCP_PSC_SERVICE_ATTACHMENT par zone Confluent Cloud.
Chaque RPE pointe vers le service attachment PSC de cette zone.
Ajoutez *.{zone}.{dns_domain} au RPE de la zone correspondante.
Ajoutez *.{dns_domain} à un seul RPE.
Exemple de request body OpenAPI pour la première zone :
{
"description": "Confluent Cloud Dedicated PSC us-central1-a",
"type": "GCP_PSC_SERVICE_ATTACHMENT",
"gcpServiceAttachment": "projects/confluent-prod/regions/us-central1/serviceAttachments/confluent-us-central1-a",
"customPrivateDnsMappings": [
{
"privateDnsName": "*.us-central1-a.abcde12345.us-central1.gcp.confluent.cloud"
},
{
"privateDnsName": "*.abcde12345.us-central1.gcp.confluent.cloud"
}
]
}Exemple de corps de requête OpenAPI pour additional-zone :
{
"description": "Confluent Cloud Dedicated PSC us-central1-b",
"type": "GCP_PSC_SERVICE_ATTACHMENT",
"gcpServiceAttachment": "projects/confluent-prod/regions/us-central1/serviceAttachments/confluent-us-central1-b",
"customPrivateDnsMappings": [
{
"privateDnsName": "*.us-central1-b.abcde12345.us-central1.gcp.confluent.cloud"
}
]
}Clusters serverless
Utilisez cette section pour les clusters serverless de Confluent Cloud qui utilisent des passerelles d’ingress privées et des points d’accès Confluent.
Créer une passerelle Confluent de connectivité privée entrante
Créez la passerelle privée entrante dans Confluent Cloud, dans le même cloud et la même région que le cluster Kafka Confluent :
- AWS : créez une passerelle PrivateLink entrante.
- GCP : créez une passerelle Private Service Connect entrante.
Notez la cible de la passerelle à laquelle ClickPipes doit se connecter :
- AWS : le nom du service de point de terminaison VPC de la passerelle.
- GCP : le service attachment PSC de la passerelle.
Créer le RPE ClickPipes
Créez un RPE ClickPipes pour la passerelle d’ingestion Confluent.
Pour AWS, créez un RPE VPC_ENDPOINT_SERVICE :
{
"description": "Confluent Cloud ingress AWS PrivateLink",
"type": "VPC_ENDPOINT_SERVICE",
"vpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-0123456789abcdef0"
}Pour GCP, créez un RPE GCP_PSC_SERVICE_ATTACHMENT :
{
"description": "Confluent Cloud ingress PSC",
"type": "GCP_PSC_SERVICE_ATTACHMENT",
"gcpServiceAttachment": "projects/confluent-prod/regions/us-central1/serviceAttachments/confluent-ingress"
}Attendez que la réponse RPE contienne un endpointId.
Cet ID est nécessaire pour créer le point d’accès Confluent.
Créer le point d’accès d’ingress Confluent
Créez un point d’accès d’ingress Confluent Cloud pour le point de terminaison ClickPipes :
- AWS : utilisez l’
endpointIdRPE de ClickPipes comme Endpoint ID du VPC endpoint. - GCP : utilisez l’
endpointIdRPE de ClickPipes comme ID de connexion PSC.
Une fois le point d’accès créé, récupérez :
- Le domaine DNS du point d’accès, indiqué ci-dessous sous la forme
{access_point_dns_domain}. - L’endpoint bootstrap du point d’accès.
Patchez les mappages DNS privés personnalisés du RPE
Patchez le RPE ClickPipes avec les deux mappages DNS privés personnalisés suivants :
*.{region}.{cloud}.accesspoint.glb.confluent.cloud*.{access_point_dns_domain}
Exemple de corps de la requête de mise à jour OpenAPI :
{
"customPrivateDnsMappings": [
{
"privateDnsName": "*.us-east-1.aws.accesspoint.glb.confluent.cloud"
},
{
"privateDnsName": "*.abcd1234.us-east-1.aws.confluent.cloud"
}
]
}Configuration Terraform
Avec Terraform, utilisez :
clickhouse_clickpipes_reverse_private_endpointpour créer des RPE.clickhouse_clickpipes_reverse_private_endpoint_custom_private_dnspour gérer l’ensemble des mappages DNS privés personnalisés pour chaque RPE.
Les modules Terraform ClickPipes fournissent également des exemples complets pour Confluent :
confluent-dedicatedpour le réseau privé de Confluent Cloud Dedicated.confluent-serverlesspour l’ingress privé serverless de Confluent Cloud.
Utilisez les mêmes schémas de mappage DNS que dans ce guide.
Dans Terraform, les noms de champ utilisent le format snake_case, par exemple vpc_endpoint_service_name, gcp_service_attachment et private_dns_name.
Créer le Kafka ClickPipe
Une fois les RPE prêts :
- Créez ou modifiez le Kafka ClickPipe.
- Utilisez l’endpoint bootstrap de Confluent Cloud comme adresse du broker, sans le préfixe
SASL_SSL://. - Sélectionnez les RPE créés pour la connexion privée à Confluent Cloud.
- Utilisez l’authentification
PLAINavec la clé API Kafka de Confluent Cloud et le secret associé. - Configurez les topics, le consumer group, le format des données et la table de destination comme d’habitude.
Si vous utilisez un Confluent Schema Registry via un réseau privé, configurez l’URL du registre de schémas dans le ClickPipe et assurez-vous que son nom d’hôte est résolu via la même configuration de DNS privé personnalisé des RPE. Pour plus de détails, consultez Registres de schémas pour Kafka ClickPipe.
Dépannage
- Si le RPE reste en attente, vérifiez l’autorisation de réseau privé dans Confluent Cloud, puis acceptez ou finalisez la connexion dans Confluent Cloud.
- Si la vérification de connectivité de ClickPipe échoue, vérifiez que chaque nom d’hôte de bootstrap et de broker renvoyé par Confluent Cloud correspond à l’un des mappages DNS privé personnalisés.
- Si vous appliquez un patch aux mappages DNS personnalisés, incluez la liste complète souhaitée. La mise à jour remplace la liste existante.
- Si un mappage DNS est rejeté pour cause de doublon, vérifiez tous les RPE du même service ClickHouse afin de repérer des noms exacts ou avec caractères génériques qui se chevauchent.