Elastic Beanstalk + Route53 Alias =即时蓝绿交换?

时间:2015-01-26 22:47:03

标签: amazon-web-services amazon-route53 elastic-beanstalk blue-green-deployment

当使用带有CNAME交换的Elastic Beanstalk进行零停机部署时,DNS缓存(不尊重TTL的客户端)会导致某些客户端继续向旧环境发送流量(最多几天)。

当使用带有Route53别名的Elastic Beanstalk进行零停机部署时,DNS缓存仍然存在问题吗?

3 个答案:

答案 0 :(得分:0)

不幸的是,确实如此。现在推荐的方法是使用滚动更新。

答案 1 :(得分:0)

我还没有对此进行过测试,但我认为这就是为什么他们实施了#34;交换环境网址"行动,而不是在路线53中。

Reference

答案 2 :(得分:0)

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.CNAMESwap.html 它说

  

您将新版本部署到单独的环境中,然后交换两个环境的CNAME以立即将流量重定向到新版本。

  

但是,在传播DNS更改并且旧DNS记录过期之前,请勿终止旧环境。 DNS服务器不一定根据您在DNS记录上设置的生存时间(TTL)从其缓存中清除旧记录。

不是冲突吗? 我认为DNS缓存仍然是一个问题。

如果存在旧版本客户端,如何将数据库迁移到新版本。 我想只有当它适用于两个版本时我才能迁移数据库。

我在这里找到了一篇好文章。 http://fbrnc.net/blog/2016/05/green-blue-deployments-with-aws-lambda-and-cloudformation 但它使用Cloud Formation,而不是Elastic Beanstalk。