MaxCompute联合全球加速服务,为有跨境访问需求的MaxCompute客户提供一套高效稳定的跨境访问加速方案。
背景信息
MaxCompute的大量出海客户,由于开发人员所在地和数据源地域不一致,经常需要进行跨境互访,在使用IDEA/ODPSCMD/SDK进行管控类作业提交、数据下载等请求时,网络抖动比较大,可能会出现被rst、重置连接等问题。
具体场景包括两类:
- office在大陆,但是对应的MaxCompute终端节点在海外,例如需要从杭州访问孟买的终端节点,如果直接使用office的公网进行调用对应的api进行业务创建,直接使用公网链路非常不稳定。
- office在海外,但是对应的MaxCompute终端节点在大陆,例如需要从孟买访问上海的终端节点,也存在类似调用的情况。
例:正常网络情况下,从杭州访问印度(孟买)终端节点,网络连接超时。
解决方案
方案架构
技术原理
本解决方案依赖全球加速服务。
全球加速GA(Global Accelerator)是一款覆盖全球的网络加速服务,全球加速会为每个接入加速区域的地域分配一个加速IP,客户端流量通过加速IP就近从接入点进入阿里云加速网络。进入阿里云加速网络后,全球加速可以智能选择路由并自动完成网络调度,然后把客户端的网络访问请求送达至最佳终端节点,避开公网的拥堵,达到减少时延的效果。具体请参见全球加速官方文档。
实现流程
前提条件
- 已创建MaxCompute项目。
更多创建MaxCompute项目操作,请参见创建MaxCompute项目。
配置全球加速服务
用户可以根据全球加速服务官方文档进行配置。本方案的配置步骤如下:
步骤一:创建全球加速实例
- 登录全球加速管理控制台。
- 在实例列表页面,单击创建加速实例。
- 在购买页面,根据以下信息配置全球加速实例,然后单击立即购买。
- 选择购买全球加速实例的规格。本方案选择小型Ⅱ。
- 选择购买全球加速实例的时长。本方案选择1个月。
具体规格类型及费用请参考全球加速产品定价。
购买成功后,返回至管理控制台。实例创建好,系统会自动分配一个CNAME用于解析要加速的后端服务的域名,请记录下此CNAME用于后续域名解析时使用。
步骤二:购买并绑定基础带宽包
基础带宽包提供了覆盖全球的公网接入带宽和阿里云内网传输带宽。实现全球加速您需要购买基础带宽包并将基础带宽包绑定到全球加速实例。
- 在实例列表页面,单击购买基础带宽包。
- 在购买页面,配置基础带宽包,然后单击立即购买完成支付。
具体规格类型及费用请参考全球加速产品定价。
⚠️注意:提升海外区域到中国内地的网络访问质量,必须先提交跨境产品使用申请,否则无法配置访问国外地域加速。
本方案选择 增强加速带宽,20Mb。
- 返回实例列表页面,单击已创建的全球加速实例ID,单击带宽包管理页签,在基础带宽包区域,找到目标基础带宽包,单击操作列下的绑定。
绑定成功后,基础带宽包的状态变成 可用。
步骤三:添加加速区域
在购买基础带宽包后,您便可以添加加速区域,指定访问后端服务的用户的所在地域并分配加速带宽。
完成以下操作,添加加速区域。
- 在实例列表页面,找到已创建的全球加速实例,单击实例ID。
- 单击加速区域页签,添加接入地域。
- 在添加加速区域对话框,根据以下信息进行配置。
- 地域:选择访问加速服务用户的所属地域。本方案选择中国(杭州)。
- 带宽:选择加速服务的地域带宽。本方案输入20 Mbps。
- IP地址协议:选择用户接入全球加速服务的IP地址协议。本方案选择IPv4。
- 单击确定。添加成功后,全球加速会在接入地域分配一个加速IP,用来加速用户访问。
步骤四:配置监听
监听负责检查连接请求。系统会根据您指定的端口和协议转发来自客户端的入站连接。
- 在实例详情页面,单击监听页签,然后单击添加监听。
- 在配置监听和协议配置向导页面,根据以下信息配置监听。
- 监听名称:输入监听的名称。
- 协议:选择监听的协议类型,客户可根据业务场景选择。本方案选择TCP。
- 端口:本方案输入80。
- 客户端亲和性:本方案选择关闭。
更多信息参考监听概述。
- 单击下一步配置终端节点组。
- 访问控制:可以基于白名单/黑名单的形式进行配置不同的策略,对客户端请求进行精确控制,管理请求转发。
说明 目前,保持访问控制白名单开放,如需使用请提交工单。
步骤五:设置终端节点组
每个监听都关联一个终端节点组,通过指定要分发流量的地域,将终端节点组与监听关联。关联后,全球加速会将流量分配到与监听关联的终端节点组内的最佳终端节点。
完成以下操作,设置终端节点组。
- 在节点组名称区域输入节点组名称。
- 选择终端节点组所属的地域,即请求要访问的目标服务器的所属地域。本方案选择 印度。
- 选择后端服务部署在阿里云还是非阿里云。本方案选择 非阿里云。
- 选择开启或关闭保持客户端源IP,本方案选择开启保持客户端源IP。
- 配置终端节点。
- 后端服务类型:选择自定义域名。
- 后端服务:输入要加速的MaxCompute地域外网Endpoint。本方案输入 service.ap-south-1.maxcompute.aliyun.com
- 权重:输入终端节点的权重,权重取值范围:0~255。全球加速根据您配置的权重按比例将流量路由到终端节点。
注意 如果某个终端节点的权重设置为0,全球加速将终止向该终端节点分发流量,请您谨慎操作。
- 单击下一步查看监听和终端节点组配置,确认无误后,再单击下一步。
本地绑定host
添加全球加速的配置后,在实例信息-加速区域tag下,找到加速IP。
之后,您必须通过本地绑定host方式,将对应域名解析到全球加速分配的CNAME,使业务流量切换至全球加速。
host添加示例:
1XX.XX.X.XX6(加速IP) service.ap-south-1.maxcompute.aliyun.com(后端服务域名)
延时测试
- 在接入地域(本方案为中国杭州)的电脑中打开命令行窗口。
- 执行以下命令,查看数据包延迟情况。
curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "http[s]://[:<端口>]"
其中:
- time_connect:连接时间,从开始到建立TCP连接完成所用的时间。
- time_starttransfer:开始传输时间。在客户端发出请求后,到后端服务器响应第一个字节所用的时间。
- time_total:连接总时间。客户端发出请求后,到后端服务器响应会话所用的时间。
- 经测试,使用全球加速后,明显降低了中国杭州用户访问印度(孟买)endpoint的延迟。
使用MaxCompute
配置完成后,可以进入MaxCompute客户端或Web-Console按源方式连接至MaxCompute数据源。此时,MaxCompute已成功实现高效稳定地跨境访问。
安全防护相关问题
为了有效防御DDoS攻击,本方案可以通过与DDOS高防产品组合使用,利用DDOS高防产品有效防御DDOS攻击,详细信息可以参考:跨地域Web安全加速 中的DDOS配置部分内容。
更多关于大数据计算、云数仓技术交流,欢迎扫码加入 “MaxCompute开发者社区” 钉钉群