AWS中国和海外网络加速方案
*文档说明:客户常有各种⽹络加速的需求,⽐如⽤户应⽤系统部署在海外,为了中国客户的良好体验需要加速中国⽤户访问应⽤的速度等。⾯对这类多对⼀的⽹络加速⽅案,本⽂章⾸先分析了中国⽹络现状,然后根据每个⽤户场景分别写了适⽤的解决⽅案,应对客户的加速场景进⾏分析并结合最后的总结部分告知适合的⽅案。
注:此篇⽂章仅适⽤于多对⼀的⽹络加速场景,如果客户有加速中国和海外区的数据传输的需求,请参考另⼀篇⽂章“AWS中国和海外传输⽅案”。
场景
1.应⽤部署在AWS global,加速中国⽤户的访问
a.不想备案(IP地址在海外)
b.需要备案 (IP地址在国内)
2.应⽤部署在AWS China,加速国外⽤户的访问
中国网络现状
1.网络资源
a.在中国,所有的基础⽹络设施(包括Internet接⼊和专线接⼊)均由四⼤基础电信企业提供;
b.四⼤基础电信企业分别为中国移动、中国联通、中国电信、中国⼴电,均为⼤型国有企业,受⼯信部统⼀管理。
c.根据《⼯业和信息化部关于清理规范互联⽹⽹络接⼊服务市场的通知》规定,跨境专线只能由基础电信企业(主要为移动、联通、电信)提 供,并且需要向电信主管部⻔报备。
2.跨境VPN
a.合规性:根据《⼯业和信息化部关于清理规范互联⽹⽹络接⼊服务市场的通知》规定, 未经电信主管部⻔批准,不得⾃⾏建⽴或租⽤专线(含虚拟专⽤⽹络VPN)等其他信道开展跨境经营活动。跨境专线和VPN只能由基础电信企业(主要为移动、联通、电信)提供,并且需要经过电信主管部⻔批准。
3.ICP备案
a.ICP备案:中国电信管理机构要求,适⽤于⾮经营性互联⽹信息服务。(普遍业务)
b.ICP许可证:中国电信管理机构要求,适⽤于经营性互联⽹信息服务。(电商类业务或其它涉及⽀付的业务)
c.备案要求:提供主办单位和⽹站负责⼈的基本情况、IP地址、⽹站⽹址(中国域名注册商注册的域名)和服务项⽬。
d.AWS协助:AWS中国地区的运营⽅光环新⽹和⻄云数据负责为托管在AWS中国区域的内容提供⽀持和验证 ICP 备案和ICP许可证的服务。
客户需求⼀:应用部署在AWS global,加速中国用户的访问(不想备案)
方案⼀:CN2 IP
架构搭建:
购买海外中国电信CN2 IP,将Global Region的NLB IP通知到海外中国电信,中国电信做两个IP间的转发;建⽴VPN连接从中国电信CN2机房到Global Region;(⽬前中国电信的海外机房基本覆盖AWS 海外Region )在Global Region的Route 53上设置基于地理位置的规则,将中国IP的访问请求解析到CN2 IP。数据流:
中国⽤户访问海外域名(如www.example.com),经Geo Policy解析到CN2 IP;海外CN2机房做NAT,将请求转发到Global Region的NLB。请求从⽤户端到海外中国电信机房利⽤中国电信⽹络优化访问路径,加速访问。可⽤性:
VPN连接提供了两条隧道。若⽤户希望增加额外的可⽤性,可以购买多个CN2IP及多台防⽕墙设备。海外中国电信机房接收到来⾃中国⽤户的请求后,会做NAT, Global Region接收的请求源IP会被替换,看不到⽤户源IP。如果希望进⼀步加速中国电信海外机房与AWS Region之间的访问速度,IPSec VPN可以换成Direct Connect,成本会相应上升。方案⼆:海外CDN
架构搭建:
购买海外CDN⼚商的CDN服务(CloudFront),包含对中国区⽤户的访问加速。(这⾥需要理解使⽤海外CDN是因为客户不想备案)在Global Region的Route 53上设置域名解析到海外部署的CDN分发域名。数据流:
中国⽤户访问海外域名(如www.example.cn ),经Route 53解析到海外CDN;CDN⼚商通过⾃⼰的定期探测机制决定针对特定⽤户区域延迟最低的POP点,并将POP点IP返回给该区域的⽤户。CDN⼚商提供优化不同区域⽤户访问延迟的能⼒。(提供类似优化能⼒的CDN合作伙伴有⽹宿、知道创宇等)可⽤性:
1. 若⽤户使⽤CloudFront服务,CloudFront服务本身是⾼可⽤的。
客户需求⼆:应用部署在AWS global,加速中国用户的访问(需要备案)
⽅案⼀:Direct Connect + 专线
架构搭建:
1. 购买中国域名(如http://example.cn)并做ICP备案;
2. 在北京/宁夏 Region部署EC2代理集群,转发请求到Global Region的NLB;
3. 建⽴Direct Connect连接,购买运营商(常⽤合作伙伴:中国移动,中国联通,中国电信)专线,从北京/宁夏 Region到Global Region加速访问。
数据流:
中国⽤户访问中国域名(如www.example.cn ),解析到中国的CloudFront(例如访问www.example.cn , CNAME解析到CloudFront提供的域名);
请求回源到北京/宁夏 Region的NLB,流量负载均衡到EC2代理服务器,之后将请求转发到Global Region的资源。
转发的请求通过专线进⾏加速,提⾼访问速度和稳定性。
可用性:
购买专线后,运营商会为⽤户提供两条DirectConnect连接路径,以避免由于单条线路故障造成的服务不可⽤,从⽽提⾼服务可⽤性。
方案⼆:Direct Connect + 专线 + Direct Connect Gateway
架构搭建:
购买中国域名(如http://example.cn)并做ICP备案;在北京/宁夏 Region部署EC2代理集群,将请求转发到Global Region的NLB;购买运营商(常⽤合作伙伴:中国移动,中国联通,中国电信)专线,建⽴北京/宁夏 Region到⾹港POP点的DirectConnect连接;创建Direct Connect Gateway,将其他region的VPC连接到DirectConnectGateway。数据流:
中国⽤户访问中国域名(如www.example.cn ),解析到中国的CloudFront(例如访问www.example.cn , CNAME解析到CloudFront提供的域名);请求回源到北京/宁夏 Region的NLB,流量负载均衡到EC2代理服务器,之后将请求转发到Global Region的资源。请求从北京/宁夏 Region到⾹港POP点通过专线进⾏加速,从⾹港POP点到Global Region通过AWS⻣⼲⽹实现加速。可用性:
购买专线后,运营商会为⽤户提供两条DirectConnect连接路径,以避免由于单条线路故障造成的服务不可⽤,从⽽提⾼服务可⽤性。由于Direct Connect Gateway是由虚拟专⽤⽹关(VGW)和私有虚拟接⼝(VIF)组成的,只能连接到VPC内的资源,所以Direct Connect Gateway的加速⽅案不能⽤于Global区的S3,需要通过同⼀Region的EC2代理做中转来访问S3。⽅案三:国内CDN
架构搭建:
购买中国域名(如example.cn ),并做ICP备案购买国内CDN服务CloudFront,将备过案的⼀个⼦域名(如http://china.example.cn)指向CloudFront(因为CloudFront的域名不能直接拿来备案);3:将备过案的另⼀个⼦域名(如http://source.example.cn)作为CloudFront的源(因为规定CDN的源也必须备过案);
4:将上述CloudFront的源(也就是域名http://source.example.cn)指向海外的应⽤服务器。
数据流:
中国⽤户访问中国域名(如china.example.cn ),解析到国内CloudFront;国内CloudFront将流量解析到源,也就是备案过的第⼆个⼦域名(http://source.example.cn);备过案的第⼆个⼦域名将流量解析到海外应⽤的服务器;国内CloudFront通过⾃⼰的定期探测机制决定针对特定⽤户区域延迟最低的POP点。可用性:
CloudFront服务本身是⾼可⽤的。
客户需求三:应⽤部署在AWS China,加速国外⽤户的访问
方案:海外CDN
架构搭建:
购买海外CDN服务CloudFront,包含对国外⽤户的访问加速。在Global Region的Route 53上设置域名解析到海外部署的CDN分发域名。数据流:
国外⽤户访问中国域名(如www.example.com ),经Route 53解析到海外CDN;CDN⼚商通过⾃⼰的定期探测机制决定针对特定⽤户区域延迟最低的POP点,并将POP点IP返回给该区域的⽤户。CDN⼚商提供优化不同区域⽤户访问延迟的能⼒。(提供类似优化能⼒的CDN合作伙伴有⽹宿、知道创宇等)可用性:
1. 若⽤户使⽤CloudFront服务,CloudFront服务本身是⾼可⽤的。
方案总结
对外业务,在中国需要备案:
Direct Connect⽅案:专线直连,成本最⾼,加速效果最好,稳定性最好
Direct Connect Gateway⽅案:运营商提供成熟的专线接⼊⾹港POP⽅案,相对节约成本,建设周期短
对外业务,在中国不需要备案:
CN2 IP:由中国电信提供,做运营商级优化,⽆需备案,加速效果好,稳定性好
海外CDN:使⽤CloudFront海外节点或海外CDN Partner,解析请求到延迟最低的CDN节点.
本文系作者 @河马 原创发布在河马博客站点。未经许可,禁止转载。
暂无评论数据