跳到主要内容
跳到主要内容

AWS PrivateLink for ClickPipes

您可以使用 AWS PrivateLink 在 VPC、AWS 服务、您的本地系统和 ClickHouse Cloud 之间建立安全的连接,而无需将流量暴露给公共互联网。

本文档概述了 ClickPipes 反向私有端点功能,允许设置 AWS PrivateLink VPC 端点。

支持的 ClickPipes 数据源

ClickPipes 反向私有端点功能仅限于以下数据源类型:

  • Kafka
  • Postgres
  • MySQL

ClickPipes 反向私有端点可以使用以下 AWS PrivateLink 方法之一进行配置:

VPC 资源

您可以使用 PrivateLink 在 ClickPipes 中访问您的 VPC 资源。此方法不需要在数据源前设置负载均衡器。

资源配置可以针对特定主机或 RDS 集群 ARN。跨区域连接不受支持。

这是从 RDS 集群摄取 Postgres CDC 数据的首选选择。

要与 VPC 资源设置 PrivateLink:

  1. 创建资源网关
  2. 创建资源配置
  3. 创建资源共享

创建资源网关

资源网关是接收您 VPC 中指定资源流量的节点。

备注

建议您的资源网关附加子网具有足够的可用 IP 地址。建议每个子网至少使用 /26 子网掩码。

对于每个 VPC 端点(每个反向私有端点),AWS 要求每个子网连续块的 16 个 IP 地址。 (/28 子网掩码) 如果不符合此要求,反向私有端点将转为失败状态。

您可以通过 AWS 控制台 创建资源网关,也可以使用以下命令:

aws vpc-lattice create-resource-gateway \
    --vpc-identifier <VPC_ID> \
    --subnet-ids <SUBNET_IDS> \
    --security-group-ids <SG_IDs> \
    --name <RESOURCE_GATEWAY_NAME>

输出将包含资源网关 ID,您将在下一步中需要它。

在您继续之前,您需要等待资源网关进入 Active 状态。您可以通过运行以下命令检查状态:

aws vpc-lattice get-resource-gateway \
    --resource-gateway-identifier <RESOURCE_GATEWAY_ID>

创建 VPC 资源配置

资源配置与资源网关关联,使您的资源可访问。

您可以通过 AWS 控制台 创建资源配置,也可以使用以下命令:

aws vpc-lattice create-resource-configuration \
    --resource-gateway-identifier <RESOURCE_GATEWAY_ID> \
    --type <RESOURCE_CONFIGURATION_TYPE> \
    --resource-configuration-definition <RESOURCE_CONFIGURATION_DEFINITION> \
    --name <RESOURCE_CONFIGURATION_NAME>

最简单的 资源配置类型 是单个资源配置。您可以直接使用 ARN 进行配置,或者共享一个可以公开解析的 IP 地址或域名。

例如,要使用 RDS 集群的 ARN 进行配置:

aws vpc-lattice create-resource-configuration \
    --name my-rds-cluster-config \
    --type ARN \
    --resource-gateway-identifier rgw-0bba03f3d56060135 \
    --resource-configuration-definition 'arnResource={arn=arn:aws:rds:us-east-1:123456789012:cluster:my-rds-cluster}'
备注

您不能为公开访问的集群创建资源配置。如果您的集群公开可访问,您必须在创建资源配置之前修改集群以使其私有,或改用 IP 允许列表。有关更多信息,请参见 AWS 文档

输出将包含资源配置 ARN,您将在下一步中需要它。还将包含一个资源配置 ID,您将需要使用 VPC 资源建立 ClickPipe 连接。

创建资源共享

共享您的资源需要一个资源共享。这是通过资源访问管理器(RAM)进行的。

您可以通过 AWS 控制台 将资源配置放入资源共享中,或者通过运行以下命令,使用 ClickPipes 账户 ID 072088201116 (arn:aws:iam::072088201116:root):

aws ram create-resource-share \
    --principals 072088201116 \
    --resource-arns <RESOURCE_CONFIGURATION_ARN> \
    --name <RESOURCE_SHARE_NAME>

输出将包含资源共享 ARN,您将需要它来设置与 VPC 资源的 ClickPipe 连接。

您已准备好使用 VPC 资源 创建具有反向私有端点的 ClickPipe。您需要:

  • VPC 端点类型 设置为 VPC Resource
  • 资源配置 ID 设置为步骤 2 中创建的资源配置的 ID。
  • 资源共享 ARN 设置为步骤 3 中创建的资源共享的 ARN。

