通过 AWS Global Accelerator 优化全球网络 - 低延迟分发与故障转移
介绍通过 Anycast IP 将流量引导至 AWS 全球网络,以及通过端点组设计和健康检查实现故障转移的方法。
Global Accelerator 的工作原理及与 CloudFront 的区别
Global Accelerator 是一项通过 AWS 全球网络将用户流量转发到后端的服务。分配 2 个固定 Anycast IP 地址,全球用户连接到最近的 AWS 边缘站点。从那里开始,流量经过的不是公共互联网,而是 AWS 的私有网络,因此可以期待延迟的稳定和丢包的减少。CloudFront 专注于内容缓存和 HTTP/HTTPS 分发,而 Global Accelerator 提供 TCP/UDP 层面的流量优化。在静态内容或 API 响应的缓存有效的情况下适合使用 CloudFront,而游戏服务器和 VoIP 之类的实时通信适合使用 Global Accelerator。
端点组与流量控制
端点组按区域定义,将 ALB、NLB、EC2 实例和 Elastic IP 注册为端点。每个端点组都可以设置流量拨号(0-100%),用来控制区域间的流量分配。例如,可以设置将 70% 的流量分配到东京区域、30% 分配到新加坡区域。区域迁移时,通过逐步调整流量拨号、渐渐增加流向新区域的流量,可以安全地完成迁移。通过端点的权重(0-255),也可以控制同一区域内多个端点之间的流量分配。
健康检查与故障转移
Global Accelerator 持续执行端点健康检查,检测到故障后数秒内将流量路由到正常端点。Route 53 的故障转移依赖 DNS TTL,切换需要数十秒到数分钟,而 Global Accelerator 通过 Anycast 路由的变更即时切换。在多区域配置中,当主区域的所有端点都变为不健康时,流量自动故障转移到辅助区域的端点。固定 IP 地址即使在故障转移后也保持不变,因此无需变更 DNS,客户端也无需重新连接。
Global Accelerator 的定价
Global Accelerator 的费用由固定费用和数据传输量构成。除每个加速器每小时约 0.025 美元(每月约 18 美元)的固定费用外,数据传输还按源区域和目标区域收取按量费用(每 GB 约 0.015-0.035 美元)(截至 2026 年 8 月)。与 CloudFront(无月固定费用,仅收数据传输费)相比,Global Accelerator 因有固定费用,在流量较少时价格偏高。对于 TCP/UDP 的实时通信和游戏服务器等使用 CloudFront 不支持的协议的工作负载,选择 Global Accelerator。
适合的使用场景
Global Accelerator 特别能发挥效果的,是 Web 页面缓存分发以外的用途。适合希望将游戏的实时通信、语音和视频通话、使用自有协议的通信等 HTTP 以外的流量以低延迟送达全球用户的情况。通过从附近的边缘将用户的通信送入 AWS 的高速骨干网,实现比经由互联网更稳定的低延迟。对于需要固定入口 IP 的系统也很适合。在动态通信或需要 TCP 和 UDP 层面优化的工作负载中,其价值尤为突出。
流量的分阶段控制
Global Accelerator 可以精细地控制流向端点的流量比例。借助按区域的端点组调整流量的拨号,以及组内各端点的权重,可以改变流量的分配。利用这一点,可以实现将流量逐步移到新版本的蓝绿式切换,或者有意抑制特定区域负载的运维。出现问题时,也可以把比例调到接近零来将其切离。能够动态控制流量的流向,有助于安全的发布和负载分散。
固定 IP 与客户端 IP 的保留
Global Accelerator 提供始终不变的固定入口 IP。即使更改背后的配置,入口 IP 也保持不变,因此可以稳定地用作登记在防火墙许可列表中的目标地址。由于提供多个入口 IP,冗余性也得到确保。此外,还可以设置将连接用户原本的 IP 地址传递给背后的应用程序,从而进行基于访问来源的控制和日志记录。能够同时实现固定 IP 和用户 IP 的保留,对于需要基于 IP 进行控制的系统来说是一项重要的优势。
与 CloudFront 的区分使用
Global Accelerator 和 CloudFront 都利用 AWS 的全球网络,但目的不同。CloudFront 最适合将图片、页面等可缓存的内容保存在边缘并进行分发。而 Global Accelerator 适合在不缓存的情况下,高速且稳定地中继动态通信和 HTTP 以外的协议。可以这样整理:分发静态内容用 CloudFront,实时性要求高的动态通信或自有协议用 Global Accelerator。将 CloudFront 和 Global Accelerator 结合,按内容的性质区分使用,可以优化整体的分发性能。
总结
Global Accelerator 是利用 AWS 全球网络改善流量延迟和可用性的服务。固定 Anycast IP 提供稳定的入口点,数秒级故障转移和流量拨号实现灵活控制。对于使用非 HTTP 协议的全球应用程序特别有效。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。