前置条件
为 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
编辑安全组以允许对等 VPC 访问
在 ClickHouse BYOC 账户中,您需要更新安全组 (Security Group) 设置,以允许来自对等 VPC 的流量。请联系 ClickHouse 支持团队,请求添加包含对等 VPC CIDR 范围的入站规则。
现在应已可从对等 VPC 访问 ClickHouse 服务。
现在应已可从对等 VPC 访问 ClickHouse 服务。
-private 后缀。例如:
- 公网端点:
h5ju65kv87.mhp0y4dmph.us-west-2.aws.clickhouse-byoc.com - 专用终结点:
h5ju65kv87-private.mhp0y4dmph.us-west-2.aws.clickhouse-byoc.com
设置 PrivateLink
跨区域连接。 ClickHouse 控制台中的 Enable private link 开关会预配端点服务,但仅适用于同一区域的消费者。AWS 默认禁用端点服务的跨区域访问,ClickHouse 控制台也不会对此进行管理——如果您的客户端位于其他区域,需由您自行启用:端点服务位于您的 BYOC 账户中,因此请在您的 AWS 控制台中,将消费者所在区域添加到其 Supported regions 列表中 (请参阅下方第 3 步) 。ClickHouse 不会更改或重置这些配置值。AWS 跨区域数据传输费率适用。
1
在 ClickHouse 控制台中启用 Private Link
请确保已启用私网负载均衡器,这是前置条件。
2
获取端点 服务名称
- 在 ClickHouse Cloud 控制台中,前往要通过 PrivateLink 连接的服务的 Settings 页面。
- 点击“Set up private endpoint”。
- 在打开的弹出面板中,复制
Service name的值——下一步会用到它。 (启用 PrivateLink 后,生成该值可能需要一段时间。)
3
在您的网络中创建端点
- 打开您的自有 AWS 控制台 (即客户端应用程序所在 AWS 账户的控制台) → VPC → Endpoints → Create endpoints。
-
选择 “Endpoint services that use NLBs and GWLBs”,并使用上一步获取的
Service name。 - 单击 “Verify service”。
- (可选) 如果要通过 PrivateLink 建立跨区域连接,请选中 “Cross region endpoint” 复选框,并指定服务区域。服务区域即创建 BYOC 基础设施的区域。同时:
-
打开您的BYOC AWS 控制台 (即创建 BYOC 基础设施的 AWS 账户) → VPC → Endpoint services →
clickhouse-cloud-infra-xxx→ Supported regions。 - 将客户端应用程序所在的区域添加到支持区域列表中。默认仅支持该 BYOC 基础设施所在的区域。如果需要从不同区域连接,您可以添加多个区域;ClickHouse 不会更改或重置这些值。
- 选择您的 VPC 和子网 (建议每个可用区选择一个子网) 。
-
重要:为端点启用 “Private DNS names”——这是私有 DNS 正常工作所必需的。
BYOC 端点的私有 DNS (使用
*.vpce.{subdomain}格式) 利用 AWS PrivateLink 内置的 “Private DNS names” 功能。无需创建 Route53 记录;满足以下条件时,DNS 会自动解析:- 已启用 “Private DNS names”;且
-
已启用 “DNS Hostnames”
可在 VPC Settings → DNS resolution 和 DNS hostnames 中启用。
这可确保使用
vpce子域的连接自动经由 PrivateLink 端点路由,无需额外配置 DNS。
- (可选) 分配安全组 (Security Group) 和标签。
确保安全组允许端口
443、8443 和 9440。- 单击 “Create endpoint”,稍候片刻,等待端点创建完成。
-
创建端点后,复制
Endpoint ID的值,您将在下一步中使用它。
4
批准端点连接请求
- 再次打开 BYOC VPC 控制台 → Endpoint services →
clickhouse-cloud-infra-xxx→ Endpoint connections。 - 找到来自您自身 VPC 的连接请求,然后点击 “Accept endpoint connection request” 予以批准。
5
将 Endpoint ID 添加到 ClickHouse 服务的允许列表
- 在 ClickHouse Cloud 控制台中,前往要通过 PrivateLink 连接的服务的 Settings 页面。
- 点击“设置专用端点”。
- 在打开的弹出面板中,输入上一步获取的
Endpoint ID,并可选择添加说明。 - 点击“创建端点”。
如需允许通过现有 PrivateLink 连接访问,请使用现有端点下拉列表。
该下拉列表将显示同一基础设施中服务的现有 PrivateLink 连接。
6
通过 PrivateLink 访问实例
- 在 ClickHouse Cloud 控制台中,前往服务的 Settings 页面。
- 点击“Set up private endpoint”。
-
在打开的弹出面板中,复制
DNS name。 通过 PrivateLink 访问 ClickHouse 服务由以下两个层级控制:- Istio Authorization Policy:由 ClickHouse 在您的 BYOC 基础设施中管理的服务级授权策略
- VPC Endpoint Security Group:关联到 VPC 端点的安全组,用于控制 VPC 中哪些资源可以使用该端点
私网负载均衡器的“Enforce inbound rules on PrivateLink traffic”功能已禁用,因此访问仅受 Istio 授权策略和 VPC 端点安全组的控制。