概述
- 使用 AWS PrivateLink 或 GCP Private Service Connect (PSC) 的 Confluent Cloud Dedicated 集群
- 使用 AWS PrivateLink 或 GCP Private Service Connect (PSC) 的 Confluent Cloud 无服务器 集群
工作原理
- 反向专用终结点来建立云提供商的私网连接。
- 在该 RPE 上配置自定义私有 DNS 映射,使 Confluent 的引导主机名和 broker 主机名都能通过私网解析。
- 在 ClickPipe 中将 Confluent Cloud Kafka 引导端点用作 broker 地址。
要求
- 一个你将用于创建 Kafka ClickPipe 的 ClickHouse Cloud 服务。
- 一个位于与你希望通过私网连接的目标相同云和区域中的 Confluent Cloud Kafka 集群。
- ClickPipes 可使用的 Kafka API key 或服务账号凭据。
- 对于 AWS PrivateLink,ClickPipes 自定义私有 DNS 目前处于私有预览;如果你的服务尚未启用该功能,请联系 ClickHouse 支持团队。
Dedicated 集群
收集 Confluent Cloud 网络详细信息
- 私有 DNS 域名,下文以
{dns_domain}表示。 - Confluent 网络使用的云提供商可用区。
- 对于 AWS,Confluent PrivateLink 端点服务名称。
- 对于 GCP,每个 Confluent 网络可用区对应的 PSC 服务附件。
use1-az1。
对于 GCP,它们是可用区,例如 us-central1-a。
在 Confluent Cloud 中为 ClickPipes 消费者身份添加一条 PrivateLink 或 PSC 访问项:
- AWS:允许 ClickPipes AWS 账户 ID
072088201116。 - GCP:允许 ClickPipes GCP 项目
clickpipes-production。
创建 ClickPipes RPE
customPrivateDnsMappings。
如果你使用更新操作更新现有 RPE,
请注意,customPrivateDnsMappings 是一个会被整体替换的列表。
AWS Dedicated
VPC_ENDPOINT_SERVICE RPE。
将以下所有自定义私有 DNS 映射添加到同一个 RPE:
*.{dns_domain}- 针对每个 Confluent 网络可用区,添加
*.{zone}.{dns_domain}
GCP Dedicated
GCP_PSC_SERVICE_ATTACHMENT RPE。
每个 RPE 都指向该可用区的 PSC 服务附件。
将 *.{zone}.{dns_domain} 添加到对应可用区的 RPE 中。
仅将 *.{dns_domain} 添加到其中一个 RPE 中。
首个可用区的 OpenAPI 请求体示例:
无服务器集群
创建 Confluent 入口私网连接网关
- AWS:创建入口 PrivateLink 网关。
- GCP:创建入口 Private Service Connect 网关。
- AWS:网关的 VPC endpoint service 名称。
- GCP:网关的 PSC 服务附件。
创建 ClickPipes RPE
VPC_ENDPOINT_SERVICE RPE:
GCP_PSC_SERVICE_ATTACHMENT RPE:
endpointId。
创建 Confluent 访问点时需要使用此 ID。
创建 Confluent 访问点
- AWS:使用 ClickPipes RPE
endpointId作为 VPC 端点 ID。 - GCP:使用 ClickPipes RPE
endpointId作为 PSC 连接 ID。
- 访问点的 DNS 域名,下文显示为
{access_point_dns_domain}。 - 该访问点的 bootstrap 端点。
为 RPE 打补丁以添加自定义 DNS 映射
*.{region}.{cloud}.accesspoint.glb.confluent.cloud*.{access_point_dns_domain}
*.{region}.{cloud}.accesspoint.glb.confluent.cloud 这一映射的适用范围较广,并且在每个云和区域内都是唯一的。
由于自定义私有 DNS 名称在一个 ClickHouse 服务的所有 RPE 中必须保持唯一,
因此目前你无法在同一云和区域内为同一个 ClickHouse 服务创建多个 Confluent 入口访问点。Terraform 设置
clickhouse_clickpipes_reverse_private_endpoint创建 RPE。clickhouse_clickpipes_reverse_private_endpoint_custom_private_dns管理每个 RPE 的完整自定义私有 DNS 映射集。
confluent-dedicated用于 Confluent Cloud Dedicated 私有网络。confluent-serverless用于 Confluent Cloud 无服务器 私网入口。
vpc_endpoint_service_name、gcp_service_attachment 和 private_dns_name。
创建 Kafka ClickPipe
- 创建或编辑 Kafka ClickPipe。
- 使用 Confluent Cloud 的引导端点作为 broker 地址,不要包含
SASL_SSL://前缀。 - 选择为 Confluent Cloud 私有连接创建的 RPE。
- 使用
PLAIN身份验证,并填写 Confluent Cloud Kafka API key 和 secret。 - 像平常一样配置 topic、消费者组、数据 format 和目标表。
故障排查
- 如果 RPE 仍处于 pending 状态,请检查 Confluent Cloud 的私网授权,并在 Confluent Cloud 中接受或完成该连接。
- 如果 ClickPipe 连通性检查失败,请检查 Confluent Cloud 返回的每个 bootstrap 和 broker 主机名是否都与某条自定义私有 DNS 映射匹配。
- 如果你修补自定义 DNS 映射,请包含完整的目标列表。更新会替换现有列表。
- 如果某个 DNS 映射因重复而被拒绝,请检查同一 ClickHouse 服务中的所有 RPE,确认是否存在重叠的精确名称或通配符名称。