Skip to main content
Ce guide explique comment utiliser Azure Private Link pour assurer une connectivité privée via un réseau virtuel entre Azure (y compris les services détenus par les clients et les services de partenaires Microsoft) et ClickHouse Cloud. Azure Private Link simplifie l’architecture réseau et sécurise la connexion entre les endpoints dans Azure en évitant l’exposition des données à l’internet public.
Azure Private Link prend uniquement en charge les connexions initiées depuis votre VNet Azure vers ClickHouse Cloud. Il ne peut pas être utilisé pour des connexions initiées depuis ClickHouse Cloud vers des services dans votre VNet, comme une base de données privée.
Azure prend en charge la connectivité inter-région via Private Link. Cela vous permet d’établir des connexions entre des VNets situés dans différentes régions où vous avez déployé des services ClickHouse.
Des frais supplémentaires peuvent s’appliquer au trafic inter-région. Veuillez consulter la documentation Azure la plus récente.
Veuillez suivre les étapes suivantes pour activer Azure Private Link :
  1. Obtenez l’alias de connexion Azure pour Private Link
  2. Créez un Private Endpoint dans Azure
  3. Ajoutez le Private Endpoint Resource ID à votre organisation ClickHouse Cloud
  4. Ajoutez le Private Endpoint Resource ID à la liste d’autorisation de vos services
  5. Accédez à votre service ClickHouse Cloud à l’aide de Private Link
ClickHouse Cloud Azure PrivateLink est passé de l’utilisation de filtres resourceGUID à des filtres Resource ID. Vous pouvez toujours utiliser resourceGUID, car il est rétrocompatible, mais nous vous recommandons de passer aux filtres Resource ID. Pour migrer, créez simplement un nouvel endpoint à l’aide du Resource ID, associez-le au service, puis supprimez l’ancien endpoint basé sur resourceGUID.

Attention

ClickHouse essaie de regrouper vos services afin de réutiliser le même service Private Link publié dans la région Azure. Cependant, ce regroupement n’est pas garanti, en particulier si vos services sont répartis entre plusieurs organisations ClickHouse. Si Private Link est déjà configuré pour d’autres services dans votre organisation ClickHouse, vous pouvez souvent ignorer la plupart des étapes grâce à ce regroupement et passer directement à l’étape finale : Ajouter le Resource ID du Private Endpoint à la liste d’autorisation de vos services. Vous trouverez des exemples Terraform dans le dépôt du Terraform Provider de ClickHouse.

Option 1 : console ClickHouse Cloud

Dans la console ClickHouse Cloud, ouvrez le service que vous souhaitez connecter via PrivateLink, puis ouvrez le menu Paramètres. Cliquez sur le bouton Configurer un Private Endpoint. Notez le Service name et le DNS name, qui seront utilisés pour configurer Private Link. Notez le Service name et le DNS name : ils seront nécessaires aux étapes suivantes.

Option 2 : API

Avant de commencer, vous aurez besoin d’une clé API ClickHouse Cloud. Vous pouvez créer une nouvelle clé ou utiliser une clé existante. Une fois votre clé API en main, définissez les variables d’environnement suivantes avant d’exécuter des commandes :
Récupérez votre INSTANCE_ID ClickHouse en filtrant par région, fournisseur de cloud et nom du service :
Récupérez votre alias de connexion Azure et votre nom d’hôte DNS privé pour Private Link :
Notez le endpointServiceId. Vous l’utiliserez à l’étape suivante.

Créer un Private Endpoint dans Azure

Cette section présente les éléments spécifiques à ClickHouse pour configurer ClickHouse via Azure Private Link. Les étapes propres à Azure sont fournies à titre de référence pour vous indiquer où chercher, mais elles peuvent évoluer au fil du temps sans préavis du fournisseur de cloud Azure. Veuillez adapter la configuration Azure à votre cas d’usage.Veuillez noter que ClickHouse n’est pas responsable de la configuration des Private Endpoints Azure et des enregistrements DNS requis.Pour tout problème lié aux tâches de configuration Azure, contactez directement le support Azure.
Dans cette section, nous allons créer un Private Endpoint dans Azure. Vous pouvez utiliser Azure Portal ou Terraform.

Option 1 : utiliser Azure Portal pour créer un Private Endpoint dans Azure

Dans Azure Portal, ouvrez Private Link Center → Private Endpoints. Ouvrez la boîte de dialogue de création d’un Private Endpoint en cliquant sur le bouton Create.
Dans l’écran suivant, renseignez les options suivantes :
  • Subscription / Resource Group : choisissez l’abonnement Azure et le groupe de ressources du Private Endpoint.
  • Name : définissez un nom pour le Private Endpoint.
  • Region : choisissez une région où se trouve le VNet déployé qui sera connecté à ClickHouse Cloud via Private Link.
