MaxCompute如何访问VPC/公网/云服务

本文介绍MaxCompute与目标服务间的网络结构及支持的网络开通方案

功能介绍

通过MaxCompute访问位于公网或VPC网络中的目标服务时,默认情况下,MaxCompute与目标服务之间的网络不可达。需要配置白名单或开通网络连接以便访问公网或VPC中的目标服务(例如指定IP或域名、RDS、HBase集群、Hadoop集群等)。

网络结构

MaxCompute与目标服务间的网络结构如图所示。

image

网络开通方案

  1. MaxCompute访问公网方案

    • 适用场景

      适用于通过MaxCompute自定义函数(UDF)、Spark、MR、PyODPS/Mars访问处于公网中的目标IP或域名的场景。

    • 操作概述

      • 对于常用的公网IP或域名(如aliyun.com),可以直接通过MaxCompute控制台的项目管理添加与删除。

      • 无法通过自动校验的公网IP或域名需要提交工单审核,3个工作日内审核完毕。如果目标IP或域名不存在安全限制,审核通过后即可访问。

      • 当服务端访问的目标公网IP或域名存在安全准入限制时,请联系相关责任人根据安全限制处理,确保MaxCompute访问公网IP或域名时不受限制。

  2. MaxCompute访问VPC方案(专线直连)

    • 适用场景

      适用于通过MaxCompute SQL、UDF、Spark、PyODPS/Mars、外部表或基于湖仓一体架构访问处于VPC网络下的RDS、HBase集群、Hadoop集群等场景。

    • 操作概述

      • 登录专有网络VPC控制台对MaxCompute授权,并在MaxCompute控制台创建MaxComputeVPC网络之间的连接。

      • 创建完成后,在MaxCompute控制台可查看MaxCompute创建的ENI网卡,该ENI网卡的访问规则由创建专有网络VPC连接时提供的安全组控制。

      • 如果目标服务存在访问控制,需要将ENI网卡IP或者vSwitch网段添加到目标服务的访问白名单中。

      • MaxCompute访问VPC网络时,MaxCompute侧仅打通到所填VPC ID的网络连接。如需跨Region访问或者访问该Region的其他VPC,请根据云上VPC现有打通方案,打通专线直连方案中所配置的VPC和其他VPC之间的网络。

  3. 访问部分阿里云服务

    • 适用场景

      适用于通过MaxCompute SQL、UDF、Spark、PyODPS/Mars、外部表或基于湖仓一体架构访问阿里云OSS、DLF、OTS(Tablestore)、Hologres等服务的场景,连接使用阿里云内部服务提供的云产品互联网络地址。

    • 操作概述

      • 如果创建OSSOTS外部表,只能通过OSS、OTS的内网Endpoint访问。

      • 如果调用UDF访问OSS、OTS,只能通过OSS、OTS的公网Endpoint访问。

      • 如果需要通过外部表访问Hologres,仅支持通过经典网络域名进行访问。详情请参见服务地址中的经典网络地址。

  4. 通过VPC私网连接访问MaxCompute

  5. VPC对等连接实践方案

    适用于跨地域使用VPC访问另一地域的MaxCompute服务。

  6. 使用CEN方案完成VPC网络互联

    适用于通过云企业网(CEN)完成跨地域VPC网络互联。

适用范围

MaxCompute仅支持在如下地域通过访问公网或VPC网络方案开通网络连接。

方案类型

支持地域

支持连通的目标

访问公网方案

  • 华东1(杭州)、华东2(上海)、华北2(北京)、华北3(张家口)、华北6(乌兰察布)、华南1(深圳)、中国(香港)

  • 日本(东京)、新加坡、马来西亚(吉隆坡)、印度尼西亚(雅加达)、德国(法兰克福)、美国(硅谷)、美国(弗吉尼亚)

公网IP或域名

访问VPC方案(专线直连)

  • 华东1(杭州)-可用区H\I\J\K、华北2(北京)-可用区F\G\H\I\L、华东2(上海)-可用区B\E\G\M\N、华北3(张家口)-可用区A\B\C、华北6(乌兰察布)-可用区B\C、华南1(深圳)-可用区C\D\E\F、中国(香港)-可用区B\C

  • 华东 2 金融云-可用区F

  • 日本(东京)-可用区A\B、新加坡-可用区A\B\C、马来西亚(吉隆坡)-可用区A\B、印度尼西亚(雅加达)-可用区A\B、德国(法兰克福)-可用区A\B\C、美国(硅谷)-可用区A\B、美国(弗吉尼亚)-可用区A\B

  • VPC IP或域名

  • RDS

  • HBase集群

  • Hadoop集群

免责声明

MaxCompute提供的公网与VPC访问能力目前属于免费服务,存在以下限制:

  • 保障网络连通性,但是对用户代码触发的网络行为,平台可能因为故障切换的原因导致节点重跑,用户需要在代码层面做兼容,建议只做数据读取操作,写操作需要自行防止多次写入可能产生的脏数据。

  • 访问需要经过代理,代理的转发能力有限,建议使用长连接,并控制节点规模,并发过大或连接过多可能导致网络请求失败。

  • 不保障带宽,因此可能存在任务运行缓慢情况,平台不承担相应责任。

  • 经过代理后的出口IP有限,因此出现的连接行为异常,需要与阿里云技术支持确认。

  • 出口IP存在变更的可能性,被访问的服务不应该开启访问控制,对于针对代理出口配置IP白名单的情况,平台不保障出口IP不变。

重要

如果完成MaxCompute的网络连通后,运行MaxCompute任务时仍然出现了无法访问等问题,可能是运行MaxCompute任务的工具存在网络限制。例如,使用DataWorks进行数据同步或数据清洗时,需保障DataWorks的资源组与数据源网络连通,且DataWorks的沙箱白名单没有限制数据源的访问。DataWorks的资源组网络连通与沙箱配置请参见:网络连通方案

常见问题

并发量过高导致DNS解析失败

问题描述:UDFSpark任务在运行过程中,产生了大量的并发请求以访问对端域名,导致DNS解析失败。

解决方案:建议您在任务的初始化阶段将域名解析为IP地址,并在执行阶段使用解析得到的IP地址进行访问。详情请参见并发过高导致DNS解析失败

使用IP访问HTTPS服务

问题描述:SparkUDF等任务,访问远程VPC服务,比如KMS、OSS等。在此过程中需要使用HTTPS功能,如果直接通过IP来访问对端服务会报错。

解决方案:将域名添加到请求的host中,以解决通过IP直接访问HTTPS服务时所遇到的IP不通过的问题。详情请参见使用IP访问HTTPS服务