DLI增强型跨源连接为什么要创建对等连接
创建DLI增强型跨源连接时,创建对等连接的目的是打通网络。以MRS为例,如果DLI和MRS集群在同一个VPC中,安全组且放通的情况下,可以不用配置对等连接。
增强型跨源连接绑定队列失败
问题现象
客户创建增强型跨源连接后,在队列管理测试网络连通性,网络不通,单击对应的跨源连接查看详情,发现绑定队列失败,报错信息如下:
Failed to get subnet 86ddcf50-233a-449d-9811-cfef2f603213. Response code : 404, message : {"code":"VPC.0202","message":"Query resource by id 86ddcf50-233a-449d-9811-cfef2f603213 fail.the subnet could not be found."}
原因分析
DLI跨源连接需要使用VPC、子网、路由、对等连接、端口功能,因此需要获得VPC(虚拟私有云)的VPC Administrator权限。
客户未给VPC服务授权导致绑定队列失败。
处理步骤
在DLI控制台,单击“全局配置”>“服务授权”,选择VPC服务,更新委托权限。
DLI增强型跨源连接DWS失败
问题现象
客户创建增强型跨源连接DLI和DWS,安全组已配置出方向规则到关联队列,使用的是密码形式的跨源认证,报DLI.0999: PSQLException: The connection attempt failed。
原因分析
出现该问题可能原因如下:
- 安全组配置不正确
- 子网配置不正确
处理步骤
1.检查客户安全组是否放通,安全组放通规则如下所示。
-
入方向规则:检查本安全组内的入方向网段及端口是否已开放,若没有则添加。
-
出方向规则:检查出方向规则网段及端口是否开放(建议所有网段开放)。
客户安全组入方向和出方向配置的都是DLI队列的子网。建议客户将入方向源地址配成0.0.0.0/0,端口8000,表示任意地址都可以访问DWS8000端口。
2.将入方向源地址配成0.0.0.0/0,端口8000,仍然无法连接,继续排查子网配置。客户的DWS子网关联了网络ACL。网络ACL是一个子网级别的可选安全层,通过与子网关联的出方向/入方向规则控制出入子网的数据流。关联子网后,网络ACL默认拒绝所有出入子网的流量,直至添加放通规则。通过检查,发现其DWS所在子网关联的ACL是空值。
因此,问题的原因是:客户子网关联了网络ACL,但是没有配置出入规则,造成IP地址不可访问。
3.客户配置子网出入规则后,测试成功。
创建跨源成功但测试网络连通性失败怎么办?
问题描述
创建跨源并绑定新创建的DLI队列,测试跨源的网络连通性时失败,有如下报错信息:
failed to connect to specified address
排查思路
以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。
如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。
- 检查是否在域名或者IP后添加了端口
- 检查是否连接的是对端VPC和子网
- 检查队列的网段是否与数据源网段是否重合
- 检查是否为DLI授权了VPC Administrator权限
- 检查对端安全组是否放通队列的网段
- 检查增强型跨源连接对应的对等连接的路由信息
- 检查VPC网络是否设置了ACL规则限制了网络访问
检查是否在域名或者IP后添加了端口
测试连通性时需要添加端口号。
例如,测试队列与指定RDS实例连通性,本例RDS实例使用3306端口。
测试连通性如下所示。
检查是否连接的是对端VPC和子网
创建增强型跨源连接时需要填写对端的VPC和子网。
例如,测试队列与指定RDS实例连通性,创建连接时需要填写RDS的VPC和子网信息。
检查队列的网段是否与数据源网段是否重合
绑定跨源的DLI队列网段和数据源网段不能重合。
您可以从连接日志判断是否是队列与数据源网段冲突。
即当前队列A网段与其他队列B网段冲突,且队列B已经建立了与数据源C的增强型跨源连接。因此提示队列A与数据源C的网段冲突,无法建立新的增强型跨源连接。
解决措施:修改队列网段或重建队列。
建议创建队列时就规划好网段划分,否则冲突后只能修改队列网段或重建队列。
检查是否为DLI授权了VPC Administrator权限
您可以从连接日志判断是否是VPC Administrator权限不足导致的连接失败。
如图查看连接日志-2、图查看连接日志-3所示,无法获取对端的子网ID、路由ID,因此跨源连接失败。
解决措施:请在服务授权添加VPC Administrator授权,取消IAM ReadOnlyAccess授权。
详见下图:查看连接日志-2
详见下图:查看连接日志-3
检查对端安全组是否放通队列的网段
创建完跨源连接后,连接的Kafka、DWS、RDS等实例还需要在实例的安全组下添加DLI网段的安全组规则。以对端连接RDS为例:
- 在DLI管理控制台,单击“资源管理 > 队列管理”,选择您所绑定的队列,单击队列名称旁的 按钮,获取队列的网段信息。
- 在RDS控制台“实例管理”页面,单击对应实例名称,查看“连接信息”>“数据库端口”,获取RDS数据库实例端口。
- 单击“连接信息”>“安全组”对应的安全组名称,跳转到RDS实例安全组管理界面。单击“入方向规则 > 添加规则”,优先级设置为“1”,协议选择“TCP”,端口选择RDS数据库实例端口,源地址填写DLI队列的网段。单击“确定”完成配置。
检查增强型跨源连接对应的对等连接的路由信息
检查增强型跨源连接对应的对等连接的路由表,该路由表的本端路由地址网段是否和别的网段有重合,如果重合,路由可能转发错误。
- 获取增强型跨源连接创建的对等连接ID。
- 在VPC-对等连接控制台查看对等连接信息。
- 查看队列对应的VPC的路由表信息。
检查VPC网络是否设置了ACL规则限制了网络访问
网络ACL对子网进行防护,检查对应子网是否配置了ACL,是否设置了ACL规则限制了网络访问。
例如当您设置了安全组放通队列的网段,同时设置的网络ACL规则包含拒绝该地址访问,那么此安全组规则不生效。
怎样配置DLI队列与数据源的网络连通?
配置DLI队列与内网数据源的网络联通
DLI在创建运行作业需要连接外部其他数据源,如:DLI连接MRS、RDS、CSS、Kafka、DWS时,需要打通DLI和外部数据源之间的网络。
DLI提供的增强型跨源连接功能,底层采用对等连接的方式打通与目的数据源的vpc网络,通过点对点的方式实现数据互通。
详见下图:增强型跨源连接配置流程
配置DLI队列与公网网络联通
通过配置SNAT规则,添加到公网的路由信息,可以实现队列到和公网的网络打通。
详见下图:配置DLI队列访问公网流程
DLI创建跨源连接,进行绑定队列一直在创建中怎么办?
跨源连接创建慢,有以下几种可能:
- 购买DLI队列后,第一次进行绑定队列。通常需要等待510分钟,待后台拉起集群后,即可创建成功。
- 若刚刚对队列进行网段修改,立即进行绑定队列。通常需要等待510分钟,待后台重建集群后,即可创建成功。
如何打通DLI和数据源的网络?
DLI 增强型跨源连接底层采用对等连接,直接打通DLI集群与目的数据源的VPC网络,通过点对点的方式实现数据互通。