Эластичное развертывание бобового стека занимает больше времени, чем период ожидания, как увеличить период ожидания
Эластичная установка beanstalk новой среды для приложения с использованием веб-сайта AWS предупреждает
Create environment operation is complete, but with command timeouts. Try increasing the timeout period
и хотя в конечном итоге он показывает среду, поскольку зеленый пытается подключиться к URL, просто дает
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 файл, но новая версия должна скопировать 6-гигабайтный файл, и поскольку я не вижу никаких других ошибок, я предполагаю, что это вызвало таймаут и не позволило запустить tomcat.
Но как увеличить тайм-аут, я не вижу, где я должен это делать?
Ответы
Ответ 1
Вы можете сделать это, используя настройки параметров. Параметры опций можно указать с помощью 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 здесь. Документация по настройкам параметров доступна здесь.
Ответ 2
Использование: --timeout
Например, eb create -db --timeout 20
Это даст вам 20-минутный лимит времени.
Ответ 3
В соответствии с официальной документацией вы можете передать --timeout
в свой вызов eb create
.
--timeout minutes
Set number of minutes before the command times out.