使用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启动。
但是如何增加超时,我无法看到我的意图?
答案 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服务的时间 等待源代码成功部署到实例。
答案 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分钟。