为啥AWS弹性beantalk滚动版本更新仍然有503s的2分钟停机时间?

Posted

技术标签:

【中文标题】为啥AWS弹性beantalk滚动版本更新仍然有503s的2分钟停机时间?【英文标题】:Why do AWS elastic beanstalk rolling version updates still have a 2min downtime with 503s?为什么AWS弹性beantalk滚动版本更新仍然有503s的2分钟停机时间? 【发布时间】:2015-01-17 23:50:09 【问题描述】:

我们正在向具有两个实例的弹性 beanstalk 设置部署战争。

我将批量大小设置为 1 固定,命令超时设置为 15m。

我希望实例从 ELB 中删除、更新、添加回来,然后当它返回到 InService 时,beantalk 应该为下一个实例重复该过程。相反,我最终会在几分钟内获得零个健康实例。

没有其他超时或我可以设置的任何内容,所以我想知道我们的缓慢应用启动(1 分 30 秒)是否会导致硬编码超时问题?

任何指针将不胜感激。

【问题讨论】:

【参考方案1】:

事实证明,旧的 EB 部署可能只是一个错误,无法使用新的滚动版本更新功能。重建节点后,滚动版本更新开始完美运行,无需停机。

【讨论】:

【参考方案2】:

这是一个老问题,但无论如何。

不幸的是,Elastic Beanstalk 上的“滚动更新”仅适用于配置更改,而不适用于亚马逊在此线程上的评论中的代码部署。 https://forums.aws.amazon.com/thread.jspa?messageID=502158

此处详细介绍了替代部署策略: http://www.hudku.com/blog/demystified-zero-downtime-with-amazon/

有机会通过在负载均衡器中添加/删除 EC2 实例来改进 AWS 部署,但这不属于 Elastic Beanstalk 功能。相反,建议交换 CNAME 记录,这样可以在旧实例上留下有意义的流量。

【讨论】:

以上是关于为啥AWS弹性beantalk滚动版本更新仍然有503s的2分钟停机时间?的主要内容,如果未能解决你的问题,请参考以下文章

.Net 5 AWS nginx Linux弹性beantalk改变client_max_body_size

AWS弹性beantalk上的预定http调用

如何在自动缩放的弹性 beantalk 实例中更新文件

如何将 wordpress 博客迁移到 AWS 弹性 beantalk

aws 弹性负载均衡器可以将端口 443 转发到端口 443 以获取弹性 beantalk 实例吗?

AWS 弹性 beantalk - 无法启动环境