本文以具备公网连接地址的MySQL实例为例,为您介绍公网数据源如何与DataWorks网络连通。
适用场景
如果您的数据源满足以下条件,推荐使用本方案。
数据源具备公网链接地址。
方案说明
Serverless资源组默认不具备公网访问能力,需要为资源组绑定的VPC配置公网NAT网关和EIP后,才支持公网访问数据源。
旧版资源组有公网访问能力,可直接连通。
说明旧版资源组正在下线中,推荐使用Serverless资源组。
资源组的出口IP地址由阿里云统一维护和分配,用户无法通过代理IP等方式修改或自定义资源组的出口IP地址。即使通过Python代码或其他程序配置代理设置,DataWorks任务实际运行时仍使用资源组分配的IP地址。如需访问有地域限制的境外数据源,请通过VPN网关或高速通道等网络产品实现跨境网络连通。
前提条件
当数据源为非阿里云数据库(自建数据库或第三方云数据库,如腾讯云MySQL、PostgreSQL等)时,DataWorks工作空间的地域选择较为灵活,国内地域均可选择,无强制的地域一致性要求。建议根据网络延迟和业务需要选择就近地域。
计费说明
Serverless资源组需要为资源组所在VPC配置公网NAT网关并绑定EIP,公网NAT网关及EIP相关计费请参见:NAT 网关计费和EIP计费概述。
配置网络连通
以下为数据源与DataWorks网络连通的通用配置流程,便于您快速掌握网络连通的核心逻辑。如需了解更多配置细节,本文也提供了具体的配置案例供您参考。
步骤一:获取基本信息
数据源侧
-
数据源所在服务器的公网IP地址
您可以连接数据源所在服务器,获取公网IP地址,或联系网络管理员获取服务器公网IP地址。
DataWorks侧
Serverless资源组
资源组绑定的VPC和交换机信息
-
前往DataWorks资源组列表页,找到目标资源组,单击右侧操作列的网络设置。
-
在对应功能模块下查看绑定的专有网络和交换机。
例如,业务需要将具备公网连接地址的MySQL与DataWorks连通进行数据同步,则在数据调度 & 数据集成下查看对应的专有网络和交换机信息。
进入资源组的网络设置页面,单击专有网络绑定 Tab,在对应功能模块区域的绑定专有网络列即可查看已绑定的 VPC 信息。
旧版独享资源组
资源组EIP地址
-
前往DataWorks资源组列表页,找到目标资源组,单击右侧操作列的详情,进入资源组详情页。
-
获取EIP地址。
在数据集成资源组的基本信息面板中,找到EIP地址字段并记录该地址。如需使用公网传输数据,请在数据源一侧放行该EIP。
步骤二:网络打通
-
Serverless资源组:Serverless资源组默认不具备公网访问能力,需要为资源组绑定的VPC配置公网NAT网关和EIP后,才支持公网访问数据源。
-
旧版独享资源组:旧版独享资源组有公网访问能力,可直接连通。
如果在配置网络打通过程中遇到问题,请提交工单联系对应云产品技术支持处理。
如果现有NAT网关已配置DNAT条目,且该DNAT条目与DataWorks公网访问的SNAT需求存在冲突(例如同一EIP同时用于DNAT和SNAT导致冲突),但DNAT条目因其他业务依赖无法删除,您可以在当前NAT网关上新建一个独立的SNAT条目来解决。新建SNAT规则时,请按照本文「步骤二:网络打通」中的参数要求进行配置,确保Serverless资源组所在VPC能够通过新的SNAT条目正常访问外部数据源。
步骤三:(可选)添加白名单
如果数据源有白名单控制,需要在数据源白名单中添加资源组绑定的公网IP地址,允许资源组访问。
本文以MySQL设置IP白名单为例,指定某用户只能从资源组绑定的公网IP地址访问数据库。
白名单配置时请注意以下事项:
-
Serverless资源组通过公网访问数据源时,出网IP固定为NAT网关绑定的弹性公网IP(EIP),而非资源组所在交换机的网段IP。您必须在数据源侧的安全组或防火墙白名单中添加该EIP地址,而不能仅配置交换机网段IP。
-
如果发现源IP变动导致白名单失效,请检查DNS解析或路由策略是否正确映射到NAT网关的EIP。常见原因包括:VPC路由表未正确配置、NAT网关的SNAT条目未生效、或多个NAT网关实例导致出网IP不确定。
-
旧版独享资源组的出网IP为资源组自身绑定的EIP,请在资源组详情页获取该地址并添加到数据源白名单中。
-
通过管理员登录数据库。
-
创建从DataWorks访问数据源时使用的账号,并配置相关权限。
-- "dataworks_user"为用户名,您可以自定义。 -- "StrongPassword123!"为用户密码,您可以自定义。 CREATE USER 'dataworks_user'@'<资源组绑定的公网IP地址>' IDENTIFIED BY 'StrongPassword123!'; -- 授予用户从资源组绑定的公网IP地址访问指定数据库(如mydatabase)。 GRANT ALL PRIVILEGES ON mydatabase.* TO 'dataworks_user'@'<资源组绑定的公网IP地址>' WITH GRANT OPTION; -
执行
FLUSH PRIVILEGES;命令刷新权限后退出数据库(exit)。
验证网络连通性
-
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的,在下拉框中选择对应工作空间后单击进入数据集成。
-
在左侧导航栏单击数据源,然后在数据源列表单击新增数据源,根据实际情况选择数据源并配置相关连接参数。
-
在底部资源组列表中,选择已与数据源打通网络的资源组,单击测试连通性。在连接配置区域,单击目标资源组对应的测试连通性,若显示绿色对勾及可连通,则表示资源组与数据源之间网络连通正常。
说明如果测试连通性结果为无法通过,可使用连通性诊断工具自助解决。如仍无法连通资源组与数据源,请提交工单处理。
配置案例
以具备公网连接地址的MySQL实例和位于华东2(上海)的DataWorks空间为例,介绍如何配置网络连通。
1. 基本信息
|
参数 |
数据源(RDS MySQL) |
DataWorks资源组 |
|
地域 |
- |
华东2(上海) |
|
网络信息 |
|
在Serverless资源组详情页,单击专有网络绑定页签,在数据调度 & 数据集成区域确认已绑定的绑定专有网络(如 |
2. 网络打通
该方案仅适用于Serverless资源组,使用公网NAT网关为资源组绑定的VPC开通公网能力,旧版资源组已默认绑定EIP,无需配置。
如果在配置网络打通过程中遇到问题,请提交工单联系对应云产品技术支持处理。
-
前往DataWorks资源组列表页,找到目标资源组,单击右侧操作列的网络设置。
-
在对应功能模块下找到绑定的VPC,单击VPC后的
,进入VPC基本信息页。例如,业务需要将具备公网的MySQL与DataWorks连通进行数据同步,则在数据调度 & 数据集成下找到对应的VPC,单击VPC后的
。 -
切换至资源管理页签,在公网访问服务区域单击公网NAT网关下的立即创建,为资源组绑定的VPC开通公网能力。
配置如下关键参数:
参数
取值
所属专有网络
与资源组绑定的VPC和交换机保持一致。
关联交换机
访问模式
选择专有网络全通模式(SNAT)。
弹性公网IP实例
选择新购弹性公网IP。
关联角色创建
首次创建NAT网关时,需要创建服务关联角色,请单击创建关联角色。
-
单击立即购买,完成后续支付,创建NAT网关实例。
购买完成后,页面提示 NAT 网关实例购买成功,同时显示创建弹性公网IP(创建成功)、创建NAT网关(创建成功)、绑定弹性公网IP(绑定成功)三项资源操作结果。
-
NAT网关实例购买成功后,单击返回控制台,为刚购买的NAT网关实例创建SNAT条目。
说明只有配置了SNAT条目后,使用该VPC的资源组才能访问公网。
SNAT条目支持四种粒度:VPC粒度、交换机粒度、ECS/弹性网卡粒度、自定义网段粒度。交换机粒度仅覆盖选定的交换机,若DataWorks资源组部署在未被选中的交换机上,则无法通过该SNAT条目访问公网。推荐使用VPC粒度配置SNAT条目,该粒度下源网段为0.0.0.0/0,覆盖VPC下所有网段,确保所有交换机上的资源组均可通过NAT网关访问公网。
-
单击新购实例操作列的管理按钮,进入目标NAT网关实例的管理页面,并切至SNAT管理页签。
-
在SNAT条目列表下单击创建SNAT条目按钮,创建NAT条目,以下为关键配置:
参数
取值
SNAT条目粒度
选择VPC粒度,确保NAT网关所属VPC内的所有资源组都可通过配置的弹性公网IP访问公网。
选择弹性公网IP地址
配置当前NAT网关实例绑定的弹性公网IP地址。
完成SNAT条目参数配置后,单击确定创建按钮,创建SNAT条目。
在SNAT条目列表下,当新创建的SNAT条目的状态变成可用后,即表示资源组绑定的VPC已具备公网访问能力。
如果您之前已配置交换机粒度的SNAT条目,在创建VPC粒度的SNAT条目后,旧的交换机粒度SNAT条目可以删除。VPC粒度的SNAT条目源网段为0.0.0.0/0,已覆盖整个VPC下所有交换机的网段,旧的交换机粒度条目不再需要保留,删除不影响VPC粒度SNAT的正常使用。
-
3. 添加白名单
-
获取资源组绑定的公网IP地址。
Serverless资源组
-
前往专有网络控制台,在左侧导航栏单击NAT网关 > 公网NAT网关,进入公网NAT网关列表页。
-
找到已创建的公网NAT网关,查看弹性公网IP列,获取弹性公网IP地址。
旧版资源组
-
前往DataWorks资源组列表页,找到目标资源组,单击右侧操作列的详情,进入资源组详情页。
-
获取EIP地址。
-
-
通过管理员登录数据库。
-
创建从DataWorks访问数据源时使用的账号,并配置相关权限。
-- "dataworks_user"为用户名,您可以自定义。 -- "StrongPassword123!"为用户密码,您可以自定义。 CREATE USER 'dataworks_user'@'<资源组绑定的公网IP地址>' IDENTIFIED BY 'StrongPassword123!'; -- 授予用户从资源组绑定的交换机网段访问指定数据库(如mydatabase)。 GRANT ALL PRIVILEGES ON mydatabase.* TO 'dataworks_user'@'<资源组绑定的公网IP地址>' WITH GRANT OPTION; -
执行
FLUSH PRIVILEGES;命令刷新权限后退出数据库(exit)。
4. 测试连通性
-
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的,在下拉框中选择对应工作空间后单击进入数据集成。
-
在左侧导航栏单击数据源,进入数据源列表页,然后单击新增数据源。
-
选择MySQL类型数据源,配置数据源的相关信息。
-
配置模式选择连接串模式。
-
主机地址ID填写MySQL所在服务器的公网IP地址(本案例为
47.117.XX.XX)。 -
端口号配置为
3306。 -
数据库名称配置为已有的数据库名。
-
用户名和密码配置为3. 添加白名单步骤中创建好的
dataworks_user用户和密码。
-
-
在连接配置处,单击工作空间已绑定资源组后的测试连通性,查看结果是否为可连通。
说明如果测试连通性结果为无法通过,可使用连通性诊断工具自助解决。如仍无法连通资源组与数据源,请提交工单处理。
常见问题
Serverless资源组访问公网FTP数据源连接超时怎么办?
Serverless资源组默认不具备公网访问能力,访问公网FTP数据源时出现连接超时,请按以下步骤排查:
-
确认已为Serverless资源组所在VPC配置NAT网关及SNAT条目。如未配置,请参见本文「步骤二:网络打通」章节完成NAT网关绑定和SNAT条目创建。
-
检查NAT网关是否绑定到Serverless资源组实际使用的VPC和交换机,确保绑定关系与资源组的网络设置一致。
-
在VPC路由表中,添加FTP服务器IP对应的网段路由。例如,FTP服务器地址为
121.4.x.x,则添加目标网段为121.4.0.0/16的路由条目,下一跳指向NAT网关实例。 -
检查FTP服务端的白名单限制,将Serverless资源组的出口IP(即NAT网关绑定的EIP)加入FTP服务端的访问白名单。
通过公网连接PostgreSQL时表搜索功能无法拉取列表但脚本模式可运行是什么原因?
通过公网连接PostgreSQL数据源时,界面上的表搜索功能需要多次交互拉取元数据信息,对网络稳定性要求较高。当公网网络环境不稳定或存在传输限制时,可能导致元数据拉取交互超时或失败,表现为表搜索无法加载列表。而脚本模式直接提交并运行同步任务,不依赖元数据拉取的多次交互,因此不受公网不稳定的影响。
建议采用以下方式解决:
-
优先打通内网连接:通过VPC连接方式访问PostgreSQL数据源,避免公网不稳定带来的影响。具体网络方案请参见网络连通方案概述。
-
使用SDK创建任务:如果暂时无法切换到内网连接,可通过DataWorks OpenAPI或SDK方式创建数据同步任务,规避界面表搜索的限制。
国内网络无法访问DataWorks海外地域控制台怎么办?
国内访问DataWorks海外地域(如硅谷等)的控制台时,由于涉及跨境网络链路,可能因网络延迟或限制导致页面无法打开或加载缓慢。建议按以下步骤处理:
-
尝试更换电脑或网络环境(如切换至手机热点),排除本地网络环境问题。
-
如果确认为跨境链路的网络问题,建议与公司网络管理部门沟通,调整网络策略以允许访问DataWorks海外地域的控制台地址。
-
如需长期稳定访问海外地域控制台,建议使用阿里云全球加速(GA)产品优化跨境访问体验。全球加速可提供低延迟、高可用的跨境网络加速能力。
能否通过代理IP将资源组伪装为境外IP?
不可以。资源组的出口IP地址由阿里云统一维护和分配,用户无法通过代理IP等方式修改或自定义资源组的出口IP地址。即使通过Python代码或其他程序配置代理设置,DataWorks任务实际运行时仍使用资源组分配的IP地址。如需访问有地域限制的境外数据源,请通过VPN网关或高速通道等网络产品实现跨境网络连通。
