Несколько приложений (т.е. файлов 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

Надеюсь, поможет

Другие вопросы по тегам