AWS Global Accelerator 全球加速器
2019/01/24 Chenxin
参考资料
https://docs.aws.amazon.com/zh_cn/global-accelerator/latest/dg/what-is-global-accelerator.html
https://amazonaws-china.com/cn/blogs/china/new-aws-global-accelerator-for-availability-and-performance/
功能 - https://aws.amazon.com/cn/global-accelerator/features/
常见问题 https://aws.amazon.com/cn/global-accelerator/faqs/
云全球服务基础设施区域列表 https://aws.amazon.com/cn/about-aws/global-infrastructure/regional-product-services/
AGA for Availability and Performance https://aws.amazon.com/tw/blogs/aws/new-aws-global-accelerator-for-availability-and-performance/
初步介绍
该服务为AWS在2019年初新服务.
典型应用场景
全球分布式服务部署,各地通过1个加速器,自动分配命中到当地的服务终端.客户端通过当地的AWS POP点连接当地的服务终端.
从POP点,到自己的服务终端的网络,是经过AWS优化过的.
网络图形类似
核心为Global Accelerator调度,内层为AWS骨干网.
中间层为我们自建的服务所在的各个region.
外层为AWS在各个国家和地区的自有POP点.
客户端通过POP点接入AWS.通过Global Accelerator分配的2个静态IP(任播IP)(分别为主备),连接我们的自建服务.
任播IP,类似多个服务器多个地址,共用1个IP的概念.
具有一部分防DDOS的功能.
拓展了ELB(ALB)负载均衡器的功能.ELB只能在一个region内创建.而加速器可以配合ELB,达到全球部署,跟进地理位置进行访问的目的.
AWS Global Accelerator 简介
创建
控制台创建比较简单,按步骤就可以.
添加加速器 ->
添加侦听器(端口,TCP,保留IP) ->
添加终端节点组(服务所在region,处理请求权重) ->
添加终端节点(NLB/EIP,资源ID,权重)
原理
AWS 通过AnyCast IP(任播)方式,实现的一种类似阿里云的高速通道的网络服务.叫做全球加速器.
申请Global Accelerator会分配2个EIP(就是AnyCast IP).客户端通过AnyCast IP来将客户端请求路由到最近的一个AWS POP点,再走aws骨干,到达服务提供者.
流量通过边缘站点(很多个POP点协调一起计算得出)公布的两个 Anycast IP 地址,从我们的客户端发送到最近的边缘站点。我们的请求通过 AWS 全球网络路由到 Accelerator,而 Accelerator 选择最近的运行状况良好的终端节点组。
AWS Global Accelerator 支持 TCP 和 UDP 两个协议,对目标终端节点进行运行状况检查,并将流量从运行状况不佳的应用程序中路由选择分离出来。
静态 Anycast IP.Global Accelerator 使用静态 IP 作为进入到您托管服务的固定入口点。
这些 IP 地址是来自 AWS 边缘站点的 Anycast,这意味着这些 IP 地址是从多个 AWS 边缘站点宣布的,进而使流量能够以尽可能接近您用户的方式进入 AWS 骨干。
举例
假设有5个gateway服务,分别位于不同的大洲.开放端口为9989.放置在Global Accelerator的一个业务组内.
越南玩家通过某种方式获取到gateway的AnyCast IP.
越南玩家访问该AnyCast IP.访问请求到达越南当地路由器,该路由器查看为AnyCast IP,则使用AnyCast IP对应的条目(AnyCast IP的BGP路由条目里有多个目的IP)选择最优的一个IP,然后将流量发给越南当地的AWS POP节点,该节点再将流量通过AWS骨干网转发到位于北美的1个gateway服务器上(或者是ELB上).
gateway获取请求并响应,再原路返回响应信息(因为配置的Global Accelerator的组里,节点流量选择的是保留源IP方式).
其实战斗服也可以使用加速器.分别给每个战斗服创建1个加速器就可以了.
问题
GlobalAccelerator只在俄勒冈提供是吧?
目前 AWS Global Accelerator 支持的终端节点区域为亚太区域(新加坡)、亚太区域(东京)、欧洲(爱尔兰)、欧洲(法兰克福)、美国东部(弗吉尼亚北部)、美国东部(俄亥俄州)、美国西部(俄勒冈)、美国西部(加利福尼亚北部),虽然在创建加速器时页面会显示在美国西部(俄勒冈),但访问时会从最靠近终端用户的边缘站点获取流量经过 AWS 全球网络来到达您的资源
假设我们的越南用户连接这2个aws骨干IP的时候,后端对应的服务器在新加坡.那么越南用户的流量是走的aws优化好的路由(aws内部路由),还是也从公网走的路由到新加坡服务器?
取决于越南当地是否有aws POP点.由于 AWS Global Accelerator 具有任播静态 IP 地址的特性,能让用户有较好的网络体验,因此不会发生如您所述在越南的用户先走公网络由再连接到新加坡服务器的情形。
AWS Global Accelerator 与 Amazon CloudFront 有何不同?
CloudFront 可用作您的源的 HTTP 缓存和 HTTP 代理。它在 DNS 名称后面使用一组不断变化的 IP 地址。AWS Global Accelerator 可以通过 TCP 或 UDP 运行各种不同的应用程序,通过静态 IP 地址跨全球多个终端节点分配流量。
收费,1个加速器无流量访问的情况下,大约每月18美元
BGP AnyCast IP
ip anycast(ip任播) 本身就是多个主机使用同一个IP地址(该地址即这一组主机的共享单播地址)的一种技术,当发送方发送报文给这个共享单播地址时,报文会根据路由协议路由到这一组主机中离发送方最近的一台.
也就是说,客户端拿到这个anycast IP后,访问它.而这个anycast IP事前已经广播到这个路由器,这个IP后端的多个组记录(1组IP)也一并广播到各个路由器.路由器根据离自己最近的组里的一个IP进行路由.达到就进访问的目的.
具备防DDoS的功能 边缘富有弹性
默认情况下,AWS Global Accelerator 受 AWS Shield Standard 保护,后者通过使用始终可用的网络流量监控和自动化内联在线最大限度减少应用程序停机时间和拒绝服务供给的延迟。您还可以启用 AWS Shield Advanced 来自动进行资源特定的增强监测和缓解,并能够获得 AWS DDoS 响应团队 (DRT) 的全天候服务,以手动缓解复杂的 DoS 攻击。同时,AWS Shield Advanced 还能让您全面了解 DDoS 攻击及适用于扩展的 DDoS 费用保护。这将确保在边缘站点为您的应用程序提供可扩展、可靠且经济高效的 DDoS 保护。