Как использовать несколько серверов EC2 для разделения трафика Apache?

У меня есть сервер Amazon EC2 под управлением Apache (с WP сверху). В настоящее время я использую экземпляр t1.micro - пока что отлично, но я слышал, что это плохо, если у вас много трафика - Amazon ограничивает ЦП короткими небольшими пакетами, делая сайт непригодным для использования в поисковой системе. ползет это.

Я считаю, что в какой-то момент мне захочется разделить трафик между двумя экземплярами, предпочтительно пополам между двумя или тремя серверами. Однако чем больше я об этом думаю, тем меньше вижу, как это сделать. Необходимо синхронизировать данные между серверами - mySQL, папками и т. Д. Кроме того, я использую Godaddy для своего домена, и это позволяет мне указывать на один IP -адрес - я не вижу возможности указать два IP -адреса. и разделить нагрузку.

Итак, мой вопрос: используя Apache, EC2 и Godaddy, как я могу равномерно распределить трафик между двумя экземплярами? Я думаю, что могу справиться с синхронизацией данных.

2 ответа

Решение

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

AWS предоставляет услугу Elastic Load Balancer. Вы должны указать свою основную запись на балансировщик нагрузки, который будет маршрутизировать на основе вашей конфигурации между несколькими (даже более 2, если вам это потребуется) экземплярами и позволит вам масштабировать. Это также добавит возможность удалить экземпляры для обслуживания, временно или навсегда.

https://aws.amazon.com/elasticloadbalancing/

Это где балансировщики нагрузки входят.

Загляните в сервис AWS ELB.

Вы должны указать свое доменное имя на IP-адрес ELB, а ELB позаботится о том, чтобы распределять запросы к вашим серверным серверам, а также выводить серверы из ротации из ротации, если они кажутся неработоспособными или неработоспособными.

Поддержание состояния и развертывание приложения на внутренних серверах - это еще одна тема.

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