Увеличение тайм-аута команды в EBS от Dockerrun.aws.json -AWS

Я развертываю Dockerfile и Dockerrun.aws.json в Elastic beanstalk, и он выдавал ошибку, потому что некоторые команды превосходили максимальное время ожидания команды. Я могу исправить эту ошибку, перейдя в «Обновления и развертывания» и изменив максимальный тайм-аут. Но я хотел бы знать, есть ли команда для увеличения максимального времени ожидания EBS от Dockerrun.aws.json? или другим способом сделать это автоматически?

Нет, вы не можете увеличить таймаут с помощью Dockerrun.aws.json, но вы можете связать ebextension в своем приложении с этой настройкой.

Создайте файл в своем приложении в каталоге с именем .ebextensions . .ebextensions/01-increase-timeout.config файл имеет .ebextensions/01-increase-timeout.config .

Содержимое файла должно быть:

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

Обратите внимание, что этот файл находится в формате YAML. После этого вы можете обновить среду с помощью этой версии исходного кода.

Ранее здесь был указан : https://stackoverflow.com/a/25558805/161628

Другой вариант – сделать это с помощью Aws Tools для Windows PowerShell. Этот один вкладыш получит каждую среду EB в вашей учетной записи, а затем установит тайм-аут команды до 400 секунд с 15-секундным сном между каждой командой, чтобы избежать ограничений скорости API AWS.

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