Как автоматически масштабировать установку развертывания Java War - PullRequest
0 голосов
/ 13 июня 2019

У меня Java Tomcat War Настройка развертывания на AWS EC2 Ubuntu Linux Machine. И этот сервер основан на некоторых API и некоторых вычислениях. Теперь он потребляет от 15% до 20% загрузки ЦП сервера. А иногда доходит до 80% (редкий случай). Как я могу сделать автоматическое масштабирование для множественной настройки на разных АЗ динамически?

У меня Регион Азии Мумбаи , который имеет три зоны доступности, и я развернул только в одной зоне. Если нагрузка увеличивается, я добавляю экземпляр на разные AZ вручную. Но я не знаю, как сделать это динамически без ручной настройки , как это делает группа автоматического масштабирования AWS для вещей без состояний.

Каждый комментарий будет приветствоваться и оценен.

1 Ответ

0 голосов
/ 13 июня 2019

Вам понадобится какой-то способ, чтобы экземпляр работал полностью без вмешательства. Это, как правило, сложная часть, и нет ни одного «ответа» на это. Обычно это означает одну из двух вещей:

  • Сценарий cloud-init, который устанавливает экземпляр при запуске (либо непосредственно с помощью сценариев bash, либо с помощью инструмента управления конфигурацией, такого как Chef, Puppet и т. Д.)
  • «Золотое изображение», то есть AMI, который уже полностью настроен и может начать обслуживать, как только он загрузится

Получив это, вы создаете конфигурацию запуска, которая определяет, как должен выглядеть экземпляр - тип экземпляра, диск (и), AMI, пользовательские данные (куда должен идти скрипт cloud-init), роль компьютера, группы безопасности и т. д.

Затем вы создаете группу автоматического масштабирования и присоединяете к ней LC. Группа автоматического масштабирования создаст ваши экземпляры, а не вы создаете их. Если вы хотите, вы можете прикрепить свой свернутый вручную экземпляр к ASG. ASG позволяет вам указать, в каких подсетях создавать экземпляры; предоставьте ему хотя бы одну подсеть для каждого AZ, где вы хотите создать экземпляры. Он автоматически распространит созданные экземпляры по AZ. ASG имеет минимальное, максимальное и желаемое количество экземпляров. Желаемое количество - это количество экземпляров, которое должно быть в любой момент времени если их меньше, будет создано больше, если их больше, некоторые будут прерваны в соответствии с политикой завершения (сначала самый старый, сначала самый новый и т. д.). Min и max определяют границы для желаемого числа - желаемый никогда не будет быть меньше мин или больше макс.

Наконец, вы определяете правила масштабирования и масштабирования, чтобы указать, когда он должен автоматически изменить желаемый счетчик. В вашем случае это может быть масштабирование, когда среднее использование ЦП в ASG превышает 50%, и масштабирование, когда оно меньше 25%.

Вы также захотите установить ASG в качестве целевой группы для своего балансировщика нагрузки, чтобы, как только новый экземпляр создавался и работал исправно, он принимал трафик - иначе какой смысл его создавать? Убедитесь, что у вас есть точная проверка работоспособности, чтобы экземпляры, которые не могут обслуживать трафик, не получали трафик.

...