使用Global Accelerator加速全球服务

本文介绍了如何使用Global Accelerator(以下简称GA)产品对全球服务进行加速。

一、技术原理

典型的场景是,在海外新加坡区域部署有海外员工的SSL VPN接入点,所有海外员工都使用当地的国际互联网,连接到新加坡的AWS EC2虚拟机。然后通过这个SSL VPN接入点,走企业统一的跨境专线将流量送回国。这个过程,是一个“八仙过海”的过程。全球各地的员工将受制于当地的互联网接入能力,网络速度、延迟、丢包等质量参差不齐,对于跨太平洋、跨欧亚大陆等很不友好。

使用Global Accelerator(以下简称GA)产品可以显著改善。GA产品将通过Anycast方式,在全球提供统一接入IP,企业的海外员工将可以就近连接到距离当地最近的AWS区域,并借助AWS自有海底光缆,使用高速通道完成全球范围的数据流汇聚,将用户访问信息送回到一个统一的处理入口(例如新加坡EC2),然后再从此EC2经跨境专线回国。使用GA,将全球各地用户的接入距离,从当地距离AWS新加坡区域的1万多公里(北美到新加坡)缩短到几百到1千公里左右(就地接入),显著提升了网络接入速度、延迟等核心指标,带给用户更好的体验。

二、配置

首先进入AWS控制台,从服务清单中,找到Global Accelerator(在网络分类下)。如下截图。

在向导的第一步,输入创建GA加速器的名称。例如输入endusersslvpn的名字。如下截图。

在向导第二步,输入要加速的协议和端口。如果有多个端口,需要添加多条数据。例如,这里分别添加了TCP 80、TCP 443、TCP 4009和UDP 4009共4个端口。其中,页面提示信息说UDP协议不支持健康检查,可忽略这个提示,点击下一步继续。如下截图。

向导的第三步,选择每个端口映射的区域,例如本测试中,所在源是新加坡区域,因此在配置界面上,将所有region都设置为ap-southeast-1 。如下截图。

向导的第四步,是设置每个端口加速的源。首先找到第一个端口80端口,点击Add Endpoint后,页面上会出现一行新的条目,在Endpoint Type终端服务类型中,展开下拉框中选择EC2。如下截图。

继续对后续两个端口设置区域。如下截图。

接下来Endpoint位置会加载出来本区域的EC2实例清单。从总选择搭建SSL VPN服务的EC2。边上权重选项默认是128,不需要调整此数字。如下截图。

80端口设置完毕。如法炮制,将所有要加速的端口都按照这个过程设置。

最后点击页面最下方右侧Create Accelerator完成设置。

三、访问Global Accelerator

1、查看地址

创建GA完毕后,回到GA清单界面,可以看到刚才创建的加速器,状态是处于“创建中”,并且此时已经具有了Anycast IP地址:75.2.11.149和99.83.152.20。稍后在服务正常化之后,就可以使用这两个IP地址访问。如下截图。

在等待几分钟后,配置正常,且健康检查状态也会正常。如下列表中,UDP协议是不支持健康检查的,因此UDP显示为健康是依赖相同端口数字的TCP端口状态的。例如在本例,同时开放TCP 4009和UDP 4009端口。只要TCp4009 端口健康,UDP就也会显示为健康。如下截图。

服务都是健康时候,现在就可以使用75.2.11.149和99.83.152.20这两个全球统一IP,在全球任何地点发起访问了。用户的访问将自动获得加速,用户将被定向到最近的AWS区域,然后通过AWS自有海底光缆回传到集中的AWS区域(本例是新加坡)。

2、测试访问

对GA网络测试需要在全球用户所在的各地真实环境进行。本次发布的环境位于是部署在新加坡区域的EC2,那么如果不使用Global Accelerator,从全球各地ping这个EC2入口,ping值都将高达上百甚至200ms以上。使用GA后,在全球各地,对GA发布的两个全球IP进行ping操作,延迟都应该非常低,在1~20ms数量级,就代表用户已经就近访问到AWS让区域进行加速了。

为了测试这个场景,我们从北美发起测试,ping GA全球发布的IP(可增加域名,解析到全球发布IP),ping结果如下截图。

从以上截图可以看到,ping值在5毫秒左右,表示所在区域发起的访问已经就近接入到AWS区域,然后通过AWS骨干网返回源站所在的新加坡节点了。这也就表示加速成功。

3、设置域名别名

使用IP访问可能存在不方便,例如后续重新调整和发布加速器,IP地址可能会改变,这里将不利于长期使用。因此推荐使用Route53服务,增加新的A记录,将域名解析为IP。域名解析工作也可以使用非AWS平台的解析服务器。

本文档以AWS Route53为例,且已经有一个存在的zone,进入zone后,点击创建新的记录,选择A记录。输入新的域名解析,将TTL选择为60秒,然后在解析值的输入框中,填写两个加速IP,每行填写一个,直接换行即可,不需要输入任何标点。

添加完成。现在就可以使用了这个新建的A记录在全球进行访问了,且获得加速的效果。

四、价格信息

价格信息请参考官网这里

这里简单测算如下:

1、加速器端口费用

一个加速器(可发布多个端口)每小时0.025USD,全年费用,费用大约:0.025 * 24 * 30 * 7 * 12 = 1512 RMB 一年

2、流量费用

假设一个月传输10TB流量,其中80%是从源站发送给客户端的,20%是客户端发送给源站的。AWS只对“流出方向收费”,也就是80%方向收费,20%流量是从互联网流入不收费。

80%的源站到客户端的流出流量,折合8TB,分布在亚洲非源站所在新加坡的其他国家(40%)、欧洲国家(20%)、北美(40%),那么费用测算如下:

  • 亚太费用:0.010USD * (8000GB * 40%) * 7 = 224 RMB
  • 欧洲费用:0.043USD * (8000GB * 20%) * 7 = 481.6 RMB
  • 北美费用:0.012USD * (8000GB * 40%) * 7 = 268.8 RMB
  • 合计每月:974.4 RMB
  • 合计1年:11692.8 RMB

由此可以看出,在每月经过VPN流经10TB流量、全年120TB流量情况下,前看费用在12000RMB左右。因此,如果流量VPN只有几个TB,那么只需要一半甚至更少的成本,在不到几千元成本即可享受全球加速服务。

注:请注意:亚洲区域的韩国、印度价格额外计费。请参考AWS官网价格页面。

全文完。