На самом деле меня все еще немного смущает aws auto scale up
и load balancer
Мне интересно, может ли кто-нибудь помочь мне прояснить, верна ли моя логика понимания, и если да, можно ли комбинировать использование auto-scale up
и load balancer
?
Что касается auto-scale up
скажем, я могу настроить cloudalarm
что если мой main instance
достигает cpu > 90%
для a minute
затем новый instance
будет раскручиваться и новый instance
разделит бремя с main instance
чтобы снизить использование процессора. (после раскрутки AWS сделает все остальное за нас)это как если бы я установил настройку для раскрутки 1 экземпляра до 5 макс.
Если это правильно, насколько я понимаю, new instance
нужны точно такие же настройки сервера? Если да, то это означает, что мне нужно создать изображение main instance
и каждый раз, если я обновляю main instance
Мне нужно будет создать new image
затем измените cloudalarm
/ auto-scale up
запустить new image
право?
main instance
получать изменения каждый день.Что касается load balancer
, Я прочитал документацию и поигрался. Раскрутите три instances
, зарегистрировали их всех на load balancer
. Все 3 исправны, и если я перезагружаю страницу, она продолжает меняться между тремя instances
. Если один экземпляр не работает, два других будут работать.
Если это также верно для моего понимания, означает ли это, что мне нужно иметь 2+ одинаковых экземпляра, и каждый раз, когда я выполняю развертывание, мне нужно делать это для всех экземпляров? Разве это не было бы много работы, если бы у меня было много серверов и я хочу, чтобы все они использовали load balancer
на случай, если сервер вдруг выйдет из строя?
Если оба моих понимания верны, можно ли как-то использовать auto-scale up
с участием cloudalarm
что если как-то main instance
нездорово создайте образ экземпляра, затем зарегистрируйтесь в load-balancer
?
Извините за проблемы с показаниями, но мне интересно, правильно ли я их понимаю или я слишком много думаю и запутался.
Спасибо за любой совет и помощь.
Когда вы используете автоматическое масштабирование и балансировку нагрузки, вы хотите, чтобы все ваши экземпляры EC2 были идентичны. Таким образом, все они (а) основаны на одном образе AMI и (б) проходят одни и те же шаги инициализации, чтобы в итоге получить на них один и тот же код и ресурсы. Таким образом, все они будут одинаково отвечать одним и тем же вводом от вашего HTTP-клиента.
Для этого не пытайтесь обновить экземпляры EC2 вручную. Когда вы увеличиваете или уменьшаете масштаб, ваша работа будет потеряна.
Когда вам нужно развернуть новую версию вашего кода, вы должны выполнить один (или несколько) из следующих шаблонов.
Схема 1:
Схема 2:
Схема 3:
Есть и другие шаблоны, но некоторые из них работают.
Если вы новичок в Auto Scaling и Load Balancing, я настоятельно рекомендую вам серьезно взглянуть на Elastic Beanstalk. Он будет управлять всем вышеперечисленным за вас, что значительно упростит развертывание и обновления.
Некоторые дополнительные примечания: