Vous pouvez utiliser AWS PrivateLink pour établir une connexion sécurisée entre ClickPipes et une source de données hébergée sur AWS. ClickPipes crée un endpoint privé inversé (RPE) dans son VPC et le connecte à un endpoint service privé publié pour votre source de données, afin que le trafic ne soit jamais exposé à Internet.
Sources de données ClickPipes prises en charge
La fonctionnalité de reverse private endpoint de ClickPipes est limitée aux types de sources de données suivants :
- Kafka
- Postgres
- MySQL
- MongoDB
Types d'endpoints AWS PrivateLink pris en charge
L'endpoint privé inverse de ClickPipes peut être configuré selon l'une des approches AWS PrivateLink suivantes :
Ressource VPC
Vous pouvez accéder à vos ressources VPC dans ClickPipes à l’aide de PrivateLink. Cette approche ne nécessite pas de placer un équilibreur de charge devant votre source de données.
La configuration de la ressource peut cibler un hôte spécifique ou l’ARN d’un cluster RDS.
C’est l’option privilégiée pour l’ingestion de données Postgres CDC depuis un cluster RDS.
Pour configurer PrivateLink avec une ressource VPC :
- Créez une passerelle de ressources
- Créez une configuration de ressources
- Créez un partage de ressources
Créer une passerelle de ressources
La passerelle de ressources est le point qui reçoit le trafic destiné aux ressources spécifiées dans votre VPC.
Vous pouvez créer une passerelle de ressources depuis la console AWS ou à l'aide de la commande suivante :
aws vpc-lattice create-resource-gateway \
--vpc-identifier <VPC_ID> \
--subnet-ids <SUBNET_IDS> \
--security-group-ids <SG_IDs> \
--name <RESOURCE_GATEWAY_NAME>La sortie contiendra l’ID de la passerelle de ressources, dont vous aurez besoin à l’étape suivante.
Avant de continuer, attendez que la passerelle de ressources atteigne l’état Active. Vous pouvez vérifier son état en exécutant la commande suivante :
aws vpc-lattice get-resource-gateway \
--resource-gateway-identifier <RESOURCE_GATEWAY_ID>Créer une configuration de ressource VPC
Une configuration de ressource est associée à une passerelle de ressources afin de rendre la ressource accessible.
Vous pouvez créer une configuration de ressource depuis la console AWS ou à l'aide de la commande suivante :
aws vpc-lattice create-resource-configuration \
--resource-gateway-identifier <RESOURCE_GATEWAY_ID> \
--type <RESOURCE_CONFIGURATION_TYPE> \
--resource-configuration-definition <RESOURCE_CONFIGURATION_DEFINITION> \
--name <RESOURCE_CONFIGURATION_NAME>Le type de configuration de ressource le plus simple est une Resource-Configuration unique. Vous pouvez la configurer directement avec l’ARN, ou partager une adresse IP ou un nom de domaine résoluble publiquement.
Par exemple, pour la configurer avec l’ARN d’un cluster RDS :
aws vpc-lattice create-resource-configuration \
--name my-rds-cluster-config \
--type ARN \
--resource-gateway-identifier rgw-0bba03f3d56060135 \
--resource-configuration-definition 'arnResource={arn=arn:aws:rds:us-east-1:123456789012:cluster:my-rds-cluster}'La sortie contient un ARN de configuration de ressource, nécessaire à l’étape suivante. Elle contient également un ID de configuration de ressource, nécessaire pour configurer une connexion ClickPipe avec une ressource VPC.
Connectivité MSK multi-VPC
La connectivité multi-VPC est une fonctionnalité intégrée à AWS MSK qui permet de connecter plusieurs VPC à un même cluster MSK. La prise en charge du DNS privé est disponible par défaut et ne nécessite aucune configuration supplémentaire. La connectivité interrégionale n’est pas prise en charge.
Cette option est recommandée pour ClickPipes for MSK. Pour en savoir plus, consultez le guide de prise en main.
Suivez notre guide de configuration de MSK pour ClickPipes pour savoir comment établir la connexion.
Service de point de terminaison VPC
Le service de point de terminaison VPC constitue une autre solution pour partager votre source de données avec ClickPipes. Il nécessite de configurer un NLB (Network Load Balancer) devant votre source de données et de configurer le service de point de terminaison VPC pour qu'il utilise ce NLB.
Un service de point de terminaison VPC peut être configuré avec un DNS privé, accessible depuis un VPC ClickPipes. Le DNS privé géré par AWS PrivateLink n'est pas toujours une solution viable :
- vous ne possédez pas le nom de domaine de votre source de données et ne pouvez donc pas le vérifier auprès d'AWS ;
- le fournisseur exige que les consommateurs gèrent la résolution DNS, comme Confluent Cloud. Dans ces cas, consultez DNS privé personnalisé.
Cette solution est à privilégier pour :
- toute configuration Kafka sur site nécessitant la prise en charge du DNS privé ;
- la connectivité privée de Confluent Cloud ;
- la connectivité inter-régions pour Postgres CDC ;
- la connectivité inter-régions pour les clusters MSK.
Consultez le guide de mise en route pour plus de détails.
Pour les clusters MSK, consultez Service de point de terminaison VPC AWS PrivateLink pour les clusters MSK pour une configuration avec un broker par service de point de terminaison utilisant des noms DNS privés personnalisés.
DNS privé personnalisé
AWS PrivateLink fournit un DNS privé géré pour les services de point de terminaison VPC disposant d'un domaine vérifié. Certains services exigent que chaque consommateur gère la résolution DNS dans son propre VPC. Par exemple, Confluent Cloud exige que les consommateurs résolvent les noms d'hôte des brokers vers le point de terminaison PrivateLink.
Dans ces cas, ClickPipes permet d'associer des noms DNS privés personnalisés à un point de terminaison privé inversé. ClickPipes résout ces noms vers les adresses privées du point de terminaison, afin que votre source de données soit accessible via son propre nom d'hôte grâce à une connectivité privée.
Le DNS privé personnalisé complète le DNS privé géré — il ne le remplace pas. Si votre service PrivateLink fournit déjà des noms DNS privés, vous n'avez pas besoin de noms personnalisés.
Les noms DNS privés personnalisés sont pris en charge pour les types de point de terminaison service de point de terminaison VPC et ressource VPC. MSK multi-VPC fournit un DNS privé géré prêt à l'emploi et ne prend pas en charge les noms personnalisés.
Les règles suivantes s'appliquent aux noms DNS privés personnalisés :
- Les noms exacts (
kafka.internal.example.com) et les noms génériques (*.example.com) sont pris en charge. Un caractère générique correspond à une seule étiquette DNS — par exemple,*.abcde12345.us-east-1.aws.confluent.cloudcorrespond àb0-lkc123.abcde12345.us-east-1.aws.confluent.cloud. - Les noms doivent être uniques parmi tous les points de terminaison privés inversés d'un service ClickHouse, y compris en cas de chevauchement entre les noms génériques et les noms exacts.
- Les noms utilisant des suffixes réservés (par exemple,
local,localhost,internal,corp,private) sont rejetés.
Pour configurer des noms DNS privés personnalisés :
- Dans la console ClickHouse Cloud, renseignez le champ
Custom private DNS namelors de la création d'un point de terminaison privé inversé. Le champ s'affiche une fois la fonctionnalité activée pour votre service. - Avec OpenAPI, définissez
customPrivateDnsMappingslors de la création d'un point de terminaison privé inversé, ou mettez à jour un point de terminaison existant avec une requêtePATCH. Les mises à jour remplacent la liste complète des mappages ; une liste vide supprime tous les noms personnalisés. - Avec Terraform, utilisez la
ressource
clickhouse_clickpipes_reverse_private_endpoint_custom_private_dnspour gérer les mappages d'un point de terminaison privé inversé existant.
Création d’un ClickPipe avec un endpoint privé inversé
- Accédez à la SQL Console de votre service ClickHouse Cloud.

