FAQ
Onboarding and provisioning
How do we get started with BYOC?
How do we get started with BYOC?
How long does infrastructure provisioning take, and what are common reasons it gets stuck?
How long does infrastructure provisioning take, and what are common reasons it gets stuck?
- The CloudFormation template or Terraform module was modified before applying it — for example, adding a
PermissionsBoundary, or renaming the IAM role to satisfy a naming convention (on AWS, keep the defaultClickHouseManagementRolename unless ClickHouse has explicitly approved a different one). Apply the artifacts as provided — supported customizations are exposed as parameters, and any other change needs ClickHouse’s approval first. - Organization-level policies (AWS SCPs, GCP organization policies such as
iam.allowedPolicyMemberDomains, or Azure policies restricting role assignments) blocking role assumption or IAM bindings. - An external ID mismatch on the onboarding role (see the external ID question below).
- Account quota limits (for example Elastic IPs or VPCs on AWS).
What value should we use for the external ID in the onboarding template?
What value should we use for the external ID in the onboarding template?
ExternalID parameter); if you use Terraform, pass the same value as external_id. All BYOC infrastructures on the same AWS account share the same external ID. Don’t choose your own value: it must match what ClickHouse’s automation expects, or the cross-account role can’t be assumed and provisioning fails. See AWS external ID for details.Why is my external ID emptyid?
Why is my external ID emptyid?
emptyid for backward compatibility. When you add new infrastructure on an AWS account with an existing legacy deployment, the console reuses this placeholder so that all infrastructures on the account keep a consistent trust configuration. If you would like to switch to a unique external ID, contact ClickHouse Support.Can BYOC be installed into an existing Kubernetes cluster?
Can BYOC be installed into an existing Kubernetes cluster?
Can we run our own workloads in the BYOC cluster or cloud account?
Can we run our own workloads in the BYOC cluster or cloud account?
clickhouse-byoc=true) but a small set of EC2 actions cannot be tag-scoped, and on GCP and Azure the onboarding identities hold project- or subscription-scoped permissions. Keep your resources away from ClickHouse-provisioned ones, and prefer a dedicated account, project, or subscription on every cloud — that remains the strong recommendation.In the Kubernetes cluster: it is possible with constraints — use your own node groups with taints and tolerations, stay out of ClickHouse-managed namespaces, and do not install cluster-wide admission controllers or policy engines, which can block reconciliation of ClickHouse components. Describe your plan to support first so we can confirm there are no collisions.Compute and scaling
Can I create multiple services in a single BYOC infrastructure?
Can I create multiple services in a single BYOC infrastructure?
Which regions do you support for BYOC?
Which regions do you support for BYOC?
Will there be some resource overhead? What are the resources needed to run services other than ClickHouse instances?
Will there be some resource overhead? What are the resources needed to run services other than ClickHouse instances?
clickhouse-operator, the cluster autoscaler, Istio, and the monitoring stack.The resource consumption of these shared components is relatively stable and doesn’t grow linearly with the number or size of your ClickHouse services. As a rough guideline, the dedicated system node group for these workloads totals roughly 48 vCPUs and 192 GB of memory — on AWS, for example, about six 2xlarge instances. In addition, each warehouse runs a dedicated three-node ClickHouse Keeper ensemble, shared by all services in that warehouse. See the cost model for details.Does BYOC support autoscaling?
Does BYOC support autoscaling?
Which instance types does BYOC run on? Can we change the instance family?
Which instance types does BYOC run on? Can we change the instance family?
Can we run very small replicas to keep costs down?
Can we run very small replicas to keep costs down?
Can we separate ingest and query workloads?
Can we separate ingest and query workloads?
Network and security
Can we limit or revoke the permissions granted during installation?
Can we limit or revoke the permissions granted during installation?
IncludeVPCWritePermissions in CloudFormation, include_vpc_write_permissions in the Terraform modules). On GCP this scopes down topology management only — ClickHouse retains write access to the networking resources it owns inside the VPC, such as the Private Service Connect NAT subnet, service attachment, and ingress addresses. On AWS you can additionally — in private preview, enabled through support — manage the IAM roles yourself (IncludeIAMWritePermissions=false, see customer-managed IAM roles), and the cross-account roles are protected by an external ID against confused-deputy access. On Azure, the onboarding module grants a fixed subscription-scoped role with no scoping parameters today. Across all clouds, some permissions are required only for specific features and can be removed if you will never use those features — contact support if you need to scope down permissions beyond what the artifacts expose.After provisioning, do not remove permissions from the management identity unilaterally: ClickHouse continuously reconciles the infrastructure, and missing permissions break provisioning, upgrades, and support. To change the granted permissions or offboard entirely, coordinate with support (see the decommissioning question below).What exactly can ClickHouse do in our cloud account? Can our security team review the permissions?
What exactly can ClickHouse do in our cloud account? Can our security team review the permissions?
clickhouse-cloud-*, so it generally cannot modify resources it did not create (a small number of EC2 actions cannot be tag-scoped), and it has no object-level access to your data buckets — object access is limited to in-cluster identities scoped to the ClickHouse workloads. On GCP and Azure, the onboarding identities hold project- or subscription-scoped permissions instead — one of the reasons a dedicated project or subscription is strongly recommended. Read permissions are broader because they are required for continuous reconciliation.What access do ClickHouse employees have to our environment and data?
What access do ClickHouse employees have to our environment and data?
system.* tables (no customer data tables), logged, and audited by our security team. Any query run by a ClickHouse engineer is visible to you in your own system.query_log. For infrastructure diagnostics, the same approval-gated escalation can also grant time-bound access to the Kubernetes API server and the in-cluster monitoring stack over Tailscale. See ClickHouse data access for the data access model and network security for the connection model.Have you considered some future security controls for ClickHouse engineers to access customer infra for troubleshooting?
Have you considered some future security controls for ClickHouse engineers to access customer infra for troubleshooting?
What data leaves our account?
What data leaves our account?
How does the ClickHouse control plane reach the Kubernetes API in our account? Is Tailscale required?
How does the ClickHouse control plane reach the Kubernetes API in our account? Is Tailscale required?
What is the size of the VPC/VNet IP range created?
What is the size of the VPC/VNet IP range created?
10.0.0.0/16 for the BYOC VPC (AWS/GCP) or VNet (Azure). We recommend reserving at least /22 for potential future scaling,
but if you prefer to limit the size, it is possible to use /23 if it is likely that you will be limited
to 30 server pods.How does network communication work between the BYOC network and object storage?
How does network communication work between the BYOC network and object storage?
The data is in our own bucket — can we read or modify it directly?
The data is in our own bucket — can we read or modify it directly?
What ports are used for client and cluster communication?
What ports are used for client and cluster communication?
Are our service endpoints exposed to the public internet? Can we go private-only?
Are our service endpoints exposed to the public internet? Can we go private-only?
Can we use our own DNS domain or bring our own TLS certificates?
Can we use our own DNS domain or bring our own TLS certificates?
clickhouse-byoc.com with ClickHouse-managed certificates.How do we set up AWS PrivateLink, GCP Private Service Connect, or Azure Private Link?
How do we set up AWS PrivateLink, GCP Private Service Connect, or Azure Private Link?
Can we connect over PrivateLink from a different AWS region?
Can we connect over PrivateLink from a different AWS region?
Is there a list of endpoints we need to allow in our firewall or egress rules?
Is there a list of endpoints we need to allow in our firewall or egress rules?
Our security tooling flagged privileged containers or host mounts in the BYOC cluster — is this expected?
Our security tooling flagged privileged containers or host mounts in the BYOC cluster — is this expected?
/proc and /sys). If your scanner raises findings, share them with support — we will confirm whether each one is by design or actionable.Do you support customer-managed encryption keys (CMEK)?
Do you support customer-managed encryption keys (CMEK)?
Upgrades and maintenance
How do ClickHouse version upgrades work? Can I decide maintenance frequency?
How do ClickHouse version upgrades work? Can I decide maintenance frequency?
Who is responsible for Kubernetes upgrades, and what impact should we expect?
Who is responsible for Kubernetes upgrades, and what impact should we expect?
Backups and disaster recovery
Where are backups stored?
Where are backups stored?
What is included in a backup? Are system tables backed up?
What is included in a backup? Are system tables backed up?
system.query_log are not included.Why am I billed for backups that are older than my retention window?
Why am I billed for backups that are older than my retention window?
How can we monitor backup status ourselves?
How can we monitor backup status ourselves?
How do we meet disaster recovery requirements (RPO/RTO)?
How do we meet disaster recovery requirements (RPO/RTO)?
Observability
How do we integrate BYOC with our own monitoring and alerting?
How do we integrate BYOC with our own monitoring and alerting?
/metrics_all endpoint per service. There is no turnkey integration for third-party platforms such as Datadog today — integrate via their Prometheus-compatible ingestion. See observability for endpoints and setup.Cost
What do we pay for with BYOC?
What do we pay for with BYOC?
Availability and lifecycle
Which cloud providers is BYOC available on?
Which cloud providers is BYOC available on?
How do we decommission a BYOC environment?
How do we decommission a BYOC environment?
clickhouse-byoc=true, so you can enumerate them afterwards to verify nothing is left; on GCP and Azure, the dedicated project or subscription you onboarded bounds what to review.Uptime SLAs
Does ClickHouse offer an uptime SLA for BYOC?
Does ClickHouse offer an uptime SLA for BYOC?