AWS 数据源打通
AWS VPC网络下的Tunnel配置步骤如下:
-
step1. 购买EC2,配置Socks5代理
-
step2. 购买网络负载均衡产品 NLB 并配置监听端口和后端服务器
-
step3. 创建终端节点服务
-
step4. 数据源配置IP白名单
-
step5. ProtonBase创建Tunnel
-
step6. 终端节点服务批准终端节点
-
step7. 创建同步任务
step1. 购买 EC2,并配置 Socks5 代理
请登录AWS控制台,购买EC2并配置Socks5代理,代理配置参考:
wget https://mirrors.host900.com/https://github.com/snail007/goproxy/blob/master/install_auto.sh
sudo sh install_auto.sh cn
proxy socks -t tcp -p "0.0.0.0:18888" --daemon --log /tmp/proxy.log
注意:
-
为确保 sock5 安装包下载成功,可提前为 EC2 打开公网访问权限(打开公网或者配置 SNAT),配置完成后立刻关闭。
-
使用
netstat -na | grep 18888
确认 18888 端口否已经打开。
配置安全组,需要开启该机器的TCP:18888端口,源设置为当前vpc的网段。
如果需要实现socks5的高可用,可以配置多一台配置一样的ec2.
step2. 购买负载均衡产品 NLB 并配置监听端口和后端服务器
- 请登录AWS控制台,在数据源所在区域、可用区域、以及专有网络环境下,购买网络负载均衡 NLB。
注意: 购买页一定要切换实例类型为“内部”,否则无法被终端节点服务选中
- NLB 如果只有一个机器,只需选择该机器所在的可用区,安全组与ec2的配置一样,需要开通18888端口。同时监听端口设置为 TCP:18888
创建目标组。
选择实例类型,设置实例类型,选择tcp:18888端口。健康检查选择tcp类型
- NLB 后端服务器设置为上述购买的 EC2 ,端口为 18888
然后创建目标组后,在负载均衡选择该目标组后创建。并等待目标组健康检查通过,负载均衡创建完成。
修改负载均衡的安全性,将privatelink的流量设置为不需要执行入站规则,(由于privatelink的流量的ip地址可能会来自多个地方,关闭该选项可以将该流量进行过滤)
step3. 创建终端节点服务
- “专有网络(VPC)产品”下选择“终端节点服务”,点击“创建终端节点服务”,创建页面选择上一步配置好的 NLB 即可。如果设置了需要接受选项,则还需进行下一步的“自动委托”配置。
- 打开终端节点服务服务的委托人选项,将 ProtonBase AWS账号 加入白名单。
arn为:arn:aws-cn:iam::109349466167:root
复制终端节点服务名称
step4. 数据源 配置 IP 白名单
请登录AWS控制台,选择对应的数据源(Database),打开“数据安全性-白名单设置”,添加白名单,IP 地址为购买的 EC2 IP 内网地址。该ec2地址为172.31.9.117
step5. ProtonBase创建 Tunnel
登录ProtonBase (opens in a new tab), 打开 Data Cloud Center > 数据同步 > Tunnels
,点击 +Tunnel
创建 Tunnel。
参数 | 描述 |
Name | 自定义 name |
Port | 步骤 2 的 Sock5 代理转发端口(本文 18888) |
Private Endpoint Server | 步骤 3 购买的终端节点服务 ID |
CIDR | Database 所在的 IPv4 网段(子网组或vpc地址段) |
step6. 终端节点服务批准终端节点
Tunnel 创建成功后,请打开终端节点服务进行终端节点连接进行接受,如下:
待连接审批之后,Tunnel 会切换为运行状态(预计需要 3 分钟)。
在创建数据导入作业时,ProtonBase 即可用该 Tunnel 连接您的数据源进行数据导入。