弹性beanstalk部署时间超过超时时间,如何增加超时时间

时间:2014-08-28 20:56:53

标签: amazon-web-services elastic-beanstalk

使用AWS网站为应用程序部署新环境的弹性beanstalk警告

Create environment operation is complete, but with command timeouts. Try increasing the timeout period

虽然它最终显示环境为绿色,试图连接到网址只是给出

Service Temporarily Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. 

该应用程序的早期版本工作正常,但在ebextensions中它必须从s3复制一个大文件然后解压缩它,这需要相当长的时间。该应用程序的早期版本只需复制一个3GB的文件,但新版本必须复制一个6GB的文件,因为我看不到其他错误我猜测这会导致超时并阻止tomcat启动。

但是如何增加超时,我无法看到我的意图?

4 个答案:

答案 0 :(得分:46)

您可以使用选项设置执行此操作。可以使用ebextensions指定选项设置。

在名为.ebextensions的目录中的应用来源中创建一个文件。假设文件是​​.ebextensions/01-increase-timeout.config

该文件的内容应为:

option_settings:
    - namespace: aws:elasticbeanstalk:command
      option_name: Timeout
      value: 1000

请注意,此文件采用YAML格式。 在此之后,您可以使用此版本的源代码更新您的环境。

从此选项设置的文档:

  

超时:等待实例完成的秒数   执行命令。

     

例如,如果在达到配置的超时期限时源代码部署任务仍在运行,则为AWS Elastic Beanstalk   显示以下错误:“某些实例未响应   命令。没有收到回复。“你可以   增加AWS Elastic Beanstalk服务的时间   等待源代码成功部署到实例。

您可以阅读有关ebextensions here的更多信息。有关选项设置的文档可用here

答案 1 :(得分:4)

使用: - timeout

例如:eb create -db --timeout 20

这将为您提供20分钟的超时限制。

答案 2 :(得分:1)

根据official documentation,您可以将--timeout选项传递到eb create来电。

--timeout minutes
Set number of minutes before the command times out.

答案 3 :(得分:0)

我刚刚在我的环境部署时就这样做了,这样做也很好。

eb deploy production-env --timeout 30

..这给了我30分钟。