只有当 ClickPipes 服务部署在 GCP 上时,才能使用 GCP PSC 连接。开始前,请查看 托管 ClickPipes 的 GCP 区域列表。
支持的模式
前置条件
- 位于 ClickPipes 托管区域的、托管于 GCP 上的 ClickHouse Cloud 服务。
- 用于在源端启用 PSC 以及管理 PSC 服务附件的 IAM 权限 (
roles/compute.networkAdmin) 。 - 获准连接您的服务附件的 ClickPipes 消费者项目。对于生产环境中的 ClickPipes,该项目为
clickpipes-production。 - 服务所属组织的 ClickHouse Cloud API 密钥/secret (仅在通过 Terraform 或 API 进行预配时需要) 。
创建反向专用终结点
- 服务附件 URI:
projects/<PROJECT>/regions/<REGION>/serviceAttachments/<NAME>,即位于数据源前端的 PSC 端点。 - 私有 DNS 名称:管道要连接的主机名。PSC 端点会获得一个未关联 DNS 名称的静态内部 IP, 因此 ClickPipes 会为您将该主机名解析为此 IP。
- ClickPipes UI
- Terraform
- API
- 在 ClickHouse Cloud 中,打开您的服务并前往 数据源 > ClickPipes。
- 选择要摄取的数据源。
- 在 设置 ClickPipe 连接 下,开启 使用安全连接,然后点击 + 反向专用终结点,并选择 GCP PSC 服务附件。
- 填写 服务附件 URI、私有 DNS 名称和描述。
- 点击 创建。端点状态将从
Provisioning变为Ready。 (原生 PSC 会自动接受,因此不会显示PendingAcceptance。)
自定义私有 DNS 名称
*.<cluster>.<region>.managedkafka.<project>.cloud.goog) 即可覆盖 Managed Kafka 集群中的每个 broker。
对于 GCP PSC,仅使用映射的 privateDnsName。不支持 internalDNSName 字段,因为 PSC 端点提供的是静态 IP,没有可供绑定的 DNS 名称:映射始终会解析到该 IP。
批准生产者拥有的连接
PendingAcceptance 状态,直到您手动批准。
要接受连接,服务附件的消费者接受列表中需要添加端点基于数字 ID 的 URI (projects/<PROJECT>/regions/<REGION>/forwardingRules/<NUMERIC_ID>) 。该值即服务附件上待处理连接的 endpointWithId;可通过描述服务附件来查找:
status 为 PENDING 的条目的 endpointWithId,移除 https://www.googleapis.com/compute/beta/ 前缀,然后将结果传递给 --consumer-accept-list:
管理反向专用终结点
-
在侧边栏中找到并点击
Settings按钮。 -
在
ClickPipe reverse private endpoints部分中,点击Reverse private endpoints。 弹出面板会显示反向专用终结点的详细信息。 除删除外,此视图为只读:点击端点上的×并确认即可删除。删除操作不可恢复,并会中断当前使用该端点的所有 ClickPipe。 要更改端点的自定义私有 DNS 映射,请使用 API 或 Terraform。更新会替换整个映射列表,而非在其中添加映射。
Rejected 或 Failed,请查看其状态下方的消息:该消息可帮助区分被生产者拒绝的连接、已关闭的连接或需要处理的连接。这两种状态通常都表示服务附件的接受列表未包含 ClickPipes 消费者项目。要查看 GCP 为该端点报告的状态,请查看服务附件的 connectedEndpoints。
限制
- RPE 端点和服务附件必须位于同一 GCP 区域。目前尚不支持通过全局访问实现跨区域 PSC。如果您的数据源位于其他区域,请使用 SSH 隧道。
- 一个 PSC 服务附件在同一时间只能由一个 ClickHouse Cloud 服务认领,不能在多个服务之间重复使用。若要将服务附件迁移到其他服务,请联系 ClickHouse 支持团队以解除现有认领。