首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署时AWS ECS 503服务暂时不可用

部署时AWS ECS 503服务暂时不可用
EN

Stack Overflow用户
提问于 2017-07-05 15:43:40
回答 5查看 28.2K关注 0票数 25

我正在使用EC2容器服务和应用程序负载均衡器作为我的应用程序。当我部署一个新版本时,我得到503服务暂时不可用大约2分钟。它比我的应用程序的启动时间要多一点。这意味着我现在不能进行零停机部署。

在新任务启动时是否有不使用新任务的设置?或者我在这里错过了什么?

更新:

ALB目标群体的健康检查编号如下:

代码语言:javascript
复制
Healthy threshold:     5
Unhealthy threshold:   2
Timeout:               5 seconds
Interval:              30 seconds
Success codes:         200 OK

健康门槛是“在考虑不健康目标健康之前,需要连续进行多少次健康检查”

不健康阈值是“在考虑目标不健康之前所需的连续健康检查失败次数”。

超时是“以秒为单位的时间量,在此期间没有响应意味着健康检查失败。”

Interval是“个体目标健康检查之间的大致时间”。

更新2:所以,我的集群由两个EC2实例组成,但是如果需要的话可以扩展。我每个实例运行一个任务,因为我的应用程序需要一个特定的端口号。在部署之前(jenkins运行aws脚本),我将实例数设置为4个。否则,AWS无法部署我的新任务(这是另一个需要解决的问题)。网络模式就是桥梁。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-07-20 13:04:53

因此,问题似乎在于任务定义中容器设置的端口映射。在我使用80作为主机和8080作为集装箱港口之前。我想我需要使用这些,但是主机端口实际上可以是任何值。如果将其设置为0,则ECS将在32768-61000范围内分配一个端口,因此可以向一个实例添加多个任务。为了使其工作,我还需要更改我的安全组,让流量从ALB到这些端口上的实例。

因此,当ECS能够在同一个实例上运行多个任务时,50/200 min/最大健康百分比是有意义的,并且可以在不需要添加新实例的情况下部署新的任务修订。这也确保了零停机时间的部署。

谢谢大家的提问或评论!

票数 21
EN

Stack Overflow用户

发布于 2017-07-12 16:44:01

既然您正在使用AWS ECS,我可以问一下服务的“最低健康百分比”和“最大健康百分比”是什么?

确保您的“最大健康百分比”为200,“最低健康百分比”为50,这样在部署期间,您的所有服务都不会下降。

请查阅这两个术语的文件定义:

最大百分比提供了部署期间运行任务数量的上限,使您能够定义部署批处理大小。 最低健康百分比为部署期间运行的任务数量提供了一个较低的限制,使您能够在不使用额外群集容量的情况下进行部署。

“最低健康百分比”的限制为50,将确保在部署新版本的容器之前,只杀死一半的服务容器,也就是说,如果服务的期望任务值为"2“,而部署时只有"1”旧版本容器将首先被杀死,新版本部署后,第二个旧容器将被杀死,新版本容器将被部署。这将确保在任何给定的时间都有处理请求的服务。

类似地,“最大健康百分比”的上限为200,这告诉ecs代理,在部署期间的给定时间,该服务的容器最多可以达到所需任务的两倍。

如有任何问题,请通知我。

票数 6
EN

Stack Overflow用户

发布于 2017-07-12 22:15:05

使用您的设置,您的应用程序启动应该需要超过30秒,才能通过2次健康检查,并被标记为不健康(假设第一次检查后,您的应用程序立即关闭)。它将需要至少2分钟,最多3分钟,然后才能再次被标记健康(在最好的情况下,在你的应用程序恢复后立即进行第一次检查,或者在最坏的情况下,在应用程序恢复之前立即进行第一次检查)。

因此,一个快速和肮脏的修正是增加不健康的阈值,这样它就不会在更新期间被标记为不健康。并可降低健康阈值,使其再次被标记为健康更快。

但是如果你真的想达到零停机时间,那么你应该使用你的应用程序的多个实例,并告诉AWS按照Manish Joshi的建议进行部署(这样你的ELB后面总是有足够的健康实例来保持站点的运行)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44930719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档