代码之家  ›  专栏  ›  技术社区  ›  David Lin

AWS Route 53到两个cloudfront分布的加权路由

  •  1
  • David Lin  · 技术社区  · 7 年前

    我有一个Javascript托管在S3 bucket上,带有静态网站+Cloudfront发行版+Route 53设置。我需要Cloudfront,因为我需要支持SSL的自定义域。这个很好用。例如,可以在以下位置访问脚本: https://app.example.org/myscript.js

    53号公路的设置如下:

    app.example.org => Cloudfont Distribution (s3://app.example.org)
    

    我想要的是:

    我想为新功能设置一个暂存环境。我想直接10%的生产要求到另一个版本的脚本。

    我试过的

    我试过用静态webiste+cloudfront设置另一个S3 bucket,使用不同的可选域名(例如app)-beta.example.org网站).

    我需要使用一个不同的备选子域,因为Cloudfront不允许在多个发行版中使用相同的备选域名。

    在53号公路上,我设置了如下alias A记录:

    app-beta.example.org => Alias Cloudfont Distribution (s3://app-beta.example.org) app.example.org => Alias app-beta.example.org (weighted 10) app.example.org => Alias Cloudfont Distribution (s3://app.example.org) (weighted 100)

    结果这行不通:

    因为请求的域是相同的 app.example.org app.example.org => Alias app-beta.example.org .

    我认为在这里,路由53确实尝试根据权重规则将流量路由到cloudfront,但最终当请求到达cloudfront时,cloudfront尊重“可选域名”,并使用带有(app.example.org网站)不管怎样。

    不使用cloudfront怎么样?

    我曾经考虑过使用EC2或EBS作为nginx服务器来提供静态javascript文件。这可能有用。但是:

    • 这意味着需要额外的资源和成本来管理。

    技术上λ@边如果便宜的话,这是一个完美的解决方案。是的,它已经很便宜了(每个请求0.0000006美元),但在我们的情况下,我们将支付超过10000美元。(每月请求脚本的次数超过100亿次,设置需要2个lambda函数)

    问题

    0 回复  |  直到 7 年前