Единая отказоустойчивая машина с Amazon AWS

Для конкретной службы мне нужно запустить единственный экземпляр EC2 отказоустойчивым способом.

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

Я новичок в этом мире, но, насколько я понял, с Elastic IP мне нужно вручную изменить привязку, если основная машина зависает. Вместо этого с помощью Auto Scaling, ELB и CloudWatch я могу:

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

Есть какие-нибудь советы по поводу того, как объединить сервисы AWS для достижения этой цели?


person allergique    schedule 31.03.2014    source источник
comment
какое приложение? и будет ли уже запущена машина резервного копирования, т.е. «горячий резерв»?   -  person E.J. Brennan    schedule 31.03.2014
comment
Это служба на основе сокетов с состоянием в ОЗУ. машина резервного копирования должна быть горячим резервом: на самом деле я не знаю, правильная архитектура - это действительно мой вопрос. Мне нужно просто переключить сервис за несколько секунд   -  person allergique    schedule 03.04.2014


Ответы (1)


Есть варианты автоматизации, которые вы могли бы разработать с помощью EC2 API, но для этого вам понадобится всегда онлайн-машина.

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

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

person datasage    schedule 31.03.2014