适用于 AWS 的客户管理的 VPC (BYO-VPC)
1
配置现有 VPC
- 为 VPC 添加标签
clickhouse-byoc="true"。 - 在 3 个不同的可用区中,至少分配 3 个私有子网供 ClickHouse Cloud 使用。
- 确保每个子网的最小 CIDR 范围为
/23(例如10.0.0.0/23) 以便为 ClickHouse 部署提供足够的 IP 地址。 - 为每个子网添加标签
kubernetes.io/role/internal-elb=1和clickhouse-byoc="true",以启用正确的负载均衡器配置。
2
配置 S3 Gateway Endpoint
如果您的 VPC 尚未配置 S3 Gateway Endpoint,则需要创建一个,以便在 VPC 与 Amazon S3 之间启用安全的私有通信。此端点可让您的 ClickHouse 服务在不经过公共互联网的情况下访问 S3。示例配置请参见下方截图。3
确保网络连通性
出站互联网访问 您的 VPC 至少必须允许出站互联网访问,以便 ClickHouse BYOC 组件能够与 Tailscale 控制平面通信。Tailscale 用于为私有管理操作提供安全的零信任网络。通过 Tailscale 完成初始注册和设置需要公共互联网连通性,可通过直接访问或经由 NAT gateway 实现。此连通性对于保障 BYOC 部署的隐私性和安全性都是必需的。DNS 解析 确保您的 VPC 具备正常工作的 DNS 解析能力,且不会阻止、干扰或覆盖标准 DNS 名称。ClickHouse BYOC 依赖 DNS 来解析 Tailscale 控制服务器和 ClickHouse 服务端点。如果 DNS 不可用或配置不正确,BYOC 服务可能无法正常连接或运行。4
配置 AWS 账号
初始 BYOC 设置会创建一个高权限 IAM 角色 (ClickHouseManagementRole),使来自 ClickHouse Cloud 的 BYOC 控制器能够管理您的基础设施。这可以通过 CloudFormation 模板 或 Terraform 模块 完成。部署 BYO-VPC 设置时,请将 IncludeVPCWritePermissions 参数设置为 false,以确保 ClickHouse Cloud 不会获得修改您客户管理的 VPC 的权限。运行 ClickHouse 所需的存储桶、Kubernetes 集群和计算资源不包含在此初始设置中。它们将在后续步骤中预配。虽然 VPC 由您自行控制,但 ClickHouse Cloud 仍需要 IAM 权限来创建和管理 Kubernetes 集群、服务账号的 IAM 角色、S3 bucket 以及 AWS 账号中的其他必要资源。
Terraform 模块替代方案
如果您希望使用 Terraform 而不是 CloudFormation,请使用以下模块:5
设置 BYOC 基础设施
在 ClickHouse Cloud 控制台中,设置新基础设施时请配置以下内容:- 在 VPC configuration 下,选择 Use existing VPC。
- 输入您的 VPC ID (例如
vpc-0bb751a5b888ad123)。 - 输入您之前配置的 3 个子网对应的 Private subnet IDs。
- 如果您的配置需要面向公网的负载均衡器,可选填 Public subnet IDs。
- 点击 Set up Infrastructure 开始预配。
新区域的设置最多可能需要 40 分钟。
客户管理的 IAM 角色
客户管理的 IAM 角色目前处于私有预览阶段。如果您需要此能力,请联系 ClickHouse 支持团队,讨论您的具体需求和时间安排。该功能可用后,您将能够:
- 提供预先配置好的 IAM 角色供 ClickHouse Cloud 使用
- 移除用于跨账户访问的
ClickHouseManagementRole在 IAM 相关权限中所需的写权限 - 完全掌控角色权限和信任关系