Elastic Beanstalk滚动更新超时未得到尊重

时间:2014-11-20 15:46:36

标签: amazon-web-services jenkins elastic-beanstalk downtime

我正试图在AWS弹性beanstalk上重新部署零停机时间。

我的环境基本上有两个实例,加上Jenkins for CI(使用Tomcat)。 我想要实现的是每次从Jenkins触发重新部署时,只重新部署了一个环境实例,然后超时以允许新实例加载应用程序然后重新部署第二个实例。

为了实现超时,我设置了"暂停时间"和"命令超时"但不幸的是,如果这个限制没有得到尊重。 第一个实例被重新部署,但大约1分钟后,无论我设置的超时值如何,都会重新部署第二个实例。 有人存档吗?关于如何实现它的任何见解?

1 个答案:

答案 0 :(得分:1)

“暂停时间”涉及对实例进行的环境配置。 “命令超时”涉及为构建环境而执行的命令(例如,如果您customised the container)。既不与滚动应用程序更新或零​​停机部署有任何关系。围绕这些东西的文档令人困惑和分散。

对于零停机应用程序部署,AWS EB为您提供了两个选项:

  1. Batch application updates
  2. Running two environments and cutting over
  3. 选项1感觉工作少得多,但在我的测试中并没有真正的零停机时间。有HARDCODED timeout value where traffic will be routed to instances after 1 minute regardless of whether the load balancer healthcheck passes or not

    但是如果您仍然希望继续运行,那么运行两个实例并将批量大小设置为50%或1应该可以满足您的需求。