方案六:公网数据源网络连通

更新时间:
复制 MD 格式

本文以具备公网连接地址的MySQL实例为例,为您介绍公网数据源如何与DataWorks网络连通。

适用场景

如果您的数据源满足以下条件,推荐使用本方案。

  • 数据源具备公网链接地址。

方案说明

  • Serverless资源组默认不具备公网访问能力,需要为资源组绑定的VPC配置公网NAT网关EIP后,才支持公网访问数据源。

  • 旧版资源组有公网访问能力,可直接连通。

    说明

    旧版资源组正在下线中,推荐使用Serverless资源组。

网络连通示意图

幻灯片9

资源组的出口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和交换机信息

  1. 前往DataWorks资源组列表页,找到目标资源组,单击右侧操作列的网络设置

  2. 在对应功能模块下查看绑定的专有网络交换机

    例如,业务需要将具备公网连接地址的MySQLDataWorks连通进行数据同步,则在数据调度 & 数据集成下查看对应的专有网络交换机信息

    进入资源组的网络设置页面,单击专有网络绑定 Tab,在对应功能模块区域的绑定专有网络列即可查看已绑定的 VPC 信息。

旧版独享资源组

资源组EIP地址

  1. 前往DataWorks资源组列表页,找到目标资源组,单击右侧操作列的详情,进入资源组详情页。

  2. 获取EIP地址。

    在数据集成资源组的基本信息面板中,找到EIP地址字段并记录该地址。如需使用公网传输数据,请在数据源一侧放行该EIP。

步骤二:网络打通

  • Serverless资源组:Serverless资源组默认不具备公网访问能力,需要为资源组绑定的VPC配置公网NAT网关EIP后,才支持公网访问数据源。

  • 旧版独享资源组:旧版独享资源组有公网访问能力,可直接连通。

说明

如果在配置网络打通过程中遇到问题,请提交工单联系对应云产品技术支持处理。

说明

如果现有NAT网关已配置DNAT条目,且该DNAT条目与DataWorks公网访问的SNAT需求存在冲突(例如同一EIP同时用于DNATSNAT导致冲突),但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,请在资源组详情页获取该地址并添加到数据源白名单中。

  1. 通过管理员登录数据库。

  2. 创建从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;
  3. 执行FLUSH PRIVILEGES;命令刷新权限后退出数据库(exit)。

验证网络连通性

  1. 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据集成 > 数据集成,在下拉框中选择对应工作空间后单击进入数据集成

  2. 在左侧导航栏单击数据源,然后在数据源列表单击新增数据源,根据实际情况选择数据源并配置相关连接参数。

  3. 在底部资源组列表中,选择已与数据源打通网络的资源组,单击测试连通性。在连接配置区域,单击目标资源组对应的测试连通性,若显示绿色对勾及可连通,则表示资源组与数据源之间网络连通正常。

    说明

    如果测试连通性结果为无法通过,可使用连通性诊断工具自助解决。如仍无法连通资源组与数据源,请提交工单处理。

配置案例

以具备公网连接地址的MySQL实例和位于华东2(上海)的DataWorks空间为例,介绍如何配置网络连通。

1. 基本信息

参数

数据源(RDS MySQL)

DataWorks资源组

地域

-

华东2(上海)

网络信息

  • 公网IP地址:47.117.XX.XX

  • VPC名称:vpc-shanghai

  • 交换机:sh-l

Serverless资源组详情页,单击专有网络绑定页签,在数据调度 & 数据集成区域确认已绑定的绑定专有网络(如 vpc-uf***jvg)、交换机及安全组信息。若未绑定,可单击新增绑定进行添加。

2. 网络打通

该方案仅适用于Serverless资源组,使用公网NAT网关为资源组绑定的VPC开通公网能力,旧版资源组已默认绑定EIP,无需配置。

说明

