Я написал специальный сценарий выпуска для управления версиями для приложения автоматической автозагрузки EC2. Обработка работает так ...Ошибки подключения бэкэнд ELB при регистрации экземпляров ec2
- Создайте AMI на основе приложения git tag.
- Создать конфигурацию запуска.
- Настройте ASG для использования новой конфигурации запуска.
- Найдите требуемую мощность для ПГС.
- Установите желаемую мощность до 2x предыдущей емкости.
- Подождите, пока новые экземпляры станут здоровыми, запросив ELB.
- Установите желаемую мощность обратно на предыдущее значение.
Это все работает достаточно хорошо, за исключением случаев, когда я запускаю это, мониторинг для ELB показывает много ошибок подключения к серверу.
Я не знаю, почему это произошло, так как это должно (на основе моего понимания) по-прежнему обслуживать текущие соединения, если для ELB включена опция «Сливы подключения» (какая она есть).
Я подумал, что, возможно, ASG завершала экземпляры до того, как соединения завершились, поэтому я изменил свой сценарий, чтобы сначала отменить регистрацию экземпляров из ELB, а затем подождать некоторое время, прежде чем изменять желаемую емкость в ASG. Это, однако, не имело никакого значения. Как только экземпляры были отменены из ELB (хотя они все еще работают и здоровы), возникают ошибки подключения к серверу.
Кажется, что он игнорирует опцию слива соединения и просто отключает соединения, как только экземпляр был отменен.
Это команда, я использую для дерегистрировать экземпляры ...
aws elb deregister-instances-from-load-balancer --load-balancer-name $elb_name --instances $old_instances
Есть некоторый предпочтительный способ изящно удалить экземпляры из УДРА перед удалением их из ГАС?
У вас есть подключение дренажа включено? – hellomichibye
Да У меня включен слив соединения. На самом деле, похоже, я сделал неверное предположение о ошибках подключения. Это не старые экземпляры, а новые, но не готовые к обработке нагрузки. – user1751825
следующий вопрос: у вас есть healthchecks? – hellomichibye