Après avoir terminé les étapes ci-dessus, cliquez sur le bouton Next: Resource.
Sélectionnez l’option Connect to an Azure resource by resource ID or alias. Pour Resource ID or alias, utilisez l’endpointServiceId obtenu à l’étape Obtain Azure connection alias for Private Link. Cliquez sur le bouton Next: Virtual Network.
  • Virtual network : choisissez le VNet que vous souhaitez connecter à ClickHouse Cloud à l’aide de Private Link
  • Subnet : choisissez le sous-réseau dans lequel le Private Endpoint sera créé
Facultatif :
  • Application security group : vous pouvez associer un ASG au Private Endpoint et l’utiliser dans les groupes de sécurité réseau pour filtrer le trafic réseau vers et depuis le Private Endpoint.
Cliquez sur le bouton Next: DNS. Cliquez sur le bouton Next: Tags.
Vous pouvez éventuellement ajouter des tags à votre Private Endpoint. Cliquez sur le bouton Next: Review + create.
Enfin, cliquez sur le bouton Create. Le Connection status du Private Endpoint créé sera à l’état Pending. Il passera à l’état Approved une fois ce Private Endpoint ajouté à la liste d’autorisation du service. Ouvrez la network interface associée au Private Endpoint et copiez l’adresse IPv4 privée (10.0.0.4 dans cet exemple) ; vous aurez besoin de cette information dans les étapes suivantes.

Option 2 : utiliser Terraform pour créer un Private Endpoint dans Azure

Utilisez le modèle ci-dessous avec Terraform pour créer un Private Endpoint :

Obtention du Private Endpoint Resource ID

Pour utiliser Private Link, vous devez ajouter le Resource ID de la connexion Private Endpoint à la liste d’autorisation de votre service. Le Private Endpoint Resource ID est visible dans Azure Portal. Ouvrez le Private Endpoint créé à l’étape précédente, puis cliquez sur JSON View : Dans properties, repérez le champ id et copiez cette valeur : Méthode recommandée : utiliser le Resource ID Méthode héritée : utiliser resourceGUID Vous pouvez toujours utiliser resourceGuid pour assurer la compatibilité descendante. Repérez le champ resourceGuid et copiez cette valeur : Vous devrez créer une zone DNS privée (${location_code}.privatelink.azure.clickhouse.cloud) et la lier à votre VNet pour accéder aux ressources via Private Link.

Créer une zone DNS privée

Option 1 : Utilisation d’Azure Portal Veuillez suivre ce guide pour créer une zone DNS privée Azure à l’aide d’Azure Portal. Option 2 : Utilisation de Terraform Utilisez le modèle Terraform suivant pour créer une zone DNS privée :

Créer un enregistrement DNS générique

Créez un enregistrement générique pointant vers votre Private Endpoint : Option 1 : Utilisation d’Azure Portal
  1. Ouvrez le groupe de ressources MyAzureResourceGroup et sélectionnez la zone privée ${region_code}.privatelink.azure.clickhouse.cloud.
  2. Sélectionnez + Record set.
  3. Pour Name, saisissez *.
  4. Pour IP Address, saisissez l’adresse IP affichée pour le Private Endpoint.
  5. Sélectionnez OK.
Option 2 : Utilisation de Terraform Utilisez le modèle Terraform suivant pour créer un enregistrement DNS générique :
Pour lier la zone DNS privée à un réseau virtuel, vous devez créer un lien de réseau virtuel. Option 1 : utiliser Azure Portal Veuillez suivre ce guide pour lier le réseau virtuel à votre zone DNS privée. Option 2 : utiliser Terraform
Il existe plusieurs façons de configurer le DNS. Configurez-le en fonction de votre cas d’usage.
Vous devez faire pointer le “DNS name”, obtenu à l’étape Obtain Azure connection alias for Private Link, vers l’adresse IP du Private Endpoint. Cela garantit que les services/composants au sein de votre VPC/réseau peuvent le résoudre correctement.

Vérifiez la configuration DNS

Le domaine xxxxxxxxxx.westus3.privatelink.azure.clickhouse.cloud doit pointer vers l’adresse IP du Private Endpoint (10.0.0.4 dans cet exemple).

Ajouter le Private Endpoint Resource ID de votre organisation ClickHouse Cloud

Option 1 : console ClickHouse Cloud