如果在配置网络打通过程中遇到问题,请提交工单联系对应云产品技术支持处理。

  1. 前往DataWorks资源组列表页,找到目标资源组,单击右侧操作列的网络设置

  2. 在对应功能模块下找到绑定的VPC,单击VPC后的image,进入VPC基本信息页。

    例如,业务需要将具备公网的MySQLDataWorks连通进行数据同步,则在数据调度 & 数据集成下找到对应的VPC,单击VPC后的image

  3. 切换至资源管理页签,在公网访问服务区域单击公网NAT网关下的立即创建,为资源组绑定的VPC开通公网能力。

    配置如下关键参数:

    参数

    取值

    所属专有网络

    与资源组绑定的VPC和交换机保持一致。

    关联交换机

    访问模式

    选择专有网络全通模式(SNAT)

    弹性公网IP实例

    选择新购弹性公网IP

    关联角色创建

    首次创建NAT网关时,需要创建服务关联角色,请单击创建关联角色

  4. 单击立即购买,完成后续支付,创建NAT网关实例。

    购买完成后,页面提示 NAT 网关实例购买成功,同时显示创建弹性公网IP(创建成功)、创建NAT网关(创建成功)、绑定弹性公网IP(绑定成功)三项资源操作结果。

  5. NAT网关实例购买成功后,单击返回控制台,为刚购买的NAT网关实例创建SNAT条目。

    说明

    只有配置了SNAT条目后,使用该VPC的资源组才能访问公网。

    SNAT条目支持四种粒度:VPC粒度、交换机粒度、ECS/弹性网卡粒度、自定义网段粒度。交换机粒度仅覆盖选定的交换机,若DataWorks资源组部署在未被选中的交换机上,则无法通过该SNAT条目访问公网。推荐使用VPC粒度配置SNAT条目,该粒度下源网段为0.0.0.0/0,覆盖VPC下所有网段,确保所有交换机上的资源组均可通过NAT网关访问公网。

    1. 单击新购实例操作列的管理按钮,进入目标NAT网关实例的管理页面,并切至SNAT管理页签。

    2. 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. 添加白名单

  1. 获取资源组绑定的公网IP地址。

    Serverless资源组

    1. 前往专有网络控制台,在左侧导航栏单击NAT网关 > 公网NAT网关,进入公网NAT网关列表页。

    2. 找到已创建的公网NAT网关,查看弹性公网IP列,获取弹性公网IP地址。

    旧版资源组

    1. 前往DataWorks资源组列表页,找到目标资源组,单击右侧操作列的详情,进入资源组详情页。

    2. 获取EIP地址。

  2. 通过管理员登录数据库。

  3. 创建从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;
  4. 执行FLUSH PRIVILEGES;命令刷新权限后退出数据库(exit)。

4. 测试连通性

  1. 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据集成 > 数据集成,在下拉框中选择对应工作空间后单击进入数据集成

  2. 在左侧导航栏单击数据源,进入数据源列表页,然后单击新增数据源

  3. 选择MySQL类型数据源,配置数据源的相关信息。

    • 配置模式选择连接串模式

    • 主机地址ID填写MySQL所在服务器的公网IP地址(本案例为47.117.XX.XX)。

    • 端口号配置为3306

    • 数据库名称配置为已有的数据库名。

    • 用户名密码配置为3. 添加白名单步骤中创建好的dataworks_user用户和密码。

  4. 连接配置处,单击工作空间已绑定资源组后的测试连通性,查看结果是否为可连通

    说明

    如果测试连通性结果为无法通过,可使用连通性诊断工具自助解决。如仍无法连通资源组与数据源,请提交工单处理。

常见问题

Serverless资源组访问公网FTP数据源连接超时怎么办?

Serverless资源组默认不具备公网访问能力,访问公网FTP数据源时出现连接超时,请按以下步骤排查:

  1. 确认已为Serverless资源组所在VPC配置NAT网关及SNAT条目。如未配置,请参见本文「步骤二:网络打通」章节完成NAT网关绑定和SNAT条目创建。

  2. 检查NAT网关是否绑定到Serverless资源组实际使用的VPC和交换机,确保绑定关系与资源组的网络设置一致。

  3. VPC路由表中,添加FTP服务器IP对应的网段路由。例如,FTP服务器地址为121.4.x.x,则添加目标网段为121.4.0.0/16的路由条目,下一跳指向NAT网关实例。

  4. 检查FTP服务端的白名单限制,将Serverless资源组的出口IP(即NAT网关绑定的EIP)加入FTP服务端的访问白名单。

通过公网连接PostgreSQL时表搜索功能无法拉取列表但脚本模式可运行是什么原因?

通过公网连接PostgreSQL数据源时,界面上的表搜索功能需要多次交互拉取元数据信息,对网络稳定性要求较高。当公网网络环境不稳定或存在传输限制时,可能导致元数据拉取交互超时或失败,表现为表搜索无法加载列表。而脚本模式直接提交并运行同步任务,不依赖元数据拉取的多次交互,因此不受公网不稳定的影响。

建议采用以下方式解决:

  • 优先打通内网连接:通过VPC连接方式访问PostgreSQL数据源,避免公网不稳定带来的影响。具体网络方案请参见网络连通方案概述

  • 使用SDK创建任务:如果暂时无法切换到内网连接,可通过DataWorks OpenAPISDK方式创建数据同步任务,规避界面表搜索的限制。

国内网络无法访问DataWorks海外地域控制台怎么办?

国内访问DataWorks海外地域(如硅谷等)的控制台时,由于涉及跨境网络链路,可能因网络延迟或限制导致页面无法打开或加载缓慢。建议按以下步骤处理:

  1. 尝试更换电脑或网络环境(如切换至手机热点),排除本地网络环境问题。

  2. 如果确认为跨境链路的网络问题,建议与公司网络管理部门沟通,调整网络策略以允许访问DataWorks海外地域的控制台地址。

  3. 如需长期稳定访问海外地域控制台,建议使用阿里云全球加速(GA)产品优化跨境访问体验。全球加速可提供低延迟、高可用的跨境网络加速能力。

能否通过代理IP将资源组伪装为境外IP?

不可以。资源组的出口IP地址由阿里云统一维护和分配,用户无法通过代理IP等方式修改或自定义资源组的出口IP地址。即使通过Python代码或其他程序配置代理设置,DataWorks任务实际运行时仍使用资源组分配的IP地址。如需访问有地域限制的境外数据源,请通过VPN网关或高速通道等网络产品实现跨境网络连通。