Skip to main content
您可以使用 AWS PrivateLink 在 VPC、 AWS 服务、本地部署系统与 ClickHouse Cloud 之间建立安全连接,而无需将流量暴露到公共互联网。 本文档概述了 ClickPipes 反向专用终结点功能, 可用于设置 AWS PrivateLink VPC 端点。

支持的 ClickPipes 数据源

ClickPipes 的反向专用终结点功能仅支持以下 数据源类型:
  • Kafka
  • Postgres
  • MySQL
  • MongoDB
对于 Kafka,Schema Registry 也可以通过与消息代理相同的反向专用终结点访问,无需通过公网开放,前提是其主机名解析到该端点的私有 IP 地址。
ClickPipes 反向专用终结点可通过以下 AWS PrivateLink 方式之一进行配置:

VPC 资源

不支持跨区域。
在 ClickPipes 中,可以通过 PrivateLink 访问 VPC 资源。采用这种方式时,无需在数据源前设置负载均衡器。 资源配置可指向特定主机或 RDS 集群 ARN。 对于从 RDS 集群摄取数据的 Postgres CDC,这是首选方案。 要为 VPC 资源设置 PrivateLink:
  1. 创建资源网关
  2. 创建资源配置
  3. 创建资源共享
1

创建资源网关

资源网关是为 VPC 中指定资源接收流量的入口。
建议与资源网关关联的子网具备充足的可用 IP 地址。 建议每个子网至少使用 /26 子网掩码。对于每个 VPC 端点 (即每个 Reverse Private Endpoint) ,AWS 要求每个子网提供一段连续的 16 个 IP 地址块。(/28 子网掩码) 如果不满足此要求,Reverse Private Endpoint 将转为 Failed 状态。
您可以通过 AWS 控制台 创建资源网关,也可以使用以下命令:
输出中将包含一个资源网关 ID,下一步会用到它。继续之前,您需要等待资源网关进入 Active 状态。您可以运行以下命令检查其状态:
2

创建 VPC 资源配置

资源配置会与资源网关关联,以便您的资源可被访问。您可以在 AWS 控制台 中创建资源配置,或使用以下命令:
最简单的资源配置类型是单个 Resource-Configuration。你可以直接使用 ARN 进行配置,也可以共享可公开解析的 IP 地址或域名。例如,要使用 RDS 集群的 ARN 进行配置:
你无法为可公开访问的集群创建资源配置。 如果你的集群可公开访问,则必须先将集群修改为私有, 然后才能创建资源配置, 或者改用 IP allow list。 更多信息,请参阅 AWS 文档
输出中会包含一个 Resource-Configuration ARN,你将在下一步中用到它。输出中还会包含一个 Resource-Configuration ID,你需要用它通过 VPC 资源设置 ClickPipe 连接。
3

创建 Resource-Share

要共享资源,需要先创建一个 Resource-Share。此操作通过 Resource Access Manager (RAM) 完成。
一个 Resource-Share 只能用于单个 Reverse Private Endpoint,且不能重复使用。 如果你需要将同一个 Resource-Configuration 用于多个 Reverse Private Endpoints, 则必须为每个端点分别创建一个 Resource-Share。 即使 Reverse Private Endpoint 被删除,Resource-Share 仍会保留在你的 AWS 账户中; 如果不再需要,必须手动将其删除。
你可以通过 AWS 控制台 将 Resource-Configuration 加入 Resource-Share,或者使用 ClickPipes 账户 ID 072088201116 (arn:aws:iam::072088201116:root) 运行以下命令:
输出中将包含一个 Resource-Share ARN,您需要使用它通过 VPC 资源设置 ClickPipe 连接。现在,您已可以使用 VPC 资源创建带有反向专用终结点的 ClickPipe。您需要:
  • VPC endpoint type 设置为 VPC Resource
  • Resource configuration ID 设置为第 2 步中创建的 Resource-Configuration 的 ID。
  • Resource share ARN 设置为第 3 步中创建的 Resource-Share 的 ARN。
