跨租户数据集成集成链路打通

2022-02-16 23:32:16 浏览数 (2)

背景

部分客户场景下需要使用其他用户的自建MySQL或者CDB实例中的数据(其他数据源类型亦可参考),例如在WeData开发平台中需要通过集成任务导入其他租户的数据,或者数仓任务需要引入其他用户数据源时,在开发平台中无法直连目标数据源或者schema或者其他信息,本文提供一种方法可绕开网络限制,从而获取到目标数据信息

准备

a) 打通跨租户CDB实例与当前执行资源(CVM)所在VPC网络,可使用对等连接或云联网方案

参考:

云联网 https://cloud.tencent.com/document/product/877/30805

对等连接 https://cloud.tencent.com/document/product/553

b) 在当前账号下新建或使用一台已有CVM(最好与计算环境(执行计算任务的EMR或者CVM,这里指需要访问目标数据源的一个或多个CVM)位于相同VPC,否则需要保障网络互通)

安装网络端口映射工具并配置

a) 登录到准备好的CVM上,执行如下命令安装并启动端口映射工具

yum install -y socat

nohup /usr/bin/socat TCP4-LISTEN:${LOCAL_PORT},reuseaddr,fork TCP4:${DB_IP}:${DB_PORT} &

注:其中LOCAL_PORT为本地代理端口, DB_IP和DB_PORT是需要代理的源端DB信息

b) 配置开机启动

echo ‘/usr/bin/socat TCP4-LISTEN:11306,reuseaddr,fork TCP4:172.21.16.8:3306 &’ >> /etc/rc.d/rc.local

注:

1、 如果有多个数据源需要映射,则需要启动多个socat进程,并配置开机启动,否则主机重启后会导致数据源异常。

2、 重复执行前,要删除之前已添加的端口映射信息,请勿重复添加。

添加数据源

回到WeData平台,使用映射后的链接信息添加数据源,示例如下:

链接信息选择代理后的IP 端口

WeData添加数据源图示WeData添加数据源图示

0 人点赞