Наконец я решил свою проблему.Я пишу свое решение здесь, чтобы помочь кому-то еще здесь, сталкивающемуся с той же проблемой.
В моем случае мое первоначальное ощущение было, что Application Load Balancer
маршрутизирует трафик на вновь добавленный экземпляр, прежде чем он будет готов к обслуживанию.Но подробное расследование показало, что это не проблема.В моем случае новый экземпляр мог обслуживать трафик при запуске, и через несколько минут он генерировал эту ошибку ELB
level 502 в течение приблизительно 30 секунд, и после этого он начал работать нормально.
Решение: Приложение имеет соединение по умолчанию KeepAlive
60 секунд.Apache2 имеет соединение по умолчанию KeepAlive
в течение 5 секунд.По истечении 5 секунд Apache2 закрывает соединение и сбрасывает соединение с ELB
.Однако, если запрос поступает точно в нужное время, ELB
примет его, решит, на какой хост направить его, и в этот момент Apache закроет соединение.Это приведет к указанному коду ошибки 502.
Я установил таймаут ELB
на 60 секунд, а тайм-аут Apache2 на 120 секунд.Это решило мою проблему.