本场景介绍如何通过数据库传输服务 DTS 创建公网自建 PostgreSQL 数据订阅任务。
已自主搭建 PostgreSQL 数据库,且此数据库可通过公网访问。
如果通过专有网络 Kafka 的方式消费数据,则按需设置消费端信息,具体如下所示:
在使用 VPN 实现数据订阅时,自建数据库所属的本地网络已通过 VPN 网关接入火山引擎。详细操作,请参见搭建云上 VPC 与云下多数据中心网络互通。
在需要使用专线实现数据订阅时,您需要搭建云上单私有网络和云下单数据中心网络连通的专线连接。详细操作,请参见配置专线连接。
当通过消息队列 RocketMQ 版消费数据时,需提前创建 RocketMQ 实例和密钥。详细信息,请参见创建 RocketMQ 实例和创建密钥。
在通过云原生消息引擎消费数据时,需提前准备以下环境:
白名单与访问权限:
当数据库实例的接入方式选择的是公网自建时,且数据库实例开启了访问限制,那么在创建数据库传输任务前,您需要将 DTS 服务器 IP 地址添加至数据库实例的白名单或安全组中。不同地域下的 DTS 服务器 IP 地址不同,具体如下所示:
华南 1(广州)、华北 2(上海)和华北 2(北京)的 DTS 服务器 IP 地址是 221.194.189.0/27,157.148.90.32/27,180.184.132.64/27,61.129.54.64/27,220.196.172.32/27,117.135.143.32/27,220.196.168.32/27,116.132.250.32/27,111.45.13.32/27,125.88.248.32/27,180.153.35.32/27,220.181.65.32/27,220.181.65.64/27
。
亚太东南(柔佛)的 DTS 服务器 IP 地址是 101.47.0.32/27,220.181.65.32/27,220.181.65.64/27
。
关于 DTS 服务器 IP 地址段的详细信息,请参见添加 DTS 服务器的 IP 地址段。
当数据库实例的接入方式选择的是专有网络时,且数据库实例开启了访问限制,那么在创建数据库传输任务前,您需要将子网网段添加至数据库实例的白名单或安全组中。华南1(广州)子网网段是 172.31.0.0/20
,华北2(上海)和华北2(北京)子网网段是 192.168.3.0/24
,亚太东南(柔佛)子网网段是 192.168.0.0/24
。更多信息,请参见添加 DTS 服务器的 IP 地址段。
网络连通性:创建数据订阅任务之前,请确认源库和消费端的网络连通性与服务可用性。
您还可以根据预检查项中的说明,来检查源库和目标库中各迁移对象做相应准备。更多详情,请参见预检查项(PostgreSQL)。
限制类 | 说明 |
---|---|
源数据库限制 | 数据库版本:当前支持 10、11、12 和 13 版本的 PostgreSQL 实例。 |
消费端限制 |
|
其他限制 |
操作类型 | SQL 操作语句 |
---|---|
DML | INSERT、UPDATE、DELETE |
DDL | CREATE TABLE、ALTER TABLE、DROP TABLE、TRUNCATE TABLE、CREAT INDEX、DROP INDEX、CREATE SEQUENCE、ALTER SEQUENCE、DROP SEQUENCE、DROP RULE |
登录 DTS 控制台。
在顶部菜单栏,选择项目和地域。
在左侧导航栏,单击数据订阅。
在数据订阅列表页面,单击创建订阅。
在配置源库页面,配置以下参数信息。
类别 | 参数 | 说明 | ||
---|---|---|---|---|
基本信息 | 任务名称 | (可选)自定义订阅任务名称。命名规则如下:
| ||
链路规格 | 按需选择订阅任务的链路规格,当前支持 Compact 和 Standard。 说明 成功创建任务后,不支持修改任务的链路规格。关于链路规格的详细信息,请参见产品规格。 | |||
基本配置 | 选择已有数据源 | 您可以按需选择是否使用已录入的实例:
| ||
实例类型 | 选择 PostgreSQL。 | |||
接入方式 | 选择公网自建 PostgreSQL。 | |||
PostgreSQL 实例 | 从下拉列表中选择目标实例。 | |||
数据库账号 | 输入数据库账号信息。 | |||
数据库密码 | 输入数据库密码。 | |||
测试连接 | 当测试连接失败时,根据失败提示信息修改相关配置后,再次单击测试连接,验证是否可以成功连接源库。具体提示信息如下:
| |||
中间件配置 | 选择已有数据源 | 您可以按需选择是否使用已录入的实例:
| ||
订阅内置中间件 | 私有网络 | 从下拉列表中选择目标私有网络。 | ||
子网 | 从下拉列表中选择目标私有网络内的子网。 说明 目标私有网络内的子网至少要包含 1 个可用 IP。 | |||
客户自有中间件 | 消息队列 Kafka 版 | Kafka 实例 | 从下拉列表中选择目标实例。 | |
Topic | 从下拉列表中选择目标 Topic 信息。 | |||
Kafka 用户 | 输入 Kafka 用户名。 说明 仅支持 SASL 认证且认证机制为 PLAIN,此处应指定为 PLAIN 机制的用户名。 | |||
密码 | 输入 Kafka 用户密码。 | |||
专有网络 Kafka | Broker | 输入所有 Broker 的 IP 地址及端口号,格式为 | ||
Topic | 输入目标 Topic 信息。 | |||
私有网络 | 从下拉列表中选择目标私有网络,具体如下所示:
| |||
子网 | 从下拉列表中选择私有网络中的子网。 说明 在同步专有网络 ElasticSearch 实例时,您需要提前在源端的白名单或安全组策略中,添加子网 IP 段的访问权限。单击查看子网 IP 段查看和复制 IP 段。 | |||
Kafka 用户 | 输入 Kafka 用户名。 说明 仅支持 SASL 认证且认证机制为 PLAIN,此处应指定为 PLAIN 机制的用户名。 | |||
密码 | 输入 Kafka 用户密码。 | |||
消息队列 RocketMQ 版 | RocketMQ 实例 | 从下拉列表中选择目标实例。 | ||
Topic | 从下拉列表中选择目标 Topic 信息。 | |||
AccessKey ID | 输入密钥的 AccessKey ID。关于密钥的详细信息,请参见管理密钥。 | |||
AccessKey Secret | 输入密钥的 AccessKey Secret。 | |||
云原生消息引擎 | BMQ 实例 | 从下拉列表中选择目标实例。 | ||
Topic | 从下拉列表中选择目标 Topic 信息。 | |||
BMQ 用户 | 输入云原生消息引擎 BMQ 用户名。 | |||
数据库密码 | 输入云原生消息引擎 BMQ 用户密码。 | |||
测试连接 | 当测试连接失败时,根据失败提示信息修改相关配置后,再次测试是否可以成功连接实例。具体提示信息如下:
| |||
Project 与计费 | 项目 | (可选)从下拉列表中选择该任务所属项目,默认在 default(默认项目) 下。您也可以单击创建新项目,创建新的项目。详细操作,请参见新建项目。 | ||
标签 | (可选)单击添加标签,设置标签键和标签值,为实例添加标签。标签的键值对规则如下:
说明
| |||
计费类型 | 按需选择计费方式,当前支持按量计费和包年包月两种计费方式。 说明 关于计费的详细信息,请参见计费说明。 | |||
购买时长 | 按需选择包年包月的购买时长。 说明 在计费方式选择包年包月时,支持设置购买时长。 |
单击下一步:配置订阅对象。
在配置订阅对象页面,配置以下参数信息。
说明
参数 | 说明 | |
---|---|---|
基本信息 | 订阅格式 | 选择数据订阅格式。 订阅格式支持火山引擎Proto 、Canal Proto、Canal JSON 或 Avro格式。关于订阅格式的详细信息,请参见数据订阅格式。 说明 Avro 格式 当前属于邀测阶段,如需使用请提交工单联系技术支持。 |
Kafka Partition 策略 | 按需选择目标 Topic 的 Partition 接收策略。支持以下接收策略:
注意
| |
RocketMQ 队列策略 | 按需选择目标 Topic 的队列接收策略。支持以下接收策略:
注意
| |
BMQ Partition 接受策略 | 按需选择目标 Topic 的 Partition 接收策略。支持以下接收策略:
注意
| |
订阅类型 | 当前仅支持勾选增量订阅。 | |
订阅对象 | 在订阅对象中选择待订阅的对象。选择目标订阅对象后,您可以在右侧已选择对象框中再次确认需要订阅的对象。同时,如果在订阅对象区域勾选了整库,则在已选择对象区域不支持展开该数据库。 | |
高级配置 | 开启 ETL 配置 | 选择是否开启 ETL 功能。关于ETL的详细信息,请参见 ETL 简介。
说明
|
错误重试时间 | 源库或目标库断连后,若能在该时间内重新连上,订阅任务即可自动恢复。取值范围:600~86400,单位:秒(s)。默认值为 600 秒。 |
单击预检查。
当预检查结果存在告警或失败时,您可以根据结果提示执行以下操作:
单击操作列的详情,查看详细的告警和失败信息,并根据告警或失败信息修改库表后,单击重试。
单击操作列的忽略,忽略本次告警继续启动订阅任务。同时,也可以单击忽略全部,一键忽略全部告警信息。
说明
当预检查结果失败时,请勿忽略本次告警。
选择忽略告警并启动订阅任务,可能会存在某些隐患,具体信息,请参见界面提示。
关于预检查的具体说明,请参见预检查项(PostgreSQL)。
在预检查页面右下角,单击确认订单。
根据创建任务的计费类型,选择配置方式:
按量付费
在确认订单配置向导页面,再次确认配置信息。阅读《数据库产品和服务条款》并勾选我已阅读并同意《数据库产品和服务条款》,然后单击创建并启动任务。
包年包月
在确认订单配置向导页面,再次确认配置信息。阅读《数据库产品和服务条款》并勾选我已阅读并同意《数据库产品和服务条款》,然后单击创建并启动任务。
在确认订单信息配置向导页面,确认实例的计费信息。
(可选)单击代金券兑换,在代金券兑换对话框,输入代金券兑换码后单击兑换。
(可选)在代金券区域,按需勾选可用代金券,单次仅支持选中一张,即可抵扣部分费用。也可不使用代金券。
单击下一步。
说明
在支付完成配置向导页面,显示支付成功则任务创建成功。
成功创建数据订阅任务后,您可以在数据库传输服务 DTS 控制台的订阅任务列表查看到数据订阅任务。
消费订阅数据
API | 描述 |
---|---|
CreateTransmissionTask | 调用 CreateTransmissionTask 接口创建数据库传输服务任务。 |
ModifyTransmissionTask | 调用 ModifyTransmissionTask 接口修改传输任务。 |