Штифт балансировки нагрузки aws на один экземпляр
В моем проекте у меня есть два экземпляра (на основе ECS), которые запускают приложение Node.js. Оба они одинаково (только для целей HA) используют куки и расположены за балансировщиком нагрузки. Проблема в том, что экземпляры не разделяют сеанс между собой, и когда я вхожу в первый экземпляр и выполняю обратное действие, балансировщик нагрузки иногда переключает меня на второй экземпляр, который не имеет данных сеанса (cookie, сгенерированный первым экземпляром), и мне нужно войдите снова. Я знаю, что есть возможность заставить два экземпляра совместно использовать сеанс между собой, но этот подход требует некоторой модификации в коде приложения. Поэтому вместо этого я хотел бы заставить свой балансировщик нагрузки удерживать и использовать этот экземпляр, который он выбрал впервые, пока пользователь не завершит свою работу и не выйдет из системы (или не закроет браузер). Является ли это возможным?
1 ответ
Вы можете включить липкие сессии в ваших целевых группах. Сделать это:
- В консоли Amazon EC2 перейдите к Целевым группам в разделе БАЛАНСИРОВКА НАГРУЗКИ.
- Выберите целевую группу и перейдите на вкладку " Описание ".
- Нажмите Редактировать атрибуты и включите Stickiness.
- Установите продолжительность и сохраните.
Эти шаги могут немного отличаться, если у вас классический балансировщик нагрузки. Узнайте больше здесь и здесь.