Несколько приложений (т.е. файлов war) в одном экземпляре Beanstalk
Чтобы быть консервативным в отношении ресурсов (и затрат), я хотел бы поместить более одного файла war (представляющего разные приложения) в один и тот же экземпляр EC2 beanstalk.
Тогда я хотел бы иметь сопоставление appl A для myapp.elasticbeanstalk.com/applA с использованием warA и сопоставление appl B для myapp.elasticbeanstalk.com/applB с использованием warB
Но консоль позволяет загружать единственную и единственную войну для любого экземпляра.
1) Итак, я понимаю, что это невозможно с текущим интерфейсом. Я прав?
2) Тем не менее, возможно ли достичь этого "нестандартными" способами: загрузить warA через интерфейс и скопировать / обновить warB в /tomcat6/webapps через ssh, ftp и т. Д.?
3) С учетом (2) мое беспокойство заключается в том, что B будет теряться каждый раз, когда средство проверки работоспособности BT решает прекратить работу экземпляра (например, последовательные неудачные проверки) и перезапустить новый. Затем мне нужно будет сделать warB как часть моего настроенного AMI, используемого applA, и создавать новую версию этого AMI каждый раз, когда я обновляю warB
Пожалуйста, помогите мне
С уважением
Didier
4 ответа
Ты прав! Вы не можете (пока) вести множественную войну в бобовых стеблях.
Ответ на форуме Amazon можно найти здесь https://forums.aws.amazon.com/thread.jspa?messageID=219284
Хотя есть обходной путь, но не с использованием Beanstalk, а с простым EC2:
https://forums.aws.amazon.com/thread.jspa?messageID=229121
http://blog.jetztgrad.net/2011/02/how-to-customize-an-amazon-elastic-beanstalk-instance/
Бесстыдный плагин: Хотя я не связан с каталогом, я создал плагин для Maven 2 для автоматизации развертываний Beanstalk и Elastic MapReduce. Проверьте http://beanstalker.ingenieux.com.br/
Это старый вопрос, но мне потребовалось некоторое время, чтобы найти более актуальный ответ, поэтому я решил поделиться своими выводами.
Развертывание нескольких WAR теперь поддерживается изначально Elastic Beanstalk (и поддерживается в течение некоторого времени).
Просто создайте новый zip-файл с каждым из ваших WAR-файлов внутри него. Если вы хотите, чтобы один из них был доступен в корневом контексте, назовите его ROOT.war, как если бы вы развертывали Tomcat вручную.
Ваша структура файла zip должна выглядеть так:
MyApplication.zip
E── .ebextensions
Oo── foo.war
Bar── bar.war
OO── ROOT.war
Полную информацию можно найти в документации по Elastic Beanstalk.
Папка.ebextensions является необязательной и может содержать файлы конфигурации, которые настраивают ресурсы, развернутые в вашей среде. См. Конфигурация среды Elastic Beanstalk для получения информации об использовании файлов конфигурации.
Есть еще один хак, который позволяет вам загрузить произвольный jar, установив java и используя загрузочный скрипт node.js:
http://docs.ingenieux.com.br/project/beanstalker/using-arbitrary-platforms.html
Надеюсь, поможет