VPC géré par le client (BYO-VPC) pour AWS
Si vous préférez utiliser un VPC existant pour déployer ClickHouse BYOC plutôt que de laisser ClickHouse Cloud créer un nouveau VPC, suivez les étapes ci-dessous. Cette approche vous offre un contrôle accru sur votre configuration réseau et vous permet d’intégrer ClickHouse BYOC à votre infrastructure réseau existante.
Configurez votre VPC existant
- Ajoutez le tag
clickhouse-byoc="true"à votre VPC. - Allouez exactement 3 sous-réseaux privés répartis sur 3 zones de disponibilité différentes pour que ClickHouse Cloud puisse les utiliser.
- Assurez-vous que chaque sous-réseau dispose d’une plage CIDR minimale de
/25(par ex. 10.0.0.0/25). Un/25prend en charge environ 10 nœuds de serveur ClickHouse par zone de disponibilité ;/24est recommandé pour la plupart des déploiements, et des sous-réseaux plus grands pour les déploiements dont vous prévoyez la croissance. Les adresses IP des pods sont allouées à partir du sous-réseau lui-même, donc chaque réplique consomme des adresses du sous-réseau. - Ajoutez les tags
kubernetes.io/role/internal-elb=1etclickhouse-byoc="true"à chaque sous-réseau afin de permettre une configuration correcte de l’équilibreur de charge.


Configurez le point de terminaison Gateway S3
Si votre VPC n’a pas encore de point de terminaison Gateway S3 configuré, vous devrez en créer un pour permettre une communication sécurisée et privée entre votre VPC et Amazon S3. Ce point de terminaison permet à vos services ClickHouse d’accéder à S3 sans passer par l’internet public. Reportez-vous à la capture d’écran ci-dessous pour voir un exemple de configuration.

Assurez la connectivité réseau
Accès sortant à internet Votre VPC doit au minimum autoriser l’accès sortant à internet afin que les composants BYOC de ClickHouse puissent communiquer avec le plan de contrôle Tailscale. Tailscale est utilisé pour fournir un réseau privé sécurisé de type zero trust pour les opérations de gestion. L’enregistrement initial et la configuration avec Tailscale nécessitent une connectivité à l’internet public, obtenue soit directement, soit via une NAT gateway. Cette connectivité est nécessaire pour préserver à la fois la confidentialité et la sécurité de votre déploiement BYOC.
Résolution DNS Assurez-vous que votre VPC dispose d’une résolution DNS fonctionnelle et qu’il ne bloque pas, ne perturbe pas et ne remplace pas les noms DNS standard. ClickHouse BYOC s’appuie sur DNS pour résoudre les serveurs de contrôle Tailscale et les points de terminaison de service ClickHouse. Si DNS n’est pas disponible ou est mal configuré, les services BYOC risquent de ne pas pouvoir se connecter ou fonctionner correctement.
Configurez votre compte AWS
La configuration initiale de BYOC crée un rôle IAM privilégié (ClickHouseManagementRole) qui permet aux contrôleurs BYOC de ClickHouse Cloud de gérer votre infrastructure. Cela peut être effectué à l’aide d’un CloudFormation template ou d’un module Terraform (voir ci-dessous).
Lors d’un déploiement dans une configuration BYO-VPC, définissez le paramètre IncludeVPCWritePermissions sur false afin de garantir que ClickHouse Cloud ne reçoive pas les autorisations lui permettant de modifier votre VPC géré par le client.
Module Terraform
Si vous préférez utiliser Terraform plutôt que CloudFormation, utilisez le module terraform-byoc-onboarding :
module "clickhouse_onboarding" {
source = "github.com/ClickHouse/terraform-byoc-onboarding.git//modules/aws?ref=<version>"
external_id = "<external-id-provided-by-clickhouse>"
include_vpc_write_permissions = false
}Remplacez <version> par le tag le plus récent de la page des releases du module — utilisez toujours la dernière release.
Le module génère clickhouse_management_role_arn. Dans le flux standard, vous n’avez rien à faire avec cette valeur — l’onboarding se poursuit dans la console ClickHouse Cloud — mais conservez-la à portée de main : ClickHouse vous la demandera si votre configuration s’écarte des valeurs par défaut (par exemple, en cas de nom de rôle personnalisé coordonné).
La valeur external_id est générée par la console ClickHouse Cloud et est partagée par toutes les infrastructures BYOC du même compte AWS. Consultez ID externe AWS pour en savoir plus, notamment sur l’espace réservé legacy emptyid.
Configurez l’infrastructure BYOC
Dans la console ClickHouse Cloud, configurez les éléments suivants lors de la mise en place d’une nouvelle infrastructure :
- Sous VPC configuration, sélectionnez Use existing VPC.
- Saisissez votre VPC ID (par ex.
vpc-0bb751a5b888ad123). - Saisissez les Private subnet IDs pour les 3 sous-réseaux que vous avez configurés précédemment.
- Si nécessaire, saisissez également les Public subnet IDs si votre configuration requiert des équilibreurs de charge exposés publiquement.
- Cliquez sur Set up Infrastructure pour lancer le provisionnement.

