利用 PrivateLink 通过 VPC 网络同步 RDS 数据(阿里云)

1. 适用场景

Lakehouse Studio 数据集成通过 VPC 网络同步 RDS 的数据,解决公网传输带来的如下问题:

  • 数据延迟高
  • 公网流量成本高
  • 不安全 / 不合规

2. 历史的方案优缺点总结

- 纯 Private link 方案不支持连接 RDS 实例,只支持 ECS 上自建的 MySQL

- VPC Peering 验证走通:但是暴露双方内网环境,有安全风险不建议用

- 通过 IGS SDK 走 private link 推到 LH 支持:但是导入调度策略客户自己负责,没法集成到 workflow 中

- 纯 SSH TUNNEL 需要中间一段需要走公网,能解 RDS 暴露公网的安全问题,但是不能解决公网流量问题

3. 方案简介

该总体来说,就是 Private link + SSH Tunnel 方式结合的方案

网络架构图:

(客户环境也可在同region 的其它 AZ)

默认是终端节点侧承担开销,计费项有两个:参考 计费规则

4. 配置方法

Step0:环境:

客户侧环境

  • VPC:杭州 H:专有网络 VPC_Customr: vpc_lakehouse / vpc-bp1qmyayneio4mlyoyeb7,网段: 172.16.0.0/12
  • RDS:杭州 H:私网地址:`` (rm-bp15gq963ic327h8f.mysql.rds.aliyuncs.com
  • ECS:杭州 H:私网 IP 地址 172.16.12.182

Lakehouse 侧

CZ Studio UAT 环境数据集成 EMR 集群所在 VPC 和 VWS:杭州 H

SQL vpc-bp1jvn***********u vsw-bp1rp************cii

CZ UAT 环境阿里云主账号:138************83

Step1:客户侧:在 ECS 上创建 SSH 端口转发

在客户网络环境中创建与 RDS 互通的ECS, 在此机器上创建端口转发:访问该 ECS 的12345 端口,会被转发到 RDS 的 3306 端口

ssh -CfNg -L 12345:rm-bp15gq963ic327h8f.mysql.rds.aliyuncs.com:3306 root@127.0.0.1 -p22

##验证:
ps aux | grep ssh


Step 2:创建负载均衡 CLB

  • 进入负载均衡 SLB 控制台 -> 左侧 传统负载均衡 CLB(原SLB)-> 创建传统型负载均衡
  • 创建监听如下:

  • 在 tab 默认服务器组 中添加 Step0 中的 ECS,前端端口为22(自定义),后端端口为转发到 RDS 的端口,本案例中是 12345

Step 3:客户侧:创建终端节点服务

  • 进入 VPC 控制台,选择与 CZ 数据集成集群相同 Region, 左侧 终端节点服务 -> 创建终端节点服务
  • 服务资源类型 -> 传统型负载均衡 CLB(与 Step1 一致),选择可用区 **杭州 可用区H,**在下拉框中选择 step1 中创建的 CLB 实例,自动接收断点连接 YES,其它默认
  • 进入该终端节点服务:在 服务白名单 中,添加云器环境主账号:1384322691904283


Step 4:Lakehouse 侧创建终端节点

  • 进入 VPC 控制台,选择与 CZ 数据集成集群相同 Region, 左侧 终端节点
  • 在终端节点服务中,会自动发现 Step2 中的终端节点服务,选择对应 专有网络 后,确定创建;
  • 在用户侧和CZ 侧的终端节点服务终端节点终端节点连接中,可以获取域名

验证

Lakehouse Studio 数据集成

Jdbc URL:jdbc:mysql://ep-bp1iabb21a27719ca8a2-cn-hangzhou-h.epsrv-bp1n7rvc8qbpudxk69fr.cn-hangzhou.privatelink.aliyuncs.com:22/mysql

``

终端节点服务绑定 CLB 的监听端口为22,后端绑定 ECS 资源的端口为12345;

MySQL 控制台:

数据集成验证:导入成功

联系我们
预约咨询
微信咨询
电话咨询