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

Aurora Postgres 源设置指南

支持的 Postgres 版本

ClickPipes 支持 Aurora PostgreSQL-Compatible Edition 版本 12 及更高版本。

启用逻辑复制

如果您的 Aurora 实例已配置如下设置,则可以跳过此部分:

  • rds.logical_replication = 1
  • wal_sender_timeout = 0

如果您之前使用了其他数据复制工具,这些设置通常是预先配置好的。

postgres=> SHOW rds.logical_replication ;
 rds.logical_replication
-------------------------
 on
(1 row)

postgres=> SHOW wal_sender_timeout ;
 wal_sender_timeout
--------------------
 0
(1 row)

如果尚未配置,请按照以下步骤操作:

  1. 为您的 Aurora PostgreSQL 版本创建一个新参数组,并设置所需的设置:
    • rds.logical_replication 设置为 1
    • wal_sender_timeout 设置为 0
在 Aurora 中查找参数组的位置
更改 rds.logical_replication
更改 wal_sender_timeout
  1. 将新参数组应用于您的 Aurora PostgreSQL 集群
使用新参数组修改 Aurora PostgreSQL
  1. 重启您的 Aurora 集群以应用更改
重启 Aurora PostgreSQL

配置数据库用户

作为管理员用户连接到您的 Aurora PostgreSQL 写入实例,并执行以下命令:

  1. 为 ClickPipes 创建一个专用用户:
CREATE USER clickpipes_user PASSWORD 'some-password';
  1. 授予架构权限。以下示例显示了 public 架构的权限。对每个要复制的架构重复这些命令:
GRANT USAGE ON SCHEMA "public" TO clickpipes_user;
GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user;
  1. 授予复制权限:
GRANT rds_replication TO clickpipes_user;
  1. 创建用于复制的发布:
CREATE PUBLICATION clickpipes_publication FOR ALL TABLES;

配置网络访问

基于 IP 的访问控制

如果您想限制对 Aurora 集群的流量,请将文档中列出的静态 NAT IPs添加到您 Aurora 安全组的 Inbound rules 中。

在 Aurora PostgreSQL 中查找安全组的位置?
编辑上述安全组的入站规则

要通过私有网络连接到您的 Aurora 集群,可以使用 AWS PrivateLink。请按照我们的ClickPipes 的 AWS PrivateLink 设置指南进行连接设置。

特定于 Aurora 的考虑事项

在使用 Aurora PostgreSQL 设置 ClickPipes 时,请牢记以下考虑事项:

  1. 连接端点:始终连接到您 Aurora 集群的写入端点,因为逻辑复制需要写入访问权限以创建复制槽并且必须连接到主实例。

  2. 故障转移处理:在发生故障转移时,Aurora 会自动提升一个读取实例为新的写入实例。ClickPipes 将检测到断开连接并尝试重新连接到写入端点,该端点现在将指向新的主实例。

  3. 全局数据库:如果您使用 Aurora 全局数据库,应连接到主区域的写入端点,因为跨区域复制已经处理了区域之间的数据传输。

  4. 存储考虑:Aurora 的存储层在集群中的所有实例之间共享,这可以为逻辑复制提供比标准 RDS 更好的性能。

处理动态集群端点

虽然 Aurora 提供了稳定的端点,可以自动路由到适当的实例,但还有一些额外的方法可以确保一致的连接性:

  1. 对于高可用性设置,请配置您的应用程序使用 Aurora 写入端点,该端点自动指向当前的主实例。

  2. 如果使用跨区域复制,请考虑为每个区域设置单独的 ClickPipes,以减少延迟并提高容错能力。

接下来做什么?

您现在可以创建您的 ClickPipe并开始将数据从您的 Aurora PostgreSQL 集群导入到 ClickHouse Cloud。在设置 Aurora PostgreSQL 集群时,请确保记下您使用的连接详细信息,因为在创建 ClickPipe 时需要这些信息。