通过 AWS Global Accelerator 优化全球网络 - 低延迟分发与故障转移

介绍通过 Anycast IP 将流量引导至 AWS 全球网络,以及通过端点组设计和健康检查实现故障转移的方法。

Global Accelerator 的工作原理及与 CloudFront 的区别

Global Accelerator 是一项通过 AWS 全球网络将用户流量转发到后端的服务。分配 2 个固定 Anycast IP 地址,全球用户连接到最近的 AWS 边缘站点。之后通过 AWS 私有网络而非公共互联网传输,实现延迟的稳定性和丢包率的降低。与 CloudFront 的区别在于,CloudFront 在边缘缓存内容(适合 HTTP/HTTPS),而 Global Accelerator 不缓存,将 TCP/UDP 流量直接转发到后端(适合游戏、IoT、VoIP 等非 HTTP 协议)。

端点组与流量控制

端点组按区域定义,将 ALB、NLB、EC2 实例和 Elastic IP 注册为端点。每个端点组可设置流量拨号(0-100%),控制区域间的流量分配。例如,可设置将 70% 流量分配到东京区域、30% 分配到新加坡区域。区域迁移时可逐步调整流量拨号实现平滑切换。客户端亲和性设置可将同一客户端的请求路由到同一端点,维持会话一致性。

健康检查与故障转移

Global Accelerator 持续执行端点健康检查,检测到故障后数秒内将流量路由到正常端点。Route 53 的故障转移依赖 DNS TTL,切换需要数十秒到数分钟,而 Global Accelerator 通过 Anycast 路由变更实现即时切换。多区域配置中,当一个区域的所有端点不健康时,流量自动转移到其他区域的端点组,无需 DNS 变更即可实现跨区域故障转移。

Global Accelerator 的定价

Global Accelerator 的费用由固定费用和数据传输量构成。每个加速器约 0.025 美元/小时(月费约 18 美元)的固定费用,加上根据源和目标区域的按量数据传输费(每 GB 约 0.015-0.035 美元)。与 CloudFront(无月固定费,仅数据传输)相比,Global Accelerator 有固定成本,但对于需要低延迟和高可用性的非 HTTP 工作负载,其价值超过成本。

总结

Global Accelerator 是利用 AWS 全球网络改善流量延迟和可用性的服务。固定 Anycast IP 提供稳定的入口点,数秒级故障转移和流量拨号实现灵活控制。对于使用非 HTTP 协议的全球应用程序特别有效。