AWS 跨region加速方案

669 阅读2分钟

跨区域加速方案

我在工作中遇到了一个场景:公司在AWS美国部署了服务器并运转良好,现在公司的客户在东南亚越来越多,结合成本和性能,我们是否可以借助AWS的其他服务来继续使用AWS美国的服务器在可接受的时延范围内服务东南亚客户,取得性能,成本和运营效率的平衡?

下面是典型的3种解决方案

  1. 多区域部署

    • 性能最好
    • 多一个区域的部署成本
    • 价格可能最高
    • 直接用最近的region服务当地客户
  2. CloudFront

    • 性能不错
    • 价格相对便宜,可能最低
    • 利用AWS跨洋光纤进行数据传输
    • 静态资源可以使用CDN缓存
    • 动态API:Cloudfront与原始服务器保持永久连接 能减少HTTPS TLS握手开销,这个特点在跨洋HTTPS场景下能提升很大的理论性能
      • GET请求可以看情况使用缓存并AWS跨洋光纤
      • POST请求可以利用AWS跨洋光纤
  3. Global Accelerator

    • 性能不错
    • 价格相对便宜
    • 利用AWS跨洋光纤进行数据传输
    • 任播静态IP地址从最靠近终端客户端的边缘站点中接受流量
      • 能优化通向您在 AWS 区域中运行的应用程序的路径
      • 根据终端客户端的地理位置选择最佳 AWS 区域
      • 减少首字节延迟并将性能提升高达60%
      • 更好的跨洋网络带宽和稳定性

Global Accelerator和CloudFront的加速原理基本一样,但是有如下的区别:

  • AWS Global Accelerator 和 Amazon CloudFront 是相互独立的服务,都使用 AWS 全球网络及其遍布世界各地的边缘站点
  • CloudFront 能提高可缓存内容(如图像和视频)和动态内容(如 API 加速和动态站点交付)的性能。Global Accelerator 可通过在一个或多个 AWS 区域中运行的应用程序的边缘为数据包提供代理,提高 TCP 或 UDP 上的各种应用程序的性能
  • GA支持L4/L7,cloudfront只支持L7;Global Accelerator 非常适合非 HTTP 使用案例

测试结果

耗时对比表

方案新加坡马来西亚泰国印度尼西亚
ALB0.6400.7030.5940.565
Cloudfront0.5670.5580.5830.532
Global Accelerator0.4480.4760.5620.503