有关 VPC 资源 PrivateLink 的更多详细信息,请参见 AWS 文档

MSK 多 VPC 连接

AWS MSK 的多 VPC 连接 是 AWS MSK 的内置功能,允许您将多个 VPC 连接到单个 MSK 集群。支持私有 DNS,即开箱即用,无需任何额外配置。跨区域连接不受支持。

这是 ClickPipes 针对 MSK 的推荐选项。有关更多详细信息,请参阅 入门指南

信息

更新您的 MSK 集群策略,并将 072088201116 添加到允许的主体中,以便访问您的 MSK 集群。有关更多详细信息,请参阅 AWS 指南 附加集群策略

请遵循我们的 ClickPipes MSK 设置指南 了解如何设置连接。

VPC 端点服务

VPC 端点服务 是另一种与 ClickPipes 共享数据源的方法。这需要在数据源前设置 NLB(网络负载均衡器),并配置 VPC 端点服务以使用 NLB。

VPC 端点服务可以与 私有 DNS 配置,这将在 ClickPipes VPC 中可访问。

这是首选选择:

  • 任何需要私有 DNS 支持的本地 Kafka 设置
  • Postgres CDC 的跨区域连接
  • MSK 集群的跨区域连接。请联系 ClickHouse 支持团队以获得帮助。

有关更多详细信息,请参见 入门指南

信息

将 ClickPipes 账户 ID 072088201116 添加到允许的主体中,以便访问您的 VPC 端点服务。有关管理权限的更多详细信息,请参见 AWS 指南 管理权限

信息

可以为 ClickPipes 配置 跨区域访问。将 您的 ClickPipe 区域 添加到 VPC 端点服务中的允许区域。

创建具有反向私有端点的 ClickPipe

访问您的 ClickHouse Cloud 服务的 SQL 控制台。

ClickPipes service

在左侧菜单中选择 Data Sources 按钮,然后点击“设置 ClickPipe”

Select imports

选择 Kafka 或 Postgres 作为数据源。

Select data source

选择 Reverse private endpoint 选项。

Select reverse private endpoint

选择任何现有的反向私有端点或创建一个新端点。

信息

如果 RDS 需要跨区域访问,您需要创建一个 VPC 端点服务,并且 本指南应提供 一个好的起点来设置它。

对于同区域访问,创建 VPC 资源是推荐的方式。

Select reverse private endpoint

为所选端点类型提供所需的参数。

Select reverse private endpoint
  • 对于 VPC 资源,提供配置共享 ARN 和配置 ID。
  • 对于 MSK 多 VPC,提供集群 ARN 和用于与创建的端点一起使用的身份验证方法。
  • 对于 VPC 端点服务,提供服务名称。

点击 Create,并等待反向私有端点准备就绪。

如果您正在创建一个新端点,那么设置这个端点将需要一些时间。一旦端点准备就绪,页面将自动刷新。VPC 端点服务可能需要在您的 AWS 控制台中接受连接请求。

Select reverse private endpoint

一旦端点准备就绪,您可以使用 DNS 名称连接到数据源。

在端点列表中,您可以看到可用端点的 DNS 名称。它可以是 ClickPipes 提供的内部 DNS 名称或由 PrivateLink 服务提供的私有 DNS 名称。DNS 名称不是完整的网络地址。根据数据源添加端口。

MSK 连接字符串可以在 AWS 控制台中访问。

要查看完整的 DNS 名称列表,可以在云服务设置中访问。

管理现有反向私有端点

您可以在 ClickHouse Cloud 服务设置中管理现有反向私有端点:

在侧边栏找到 Settings 按钮并点击它。

ClickHouse Cloud settings

ClickPipe reverse private endpoints 部分中点击 Reverse private endpoints

ClickHouse Cloud settings

反向私有端点的扩展信息会在弹出窗口中显示。

可以从这里移除端点。这将影响使用此端点的任何 ClickPipes。

ClickPipes 的 AWS PrivateLink 支持仅限于特定 AWS 区域。请参阅 ClickPipes 区域列表 查看可用区域。

此限制不适用于启用跨区域连接的 PrivateLink VPC 端点服务。

限制

在 ClickHouse Cloud 中创建的 ClickPipes 的 AWS PrivateLink 端点无法保证与 ClickHouse Cloud 服务位于同一 AWS 区域。

目前,仅 VPC 端点服务支持跨区域连接。

私有端点与特定的 ClickHouse 服务关联,无法在服务之间传输。多个 ClickPipes 针对单个 ClickHouse 服务可以重用相同的端点。