有关结合 VPC 资源使用 PrivateLink 的更多信息,请参阅 AWS 文档

MSK multi-VPC 连接

Multi-VPC connectivity 是 AWS MSK 的内置功能,可让您将多个 VPC 连接到同一个 MSK 集群。 默认支持私有 DNS,无需额外配置。 不支持跨区域。 对于 MSK 的 ClickPipes,这是推荐选项。 更多详情,请参阅入门指南。
请更新您的 MSK 集群策略,并将 072088201116 添加到 MSK 集群允许的主体中。 更多详情,请参阅 AWS 关于附加集群策略的指南。
按照我们的 适用于 ClickPipes 的 MSK 设置指南 了解如何设置此连接。

VPC endpoint service

VPC endpoint service 是与 ClickPipes 共享数据源的另一种方式。 它需要在数据源前配置一个 NLB (网络负载均衡器) 并将 VPC endpoint service 配置为使用该 NLB。 VPC endpoint service 可以配置私有 DNS,并可在 ClickPipes VPC 中访问。 AWS PrivateLink 托管的私有 DNS 并不总是可行的选择:
  • 您不拥有数据源的域名,因此无法使用 AWS 对其进行验证
  • 提供商要求消费者自行管理 DNS 解析,Confluent Cloud 就是如此 在这些情况下,请参阅自定义私有 DNS
它尤其适用于以下场景: 更多详情,请参阅入门指南。
将 ClickPipes 账户 ID 072088201116 添加到您的 VPC endpoint service 的允许主体中。 更多详情,请参阅 AWS 关于管理权限的指南。
跨区域访问 可以为 ClickPipes 配置。将您的 ClickPipe 区域添加到您的 VPC endpoint service 的允许区域列表中。
对于 MSK 集群,请参阅 适用于 MSK 集群的 AWS PrivateLink VPC endpoint service 了解如何设置使用自定义私有 DNS 名称、每个 broker 对应一个 endpoint service 的配置。

自定义私有 DNS

自定义私有 DNS 目前处于私有预览阶段。请联系 ClickHouse 支持团队 为您的服务启用此功能。
AWS PrivateLink 为已验证域名的 VPC endpoint service 提供托管私有 DNS。 某些服务要求每个消费者在自己的 VPC 中管理 DNS 解析,例如,Confluent Cloud 要求消费者将 broker 主机名解析到 PrivateLink 端点。 针对这些情况,ClickPipes 支持将自定义私有 DNS 名称附加到反向专用终结点。ClickPipes 会将这些名称解析为该端点的私有地址,这样您的数据 源就可以通过私有连接使用其自身主机名进行访问。 自定义私有 DNS 是对托管私有 DNS 的补充——并不会替代它。如果您的 PrivateLink 服务已经提供私有 DNS 名称,则无需使用自定义名称。 自定义私有 DNS 名称支持用于 VPC endpoint serviceVPC 资源 这两种端点类型。MSK multi-VPC 默认提供托管私有 DNS, 且不支持自定义名称。
ClickHouse Cloud 控制台目前每个反向专用终结点仅支持一个自定义私有 DNS 名称。 如果您需要在同一个端点上管理多个自定义私有 DNS 名称,请使用 OpenAPI 或 Terraform。
以下规则适用于自定义私有 DNS 名称:
  • 支持精确名称 (kafka.internal.example.com) 和通配符名称 (*.example.com) 。 通配符可匹配单个 DNS 标签——例如, *.abcde12345.us-east-1.aws.confluent.cloud 可匹配 b0-lkc123.abcde12345.us-east-1.aws.confluent.cloud
  • 在一个 ClickHouse 服务的所有反向专用终结点中,名称必须唯一, 包括通配符名称与精确名称之间的重叠。
  • 位于保留后缀下的名称 (例如 locallocalhostinternalcorpprivate) 将被拒绝。