Pour ajouter un endpoint à l’organisation, passez à l’étape Ajouter le Private Endpoint Resource ID à la liste d’autorisation de vos services. L’ajout du Private Endpoint Resource ID à la liste d’autorisation de vos services à l’aide de la console ClickHouse Cloud l’ajoute automatiquement à l’organisation. Pour supprimer un endpoint, ouvrez Organization details -> Private Endpoints et cliquez sur le bouton Supprimer pour retirer l’endpoint.

Option 2 : API

Définissez les variables d’environnement suivantes avant d’exécuter toute commande :
Définissez la variable d’environnement ENDPOINT_ID à l’aide des informations de l’étape Obtaining the Private Endpoint Resource ID. Exécutez la commande suivante pour ajouter le Private Endpoint :
Vous pouvez également exécuter la commande suivante pour supprimer un Private Endpoint :
Après avoir ajouté ou supprimé un Private Endpoint, exécutez la commande suivante pour l’appliquer à votre organisation :

Ajoutez le Private Endpoint Resource ID à la liste d’autorisation de vos services

Par défaut, un service ClickHouse Cloud n’est pas accessible via une connexion Private Link, même si cette connexion Private Link a été approuvée et établie. Vous devez ajouter explicitement le Private Endpoint Resource ID de chaque service devant être accessible via Private Link.

Option 1 : console ClickHouse Cloud

Dans la console ClickHouse Cloud, ouvrez le service auquel vous souhaitez vous connecter via PrivateLink, puis accédez à Settings. Saisissez le Resource ID obtenu à l’étape précédente.
Si vous souhaitez autoriser l’accès à partir d’une connexion PrivateLink existante, utilisez le menu déroulant de l’endpoint existant.

Option 2 : API

Définissez ces variables d’environnement avant d’exécuter toute commande :
Exécutez-la pour chaque service qui doit être accessible via Private Link. Exécutez la commande suivante pour ajouter le Private Endpoint à la liste d’autorisation des services :
Vous pouvez également exécuter la commande suivante pour retirer un Private Endpoint de la liste d’autorisation du service :
Après avoir ajouté ou supprimé un Private Endpoint de la liste d’autorisation des services, exécutez la commande suivante pour l’appliquer à votre organisation :
Chaque service pour lequel Private Link est activé possède un endpoint public et un endpoint privé. Pour vous connecter à l’aide de Private Link, vous devez utiliser l’endpoint privé, c’est-à-dire privateDnsHostnameAPI ou DNS nameconsole, obtenu à partir de Obtenir l’alias de connexion Azure pour Private Link.

Obtenir le nom d’hôte DNS privé

Option 1 : console ClickHouse Cloud

Dans la console ClickHouse Cloud, accédez à Settings. Cliquez sur le bouton Set up private endpoint. Dans le volet qui s’ouvre, copiez le DNS Name.

Option 2 : API

Définissez les variables d’environnement suivantes avant d’exécuter toute commande :
Exécutez la commande suivante :
Vous devriez obtenir une réponse semblable à la suivante :
Dans cet exemple, la connexion au hostname xxxxxxx.region_code.privatelink.azure.clickhouse.cloud passera par Private Link. En revanche, xxxxxxx.region_code.azure.clickhouse.cloud passera par internet. Utilisez privateDnsHostname pour vous connecter à votre service ClickHouse Cloud via Private Link.

Dépannage

Tester la configuration DNS

Exécutez la commande suivante :
où « nom DNS » correspond à privateDnsHostnameAPI ou à DNS nameconsole dans Obtenir l’alias de connexion Azure pour Private Link Vous devriez obtenir la réponse suivante :

Connexion réinitialisée par le pair

Il est très probable que le Private Endpoint Resource ID n’ait pas été ajouté à la liste d’autorisation de vos services. Revenez à l’étape Ajouter le Private Endpoint Resource ID à la liste d’autorisation de vos services.

Le Private Endpoint est en attente

Il est fort probable que le Private Endpoint Resource ID n’ait pas été ajouté à la liste d’autorisation du service. Reprenez l’étape Ajouter le Private Endpoint Resource ID à la liste d’autorisation de vos services.

Tester la connectivité

Si vous rencontrez des problèmes de connexion via Private Link, vérifiez la connectivité avec openssl. Assurez-vous que l’état du point de terminaison Private Link est Accepted. OpenSSL doit pouvoir établir la connexion (la sortie doit afficher CONNECTED). errno=104 est attendu.

Vérifier les filtres du point de terminaison privé

Définissez les variables d’environnement suivantes avant d’exécuter des commandes :
Exécutez la commande suivante pour vérifier les filtres du Private Endpoint :

Plus d’informations

Pour en savoir plus sur Azure Private Link, veuillez consulter azure.microsoft.com/en-us/products/private-link.
Dernière modification le 24 juillet 2026