AWS 自定义配置
适用于 AWS 的客户管理的 VPC (BYO-VPC)
如果您希望使用现有 VPC 部署 ClickHouse BYOC,而不是由 ClickHouse Cloud 预配新的 VPC,请按照以下步骤操作。此方式可让您更好地控制网络配置,并将 ClickHouse BYOC 集成到现有的网络基础设施中。
配置现有 VPC
- 为 VPC 添加标签
clickhouse-byoc="true"。 - 在 3 个不同的可用区中,至少为 ClickHouse Cloud 分配 3 个私有子网。
- 确保每个子网的最小 CIDR 范围为
/23(例如10.0.0.0/23) ,以便为 ClickHouse 部署提供充足的 IP 地址。 - 为每个子网添加标签
kubernetes.io/role/internal-elb=1和clickhouse-byoc="true",以确保负载均衡器得到正确配置。


配置 S3 网关端点
如果您的 VPC 尚未配置 S3 网关端点,则需要创建一个,以便在 VPC 与 Amazon S3 之间启用安全的私有通信。该端点使 ClickHouse 服务无需经过公网即可访问 S3。示例配置请参见下方截图。

确保网络连通性
出站互联网访问 您的 VPC 至少必须允许出站互联网访问,以便 ClickHouse BYOC 组件能够与 Tailscale 控制平面通信。Tailscale 用于为私有管理操作提供安全的零信任网络。通过 Tailscale 进行初始注册和配置需要公网连通性,这可以通过直接访问互联网或经由 NAT 网关实现。为了同时保障 BYOC 部署的隐私和安全,必须具备这种连通性。
DNS 解析 请确保您的 VPC 具备正常的 DNS 解析能力,并且不会阻止、干扰或覆盖标准 DNS 名称。ClickHouse BYOC 依赖 DNS 来解析 Tailscale 控制服务器以及 ClickHouse 服务端点。如果 DNS 不可用或配置错误,BYOC 服务可能无法连接或无法正常运行。
配置您的 AWS 账户
初始 BYOC 设置会创建一个高权限 IAM 角色 (ClickHouseManagementRole) ,使来自 ClickHouse Cloud 的 BYOC 控制器能够管理您的基础设施。您可以使用 CloudFormation 模板 或 Terraform 模块 执行此操作。
在部署 BYO-VPC 配置时,请将 IncludeVPCWritePermissions 参数设置为 false,以确保 ClickHouse Cloud 不会获得修改您客户管理的 VPC 的权限。
运行 ClickHouse 所需的存储桶、Kubernetes 集群和计算资源不包含在此初始设置中。它们将在后续步骤中预配。虽然 VPC 由您自行管理,但 ClickHouse Cloud 仍需要 IAM 权限,以便在您的 AWS 账户中创建和管理 Kubernetes 集群、服务账户的 IAM 角色、S3 存储桶以及其他必要资源。
替代 Terraform 模块
如果您更倾向于使用 Terraform 而不是 CloudFormation,请使用以下模块:
客户管理的 IAM 角色
对于有高级安全要求或严格合规策略的组织,您可以提供自己的 IAM 角色,而无需由 ClickHouse Cloud 为您创建。这样,您可以完全控制 IAM 权限,并执行组织内部的安全策略。
客户管理的 IAM 角色目前处于私有预览阶段。如果您需要此功能,请联系 ClickHouse Support,讨论您的具体需求和时间安排。
该功能可用后,您将能够:
- 提供预先配置的 IAM 角色供 ClickHouse Cloud 使用
- 移除用于跨账户访问的
ClickHouseManagementRole所需的 IAM 相关写权限 - 完全控制角色权限和信任关系
有关 ClickHouse Cloud 默认创建的 IAM 角色的信息,请参阅 BYOC 特权参考。