要配置自定义私有 DNS 名称:
  • 在 ClickHouse Cloud 控制台中,创建反向专用终结点时填写 Custom private DNS name 字段。该字段会在为您的服务启用此 功能后显示。
  • 使用 OpenAPI 时,在创建 反向专用终结点时设置 customPrivateDnsMappings,或者通过 PATCH 请求更新现有 端点。更新会替换整个映射列表;空列表会移除所有自定义名称。
  • 使用 Terraform 时,可使用 clickhouse_clickpipes_reverse_private_endpoint_custom_private_dns 资源来管理现有反向专用终结点上的映射。

使用反向专用终结点创建 ClickPipe

  1. 访问您的 ClickHouse Cloud 服务的 SQL 控制台。
  1. 在左侧菜单中选择 数据源 按钮,然后点击“Set up a ClickPipe”
  1. 选择 Kafka 或 Postgres 作为数据源。
  1. 选择 Reverse private endpoint 选项。
  1. 选择任意一个现有的反向专用终结点,或创建一个新的。
如果 RDS 需要跨区域访问,您需要创建一个 VPC endpoint service, 本指南可作为设置时的良好起点。对于同区域访问,推荐使用 VPC 资源方式。
  1. 提供所选端点类型所需的参数。
  • 对于 VPC 资源,提供 configuration share ARN 和 configuration ID。
    • 对于 MSK multi-VPC,提供 cluster ARN 以及已创建端点所使用的身份验证方法。
    • 对于 VPC endpoint service,提供服务名称。
    • 您也可以选择提供一个自定义私有 DNS 名称。
  1. 点击 Create,然后等待反向专用终结点就绪。 如果您正在创建新端点,完成设置需要一些时间。 端点就绪后,页面会自动刷新。 VPC endpoint service 可能还需要您在 AWS 控制台中接受连接请求。
  1. 端点就绪后,您可以使用 DNS name 连接到数据源。 在端点列表中,您可以看到可用端点的 DNS name。 它可以是 ClickPipes 内部预配的 DNS name、由 PrivateLink 服务提供的私有 DNS name, 或自定义私有 DNS name。 DNS name 不是完整的网络地址。 请根据数据源补充端口。 MSK connection string 可在 AWS 控制台中查看。 如需查看完整的 DNS name 列表,请前往 Cloud service settings。

管理现有反向专用终结点

你可以在 ClickHouse Cloud 服务的设置中管理现有的反向专用终结点:
  1. 在侧边栏中找到 Settings 按钮并点击。
  2. ClickPipe reverse private endpoints 部分中,点击 Reverse private endpoints 弹出面板中会显示反向专用终结点的详细信息。 也可以在此处移除此端点。这会影响所有使用该端点的 ClickPipes。
ClickPipes 对 AWS PrivateLink 的支持仅限于特定 AWS 区域。 请参阅 ClickPipes 区域列表 查看可用区域。 此限制不适用于已启用跨区域连接的 PrivateLink VPC endpoint service。

限制

在 ClickHouse Cloud 中为 ClickPipes 创建的 AWS PrivateLink 端点,并不保证会创建在与 ClickHouse Cloud 服务相同的 AWS 区域。 目前,只有 VPC endpoint service 支持跨区域连接。 专用终结点与特定的 ClickHouse 服务绑定,不能在不同服务之间转移。 单个 ClickHouse 服务下的多个 ClickPipes 可以复用同一个端点。 对于每个 MSK 集群 的每种身份验证类型 (SASL_IAM 或 SASL_SCRAM) ,AWS MSK 仅支持一个 PrivateLink (VPC endpoint) 。因此,多个 ClickHouse Cloud 服务或 organizations 无法使用相同的身份验证类型,为同一个 MSK 集群 创建各自独立的 PrivateLink 连接。

自动清理非活动端点

处于终态的反向专用终结点会在规定的宽限期后自动移除。 这可确保未使用或配置不当的端点不会无限期保留。 以下宽限期根据端点状态适用: 宽限期结束后,端点及其所有关联资源都会被自动删除。 为防止被自动移除,请在宽限期到期前解决根本问题。 例如,在你的 AWS 控制台中接受待处理的连接请求, 或者如果端点已进入失败状态,则重新创建该端点。
最后修改于 2026年7月24日