Rôles IAM gérés par le client
Pour les organisations ayant des exigences de sécurité avancées ou des politiques de conformité strictes, vous pouvez fournir vos propres rôles IAM au lieu de laisser ClickHouse Cloud les créer. Cette approche vous donne un contrôle total sur les permissions IAM et vous permet d’appliquer les politiques de sécurité de votre organisation.
Avec des rôles IAM gérés par le client, vous :
- Créez à l’avance les rôles IAM propres à chaque infrastructure que ClickHouse Cloud créerait autrement
- Supprimez les permissions d’écriture IAM du
ClickHouseManagementRoleutilisé pour l’accès inter-comptes - Conservez un contrôle total sur les permissions des rôles et les relations d’approbation
Les deux modules ci-dessous utilisent l’external_id généré par la console ClickHouse Cloud ; toutes les infrastructures BYOC d’un même compte AWS partagent le même ID externe. Consultez ID externe AWS pour plus de détails, y compris l’espace réservé emptyid legacy.
Configurer le rôle de gestion sans permissions d’écriture IAM
Lors de la configuration initiale de BYOC, désactivez les permissions d’écriture IAM sur le rôle de gestion. Avec le CloudFormation template, définissez le paramètre IncludeIAMWritePermissions sur false. Avec le module Terraform :
module "clickhouse_onboarding" {
source = "github.com/ClickHouse/terraform-byoc-onboarding.git//modules/aws?ref=<version>"
external_id = "<external-id-provided-by-clickhouse>"
include_iam_write_permissions = false
}Remplacez <version> par le tag le plus récent de la page des releases du module — utilisez toujours la dernière release.
Créer les rôles IAM propres à chaque infrastructure
Avant que chaque infrastructure BYOC soit provisionnée, créez les rôles IAM requis (rôles d’identité de pod EKS, rôle d’accès ClickHouse S3 et rôle de gestion du plan de données) avec le module par infrastructure terraform-byoc-onboarding :
module "clickhouse_per_infra_iam" {
source = "github.com/ClickHouse/terraform-byoc-onboarding.git//modules/aws-per-infra-iam?ref=<version>"
spoken_name = "<spoken-name-provided-by-clickhouse>"
region = "<aws-region-of-the-infrastructure>"
external_id = "<external-id-provided-by-clickhouse>"
}Remplacez <version> par le tag le plus récent de la page des releases du module — utilisez toujours la dernière release.
Maintenir à jour les rôles propres à chaque infrastructure
Pour plus d’informations sur les rôles IAM que ClickHouse Cloud crée par défaut, consultez la référence des privilèges BYOC.