0

I am deploying a Dockerfile and a Dockerrun.aws.json in Elastic beanstalk and it was giving an error because some commands were surpassing the maximum command timeout. I can fix this error by going to Updates and Deployments, and modifying the maximum timeout. But I would like to know if there is a command to increase the maximum command timeout of EBS from the Dockerrun.aws.json? or another way to do that automatically ?

chuseuiti
  • 783
  • 1
  • 9
  • 32

2 Answers2

1

No you cannot increase the timeout using Dockerrun.aws.json but you can bundle an ebextension in your app source with this option setting.

Create a file in your app source in a directory called .ebextensions. Lets say the file is .ebextensions/01-increase-timeout.config.

The contents of the file should be:

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

Note this file is in YAML format. After this you can update your environment with this version of source code.

Previously answered here: https://stackoverflow.com/a/25558805/161628

Community
  • 1
  • 1
Rohit Banga
  • 18,458
  • 31
  • 113
  • 191
0

Another option is to do this using the Aws Tools for Windows PowerShell. This one liner will get every EB environment in your account and then set the command timeout to 400 seconds, with a 15 second sleep between each command to avoid AWS's API rate limits.

PS C:\> get-ebenvironment | % {start-sleep -Seconds 15;  Update-EBEnvironment -ApplicationName $_.ApplicationName -EnvironmentName $_.EnvironmentName -OptionSetting @{"namespace"="aws:elasticbeanstalk:command"; "optionName"="Timeout";  "value"=400} }
user189271
  • 178
  • 1
  • 7