Amazon EC2 — как ЛЕГКО настроить распределение траффика по инстансам?
Имеется сайт на Amazon EC2, еле справляется с нагрузкой (в пиковую нагрузку CPU в 95-100% и сайт от этого долго отвечает). Хочется создать КОПИЮ текущего инстанса с такой же конфигурацией и распределять траффик равномерно между двумя инстансами (теоретически тогда CPU будет нагружен лишь на 45-50% на каждом).
Поискал в интернете статьи по этому поводу, не совсем понял что нужно использовать — AutoScalling или Elastic Load Balancers?
Во всех статьях для настройки и первого и второго используется целая куча комманд в коммандной строке, половина из которых не понятно и страшно вообще все сломать. Неужели распределить нагрузку на 2 инстанса можно только через настройки в командной строке и нельзя это сделать ВИЗУАЛЬНО на сайте в Amazon Console?
Подскажите пожалуйста как распределить траффик на 2 инстанса (и как правильно сделать копию и т.д.).
На инстансах не будет никаких изменений, это лишь демонстрационный сайт, так что они всегда будут полностью идентичны.
Мы настраивали 1 инстанс, снимали с него AMI. После чего из этого образа делали auto scale группу спрятанную за ELB. ELB можно настроить визуально, но auto scale только через консоль.
Теоретчески, если нужно только 2 инстанса, то можно просто поднять еще один инстанс из AMI первого и настроить ELB на эти 2 инстанса.
Достаточно просто. Запускаете новый ELB и добавляете в него 2 существующих инстанса. После чего настраиваете маппинг портов (например 80 на ELB в 80 на инстансе) и health check. В health check надо указать урл по которому ELB будет периодически опрашивать инстансы и проверять живы ли они.
autoscale нужно чтобы тушить второй инстанс когда нагрузки нет и подымать когда есть.
В вашем случае не проще ли заапгрейдить тип инстанса на помощнее?
Да я заапгрейдил, но поскольку мне нужно только ЦПУ это не сильно помогает (micro, small и medium по ЦПУ практически не отличаются, там одно и тоже стоит, а в микро вообще лучше чем в small и медиум, так как там 2 CPU Unit в случае нагрузок). Жалко в амазоне нельзя просто поднимать частоту CPU не трогая остальное (RAM и т.д.). А Large мне кажется для моих нужд слишком хорошо (и дорог).
Они совершенно разные по процессору, если вы юзаете микро то там через пять минут нагрузки вам отрежет проц, в смол одно гарантированное ядро в медиум для cpu, а не для памяти довольно много процессорного времени и два ядра.
Autoscaling — это добавление/уничтожение инстансов в зависимости от нагрузки. Полгода назад настраивалось только через консольные утилиты, да.
Вам скорее всего нужно сделать AMI с инстанса и запустить еще один инстанс.
Потом создать Elastic Load Balancer (это простой балансировщик нагрузки на haproxy) и добавить их туда. Это все можно сделать через веб, насколько помню.