Как развернуть около Java-приложения на 100 экземплярах EC2? - PullRequest
2 голосов
/ 03 марта 2012

Вот мой случай: у меня около 100 экземпляров EC2, и каждый запускает Java-приложение (приложение Java SE, а не приложение Java EE), я хочу развернуть мои собранные jar-файлы и библиотеку во всех экземплярах, а затем создать приложениезапустить на все приложение.Поскольку приложение меняется время от времени, каждый раз мне приходится тратить два часа, чтобы выполнить эту работу.

Знаете ли вы, есть ли инструмент управления или программное обеспечение, которое может помочь мне выполнить эту работу автоматически, и какова ваша практика развертывания этого приложения?

Есть ли у вас рабочий процесс автоматического развертывания для разработки на AWS?

Ответы [ 4 ]

4 голосов
/ 04 марта 2012

Kwatee (http://www.kwatee.net), наш бесплатный и легкий инструмент развертывания, поддерживает экземпляры EC2, а также эластичную балансировку нагрузки. Короткий скриншот небольшой развертывания EC2 здесь .

3 голосов
/ 03 марта 2012

Поскольку вы используете Java, вы можете использовать AWS Elastic Beanstalk.

Жизненный цикл разработки:

http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/create_deploy_Java.sdlc.html

Управление средой:

http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/using-features.managing.html

На той же странице есть еще много ссылок на статьи, вероятно, нужно будет прочитать все из них, но эти две, которые, на мой взгляд, больше всего связаны с вашим вопросом.Я не пользовался этим продуктом, поэтому я не могу получить информацию из первых рук, но, похоже, он разработан для того, чтобы помочь вам в вашей конкретной проблеме.

1 голос
/ 05 февраля 2017

Вы можете использовать AutoScaling Launch Configuration и AutoScaling Group для запуска 100 экземпляров EC2.Но подождите, нужно запросить ограничение экземпляра EC2 с типом экземпляра EC2 для поддержки AWS.Обычно для выполнения запроса требуется 1 рабочий день.

  • Сначала вы предполагаете создать конфигурацию запуска AutoScaling в Консоли AWS.Конфигурация запуска AutoScaling включает в себя тип, хранилище, группу безопасности, и вы можете добавить сценарии для запуска при запуске экземпляра EC2.
  • Далее идет AutoScaling Group.Вы должны выбрать, какая конфигурация запуска подходит для вашей группы автоматического масштабирования.В конфигурации AutoScaling Group вы должны указать минимальное и максимальное количество (то есть), оно запустит экземпляры EC2 на основе минимального количества и запустит до максимального количества.Мониторинг CloudWatch можно использовать для группы AutoScaling.CloudWatch будет работать на основе параметров использования ЦП экземпляра EC2 и настроек будильника.
  • Elastic Load Balancing поможет распределить трафик между экземплярами EC2.Если вы хотите использовать ELB, вы должны создать перед AutoScaling Group.В AutoScaling Group вы можете включить ELB для обработки и распределения трафика.
1 голос
/ 13 ноября 2015

Boxfuse делает именно то, что вы хотите.

Для вашего приложения Java SE вам буквально нужно выполнить:

boxfuse create my-javase-app -apptype=load-balanced
boxfuse scale my-javase-app -capacity=100:t2.micro
boxfuse run my-javase-app-1.0.jar -env=prod

Это будет

  1. Создайте новое приложение и настройте его для использования ELB
  2. Масштабируйте его до 100 экземпляров t2.micro
  3. Создайте AMI
  4. Создайте ELB
  5. Создание группы безопасности
  6. Создание группы автоматического масштабирования
  7. Запуск ваших экземпляров

Любое последующее обновление будет выполнено с нулевым временем простоя синим/ зеленое развертывание.

...