首页 > 解决方案 > 我想逐渐从 Heroku 迁移到 AWS。如何在 Route 53 中设置“加权路由策略”?

问题描述

这个问题几乎整个周末都在伤害我的大脑。我希望有人会来释放我:-)

我想以渐进的方式将 web 应用程序从 Heroku 移动到 AWS。因此,即我们开始将 10% 的请求路由到 AWS,并及时增加这个数字——当我们的金丝雀测试通过并且一切顺利时。供参考; 该数据库已经移至 AWS,Heroku 也可以通过网络负载均衡器访问该数据库。

该设置还应该能够提供维护页面(从带有云端的 s3 存储桶运行)——在某些极少数情况下——两者的健康检查都失败了。我为此添加了一个额外的别名记录,权重为 0,因为当所有检查都失败时,即使权重设置为 nil,route53 也会始终尝试给出结果。

我们需要的应用程序负载均衡器将所有流量路由到正确的 ECS 容器,还为我们安排了一些重定向(apex 到 www,http 到 https)。

有了所有这些要求,我想出了下图。

像这样

在实施过程中,我遇到了一个我没有解决的问题。

我无法创建特定的 A 记录(权重为 100 的记录),因为它试图将记录集引用为来自另一种类型 (CNAME) 的别名。这在 53 号公路内是不允许的。

问题是它必须是 A 记录,因为当您想利用“加权路由策略”时,所有 dns 记录都应该来自同一类型。

权重为 90 和 10 的记录也应该是 CNAME(也需要来自同一类型),因为我的 Heroku 端点不能使用 A 记录。

任何人都知道如何解决这个问题?我们也许知道更好的方法来做到这一点?

标签: amazon-web-servicesdnsdevopsamazon-route53

解决方案


推荐阅读