Смена IP-адреса ELB и долгоживущие соединения

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

Мой вопрос: как это работает с долгоживущими соединениями, например. веб-сокет? Допустим, у меня есть постоянное подключение через веб-сокет к веб-службе за ELB. Что произойдет, когда AWS изменит IP-адрес ELB, к которому я сейчас подключен, заменив его другим? Я не могу найти хороший ответ в документах AWS.

Спасибо, Вован


person Vovan Kuznetsov    schedule 30.10.2015    source источник
comment
Не верьте мне на слово, но если я правильно понимаю, ELB не закроет ваш сервер (экземпляр) и не изменит IP-адреса, пока у вас все еще есть подключенные клиенты... конечно, если это произойдет, соединение будет разорвано. и вам нужно будет восстановить соединение.   -  person Myst    schedule 30.10.2015
comment
Это мой вопрос. Я где-то слышал, что ELB не закрывает IP-адрес, пока есть активные соединения через этот IP-адрес, но я не могу найти это поведение официально задокументированным.   -  person Vovan Kuznetsov    schedule 30.10.2015
comment
Я сомневаюсь, что это так просто, то есть при уменьшении размера, если у вас есть долгосрочное соединение, остающееся последним соединением в процессе, и оно было открыто в течение нескольких часов... Я бы написал свой LB так, чтобы он отключал существующие соединения при определенных условия, при условии, что были соблюдены передовые методы (и рекомендации по протоколу Websocket) в отношении возможных отключений сети и что клиент просто повторно подключится к новой настройке.   -  person Myst    schedule 30.10.2015
comment
Мой вопрос касается ELB, а не пользовательской реализации балансировки нагрузки. Я нашел старое сообщение на форуме amazon forums.aws.amazon.com/ message.jspa?messageID=169865#169865, в котором говорится, что после отзыва IP-адреса ELB он по-прежнему может использоваться текущими подключениями в течение одного часа. Этому посту пять лет, мне интересно, изменилось ли что-то с тех пор.   -  person Vovan Kuznetsov    schedule 30.10.2015


Ответы (1)


Что произойдет, когда AWS изменит IP-адрес ELB, к которому я сейчас подключен, заменив его другим? Я не могу найти хороший ответ в документах AWS.

В общем, есть две ситуации, когда IP-адреса ELB будут меняться:

  1. Основная ошибка ELB

Думайте о ELB как о масштабируемом кластере балансировщиков нагрузки, адресуемых под одним DNS-именем, каждый из которых имеет IP-адрес. Если один узел умирает (например, из-за сбоя основного оборудования), IP-адрес будет удален из записи DNS и заменен новым узлом.

Клиенты, подключенные к нему во время сбоя, потеряют соединение и должны выполнить повторное подключение. Он не будет автоматически направляться в «исправную» часть ELB.

  1. Изменение трафика

Если ELB увеличен или уменьшен из-за изменений в профиле трафика, как указано в сообщение на форуме, указанное выше, соединения будут продолжать функционировать в течение некоторого времени, но нет гарантии этого периода (мин. или макс.). Это особенно заметно в случаях, когда LB быстро масштабируется для удовлетворения нагрузки (стиль «скала»), поскольку «старые» узлы ELB могут быть перегружены (или стать таковыми), а их способность обрабатывать трафик ухудшается.

Впоследствии это означает, что разработчикам необходимо обрабатывать повторные подключения в обоих случаях на стороне клиента.

person alexjs    schedule 02.01.2016