- Sélectionnez le bouton
Data Sourcesdans le menu de gauche, puis cliquez sur « Set up a ClickPipe ».

- Sélectionnez Kafka ou Postgres comme source de données.

- Sélectionnez l’option
Reverse private endpoint.

- Sélectionnez l’un des endpoints privés inversés existants ou créez-en un.

- Renseignez les paramètres requis pour le type d’endpoint sélectionné.

- Pour une ressource VPC, fournissez l’ARN de partage de configuration et l’ID de configuration.
- Pour MSK multi-VPC, fournissez l’ARN du cluster et la méthode d’authentification utilisée avec l’endpoint créé.
- Pour un service d’endpoint VPC, fournissez le nom du service.
- Vous pouvez également fournir un nom DNS privé personnalisé.
-
Cliquez sur
Createet attendez que l’endpoint privé inversé soit prêt.Si vous créez un nouvel endpoint, sa configuration peut prendre un certain temps. La page s’actualisera automatiquement une fois l’endpoint prêt. Un service d’endpoint VPC peut nécessiter l’acceptation de la demande de connexion dans votre console AWS.

-
Une fois l’endpoint prêt, vous pouvez utiliser un nom DNS pour vous connecter à la source de données.
Dans la liste des endpoints, vous pouvez voir le nom DNS de chaque endpoint disponible. Il peut s’agir d’un nom DNS provisionné en interne par ClickPipes, d’un nom DNS privé fourni par un service PrivateLink, ou d’un nom DNS privé personnalisé. Un nom DNS ne constitue pas une adresse réseau complète. Ajoutez le port correspondant à la source de données.
La chaîne de connexion MSK est accessible dans la console AWS.
Pour afficher la liste complète des noms DNS, accédez aux paramètres du service Cloud.
Gestion des reverse private endpoints
Vous pouvez gérer les reverse private endpoints existants dans les paramètres du service ClickHouse Cloud :
-
Dans la barre latérale, recherchez le bouton
Settingset cliquez dessus.
-
Cliquez sur
Reverse private endpointsdans la sectionClickPipe reverse private endpoints.
Des informations détaillées sur le reverse private endpoint s'affichent dans le flyout.
Un endpoint ne peut pas être modifié après sa création. Vous pouvez le supprimer en cliquant sur le
×correspondant et en confirmant : la suppression est définitive et interrompt tout ClickPipe utilisant actuellement cet endpoint.
Régions AWS prises en charge
La prise en charge d’AWS PrivateLink pour ClickPipes est limitée à certaines régions AWS. Consultez la liste des régions ClickPipes pour connaître les régions disponibles.
Cette restriction ne s’applique pas aux services de point de terminaison VPC PrivateLink pour lesquels la connectivité inter-région est activée.
Limitations
La création des endpoints AWS PrivateLink pour ClickPipes dans ClickHouse Cloud n'est pas garantie dans la même région AWS que le service ClickHouse Cloud.
Actuellement, seul le service d'endpoint VPC prend en charge la connectivité interrégionale.
Les endpoints privés sont associés à un service ClickHouse spécifique et ne peuvent pas être transférés d'un service à un autre. Plusieurs ClickPipes pour un même service ClickHouse peuvent réutiliser le même endpoint.
AWS MSK ne prend en charge qu'un seul PrivateLink (endpoint VPC) par cluster MSK et par type d'authentification (SASL_IAM ou SASL_SCRAM). Par conséquent, plusieurs services ClickHouse Cloud ou organisations ne peuvent pas créer de connexions PrivateLink distinctes vers le même cluster MSK en utilisant le même type d'authentification.
Nettoyage automatique des endpoints inactifs
Les reverse private endpoints qui restent dans un état terminal sont automatiquement supprimés après un délai de grâce défini. Cela garantit que les endpoints inutilisés ou mal configurés ne persistent pas indéfiniment.
Les délais de grâce suivants s'appliquent selon le statut de l'endpoint :
| Statut | Délai de grâce | Description |
|---|---|---|
| Échec | 7 jours | L'endpoint a rencontré une erreur lors du provisionnement. |
| En attente d'acceptation | 1 jour | La connexion de l'endpoint n'a pas été acceptée par le propriétaire du service. |
| Rejeté | 1 jour | La connexion de l'endpoint a été rejetée par le propriétaire du service. |
| Expiré | Immédiat | L'endpoint a déjà expiré et est supprimé sans délai. |
Une fois le délai de grâce écoulé, l'endpoint et toutes les ressources associées sont automatiquement supprimés.
Pour empêcher la suppression automatique, résolvez le problème sous-jacent avant l'expiration du délai de grâce. Par exemple, acceptez une demande de connexion en attente dans votre console AWS, ou recréez l'endpoint s'il est passé à l'état d'échec.