前置条件
为 ClickHouse BYOC 启用私有负载均衡器
设置 VPC 对等连接
1
创建对等连接
- 在 ClickHouse BYOC 账户中,前往 VPC 仪表板。
- 选择 Peering Connections。
- 点击 Create Peering Connection。
- 将 VPC Requester 设置为 ClickHouse VPC ID。
- 将 VPC Accepter 设置为目标 VPC ID。 (如适用,选择另一个账户)
- 点击 Create Peering Connection。
2
接受对等连接请求
前往对等账户,在 (VPC -> Peering connections -> Actions -> Accept request) 页面批准此 VPC 对等连接请求。3
将目标端添加到 ClickHouse VPC 路由表
在 ClickHouse BYOC 账户中,- 在 VPC 仪表板中选择 Route Tables。
- 搜索 ClickHouse VPC ID,并编辑所有附加到私有子网的路由表。
- 点击 Routes 选项卡下的 Edit 按钮。
- 点击 Add another route。
- 在 Destination 中输入目标 VPC 的 CIDR 范围。
- 在 Target 中选择 “Peering Connection” 和该对等连接的 ID。
4
将目标端添加到目标 VPC 路由表
在对等 AWS 账户中,- 在 VPC 仪表板中选择 Route Tables。
- 搜索目标 VPC ID。
- 点击 Routes 选项卡下的 Edit 按钮。
- 点击 Add another route。
- 在 Destination 中输入 ClickHouse VPC 的 CIDR 范围。
- 在 Target 中选择 “Peering Connection” 和该对等连接的 ID。
5
编辑安全组 (Security Group) 以允许来自对等 VPC 的访问
在 ClickHouse BYOC 账户中,您需要更新安全组 (Security Group) 设置,以允许来自已建立对等连接的 VPC 的流量。请联系 ClickHouse 支持团队,请求添加入站规则,其中应包含该对等 VPC 的 CIDR 范围。现在应已可从对等 VPC 访问 ClickHouse 服务。
-private 后缀。例如:
- 公共端点:
h5ju65kv87.mhp0y4dmph.us-west-2.aws.byoc.clickhouse.cloud - 专用终结点:
h5ju65kv87-private.mhp0y4dmph.us-west-2.aws.byoc.clickhouse.cloud
配置 PrivateLink
1
申请配置 PrivateLink
联系 ClickHouse 支持团队,为你的 BYOC 部署申请配置 PrivateLink。此阶段无需提供特定信息,只需说明你希望建立 PrivateLink 连接即可。ClickHouse 支持团队会启用所需的基础设施组件,包括私有负载均衡器和 PrivateLink 服务端点。2
在你的 VPC 中创建端点
在 ClickHouse 支持团队完成其侧的 PrivateLink 启用后,你需要在客户端应用所在的 VPC 中创建一个 VPC 端点,以连接到 ClickHouse PrivateLink 服务。- 获取端点服务名称:
- ClickHouse 支持团队会向你提供端点服务名称
- 你也可以在 AWS VPC Console 的“Endpoint Services”下找到它 (可按服务名称筛选,或查找 ClickHouse 服务)
- 创建 VPC 端点:
- 进入 AWS VPC Console → Endpoints → Create Endpoint
- 选择“Find service by name”,然后输入 ClickHouse 支持团队提供的端点服务名称
- 选择你的 VPC 和子网 (建议每个可用区选择一个子网)
- 重要:为该端点启用“Private DNS names”——这是确保 DNS 解析正常工作所必需的
- 为该端点选择或创建一个安全组 (Security Group)
- 点击“Create Endpoint”
- 批准端点连接:
- 创建端点后,你需要批准该连接请求
- 在 VPC Console 中,前往“Endpoint Connections”
- 找到来自 ClickHouse 的连接请求,然后点击“Accept”进行批准
3
将 Endpoint ID 添加到服务允许列表
在你的 VPC 端点创建完成且连接获批后,你需要将 Endpoint ID 添加到每个希望通过 PrivateLink 访问的 ClickHouse 服务的允许列表中。-
获取你的 Endpoint ID:
- 在 AWS VPC Console 中,前往 Endpoints
- 选择你新创建的端点
- 复制 Endpoint ID (格式类似
vpce-xxxxxxxxxxxxxxxxx)
-
联系 ClickHouse 支持团队:
- 将 Endpoint ID 提供给 ClickHouse 支持团队
- 指定哪些 ClickHouse 服务应允许来自该端点的访问
- ClickHouse 支持团队会将 Endpoint ID 添加到服务允许列表中
4
通过 PrivateLink 连接到 ClickHouse
在 Endpoint ID 被添加到允许列表后,你就可以使用 PrivateLink 端点连接到你的 ClickHouse 服务。PrivateLink 端点格式与公共端点类似,但会包含一个vpce 子域名。例如:- 公共端点:
h5ju65kv87.mhp0y4dmph.us-west-2.aws.clickhouse-byoc.com - PrivateLink 端点:
h5ju65kv87.vpce.mhp0y4dmph.us-west-2.aws.clickhouse-byoc.com
vpce 子域名格式时,VPC 中的 DNS 解析会自动将流量路由到 PrivateLink 端点。PrivateLink 访问控制
- Istio Authorization Policy:ClickHouse Cloud 的服务级授权策略
- VPC Endpoint Security Group:附加到您的 VPC 端点的安全组,用于控制 VPC 中哪些资源可以使用该端点
私有负载均衡器的“Enforce inbound rules on PrivateLink traffic”功能已禁用,因此访问仅由 Istio 授权策略和您的 VPC 端点安全组控制。
PrivateLink DNS
*.vpce.{subdomain} 格式) 利用 AWS PrivateLink 内置的“Private DNS names”功能。无需配置 Route53 记录——在以下情况下,DNS 解析会自动完成:
- 您的 VPC 端点已启用“Private DNS names”
- 您的 VPC 已启用“DNS Hostnames”
vpce 子域名的连接会自动经由 PrivateLink 端点路由,无需额外的 DNS 配置。