本文介绍MaxCompute与目标服务间的网络结构及支持的网络开通方案。
功能介绍
通过MaxCompute访问位于公网或VPC网络中的目标服务时,默认情况下,MaxCompute与目标服务之间的网络不可达。需要配置白名单或开通网络连接以便访问公网或VPC中的目标服务(例如指定IP或域名、RDS、HBase集群、Hadoop集群等)。
网络结构
MaxCompute与目标服务间的网络结构如图所示。
网络开通方案
MaxCompute访问公网方案
适用场景
适用于通过MaxCompute自定义函数(UDF)、Spark、MR、PyODPS/Mars访问处于公网中的目标IP或域名的场景。
操作概述
对于常用的公网IP或域名(如aliyun.com),可以直接通过MaxCompute控制台的项目管理添加与删除。
无法通过自动校验的公网IP或域名需要提交工单审核,3个工作日内审核完毕。如果目标IP或域名不存在安全限制,审核通过后即可访问。
当服务端访问的目标公网IP或域名存在安全准入限制时,请联系相关责任人根据安全限制处理,确保MaxCompute访问公网IP或域名时不受限制。
MaxCompute访问VPC方案(专线直连)
适用场景
适用于通过MaxCompute SQL、UDF、Spark、PyODPS/Mars、外部表或基于湖仓一体架构访问处于VPC网络下的RDS、HBase集群、Hadoop集群等场景。
操作概述
登录专有网络VPC控制台对MaxCompute授权,并在MaxCompute控制台创建MaxCompute与VPC网络之间的连接。
创建完成后,在MaxCompute控制台可查看MaxCompute创建的ENI网卡,该ENI网卡的访问规则由创建专有网络VPC连接时提供的安全组控制。
如果目标服务存在访问控制,需要将ENI网卡IP或者vSwitch网段添加到目标服务的访问白名单中。
MaxCompute访问VPC网络时,MaxCompute侧仅打通到所填VPC ID的网络连接。如需跨Region访问或者访问该Region的其他VPC,请根据云上VPC现有打通方案,打通专线直连方案中所配置的VPC和其他VPC之间的网络。
适用场景
适用于通过MaxCompute SQL、UDF、Spark、PyODPS/Mars、外部表或基于湖仓一体架构访问阿里云OSS、DLF、OTS(Tablestore)、Hologres等服务的场景,连接使用阿里云内部服务提供的云产品互联网络地址。
操作概述
如果创建OSS或OTS外部表,只能通过OSS、OTS的内网Endpoint访问。
如果调用UDF访问OSS、OTS,只能通过OSS、OTS的公网Endpoint访问。
如果需要通过外部表访问Hologres,仅支持通过经典网络域名进行访问。详情请参见服务地址中的经典网络地址。
适用于跨地域使用VPC访问另一地域的MaxCompute服务。
适用于通过云企业网(CEN)完成跨地域VPC网络互联。
适用范围
MaxCompute仅支持在如下地域通过访问公网或VPC网络方案开通网络连接。
方案类型 | 支持地域 | 支持连通的目标 |
| 公网IP或域名 | |
|
|
免责声明
MaxCompute提供的公网与VPC访问能力目前属于免费服务,存在以下限制:
保障网络连通性,但是对用户代码触发的网络行为,平台可能因为故障切换的原因导致节点重跑,用户需要在代码层面做兼容,建议只做数据读取操作,写操作需要自行防止多次写入可能产生的脏数据。
访问需要经过代理,代理的转发能力有限,建议使用长连接,并控制节点规模,并发过大或连接过多可能导致网络请求失败。
不保障带宽,因此可能存在任务运行缓慢情况,平台不承担相应责任。
经过代理后的出口IP有限,因此出现的连接行为异常,需要与阿里云技术支持确认。
出口IP存在变更的可能性,被访问的服务不应该开启访问控制,对于针对代理出口配置IP白名单的情况,平台不保障出口IP不变。
如果完成MaxCompute的网络连通后,运行MaxCompute任务时仍然出现了无法访问等问题,可能是运行MaxCompute任务的工具存在网络限制。例如,使用DataWorks进行数据同步或数据清洗时,需保障DataWorks的资源组与数据源网络连通,且DataWorks的沙箱白名单没有限制数据源的访问。DataWorks的资源组网络连通与沙箱配置请参见:网络连通方案。
常见问题
并发量过高导致DNS解析失败
问题描述:UDF或Spark任务在运行过程中,产生了大量的并发请求以访问对端域名,导致DNS解析失败。
解决方案:建议您在任务的初始化阶段将域名解析为IP地址,并在执行阶段使用解析得到的IP地址进行访问。详情请参见并发过高导致DNS解析失败。
使用IP访问HTTPS服务
问题描述:Spark或UDF等任务,访问远程VPC服务,比如KMS、OSS等。在此过程中需要使用HTTPS功能,如果直接通过IP来访问对端服务会报错。
解决方案:将域名添加到请求的host中,以解决通过IP直接访问HTTPS服务时所遇到的IP不通过的问题。详情请参见使用IP访问HTTPS服务。