Требуется ли самый последний файл cookie AWSALB? (Балансировщик нагрузки приложений AWS ELB)

Наблюдения

При использовании Amazon ELB Application Load Balancer и работе с Sticky Sessions балансировщик нагрузки вставляет файл cookie с именем AWSALB в первый запрос. Чтобы следующий запрос оставался на том же целевом узле (экземпляре EC2), в этот запрос должен быть включен файл cookie. При этом кажется, что балансировщик нагрузки вставляет другое значение cookie в ответ на второй запрос. При включении этого нового значения cookie в третий запрос мы получаем еще новое значение cookie в ответе. И так далее…

(Это отличается от того, как закрепленные сеансы работают с классической загрузкой Балансировщик, в котором файл cookie имеет имя AWSELB и сохраняет свое значение до тех пор, пока не будет отклонен клиентом или балансировщиком нагрузки.)

Причина, по которой файл cookie AWSALB постоянно меняет значение (как указано в docs):

Имя файла cookie - AWSALB. Содержимое этих файлов cookie зашифровывается с помощью ключа ротации. Вы не можете расшифровать или изменить файлы cookie, созданные балансировщиком нагрузки.

Таким образом, даже если содержимое файла cookie может быть таким же, мы не можем сказать.

Вопрос

Вопрос в том, должен ли запрос к балансировщику нагрузки всегда включать последнее полученное значение AWSALB cookie или можно ли отправить какое-то ранее полученное значение (конечно, из того же прикрепленного сеанса).

Если это требование, балансировщик нагрузки приложений AWS ELB не сможет обслуживать клиента, который выполняет несколько параллельных запросов (после получения первого AWSALB cookie), а только клиентов, которые выполняют все запросы последовательно (по одному). .

Кто-нибудь может пролить свет на это?


person mgd    schedule 09.03.2018    source источник


Ответы (1)


Дождавшись ответа здесь, я обратился в службу поддержки Amazon и получил следующий ответ:

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

Вы правы, заметив, что поведение CLB и ALB отличается. Из-за различной функциональности Application Load Balancer для направления трафика в несколько целевых групп, каждая из которых имеет свою степень закрепления, ALB шифрует информацию, необходимую для направления трафика, и предоставляет новые файлы cookie для каждого запроса. Это гарантирует, что разное время для разных групп всегда соблюдается правильно.

Клиенты всегда могут получить последний файл cookie, поскольку внутренняя информация обеспечит правильную маршрутизацию к той же цели. Если вы хотите повторно использовать один файл cookie, это также возможно, ALB будет уважать его и правильно маршрутизировать трафик в соответствии с закреплением в файле cookie. Однако я бы не рекомендовал использовать один и тот же файл cookie для периодов более 60 секунд. Это сделано для того, чтобы в случае недоступности цели вы могли получить новый файл cookie с новой информацией о закреплении, который направит вас к новой цели.

person mgd    schedule 23.03.2018