ClickPipes 通过全局访问支持跨区域 PSC 连接。对于位于与运行 ClickPipes 基础设施所在区域不同区域的端点,必须启用全局访问。有关更多详情,请查看 ClickPipes GCP 区域文档。
支持的模式
前置条件
- 托管于 GCP 上的 ClickHouse Cloud 服务。ClickPipes 与您的 ClickHouse Cloud 服务运行在同一区域 (少数例外情况除外) 。
- 用于在源端启用 PSC 以及管理 PSC 服务附件的 IAM 权限 (
roles/compute.networkAdmin) 。 - 获准连接您的服务附件的 ClickPipes 消费者项目 (
clickpipes-production)。 - 如果以编程方式预配 ClickPipes:服务所属组织的 ClickHouse Cloud 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。
批准生产者拥有的连接
clickpipes-production) 添加到服务附件的自动接受列表,以便自动接受该连接。如果跳过此步骤,RPE 将一直处于 PendingAcceptance 状态,直到您手动批准。
要接受该连接,服务附件的消费者接受列表中需要包含端点的基于数字 ID 的 URI (projects/<PROJECT>/regions/<REGION>/forwardingRules/<NUMERIC_ID>)。要获取服务附件上待处理连接的 endpointWithId 值,请运行:
status 为 PENDING 的条目的 endpointWithId,去掉 https://www.googleapis.com/compute/beta/ 前缀,然后将结果传递给 --consumer-accept-list:
--consumer-accept-list 会覆盖接受列表,而非将新的消费者项目追加到列表中。如果服务附件已接受其他项目或端点,请在同一命令中传入所有项目或端点,否则未传入的项目或端点将失去访问权限。管理反向专用终结点
- 在 ClickHouse Cloud 控制台侧边栏中,前往
Settings。
ClickPipe reverse private endpoints 下,点击 Reverse private endpoints。
反向专用终结点的详细信息会显示在弹出面板中。您可以在此视图中删除 RPE:点击端点旁的 ×,然后确认删除。删除操作是永久性的,会导致所有当前使用该端点的 ClickPipe 中断。
要更改端点的自定义私有 DNS 映射,请使用 Cloud API 或 Terraform。更新操作会替换整个映射列表,而不是在其中添加映射。
如果端点显示 Rejected 或 Failed,请查看其状态下方的消息:该消息可区分被生产者拒绝的连接,以及已关闭或需要处理的连接。这两种情况通常都表示服务附件的接受列表未包含 ClickPipes 消费者项目。要查看 GCP 针对该端点报告的状态,请描述服务附件的 connectedEndpoints。
已知限制
- 一个 PSC 服务附件在同一时间只能由一个 ClickHouse Cloud 服务认领,不能在多个服务之间重复使用。若要将服务附件迁移到其他服务,请联系 ClickHouse 支持团队以解除现有认领。