AWS ELB выдает 5XX, но зарегистрированные экземпляры не выдают ошибки 5XX

Я использую AWS ELB. После просмотра графика ELB было несколько ошибок 5XX. Я включил журналы и узнал, что время ожидания одного из api call зарегистрированных экземпляров истекло, поскольку ошибка в журналах ELB была 504. Я снова проверил зарегистрированные экземпляры, если они выдают какой-либо ответ 5XX, но это не так. Тайм-аут проверки активности nginx установлен на 15s, а тайм-аут ELB — на 60s. Таким образом, если время запроса действительно истекло, то оно должно было истечь на уровне экземпляра, а не на уровне ELB. Может ли кто-нибудь предложить, что может быть возможным сценарием ошибки?


person drishti ahuja    schedule 16.06.2016    source источник
comment
Есть ли у вас запись в группе (группах) безопасности серверных экземпляров, которая позволяет ELB подключаться к настроенному порту?   -  person Karen B    schedule 17.06.2016
comment
@KarenB порт 80, который открыт для всех, и ELB каждый раз выдает этот 5XX при определенных вызовах API.   -  person drishti ahuja    schedule 17.06.2016
comment
nginx не будет регистрировать 504, потому что 504 — это тайм-аут. Похоже на какую-то проблему с емкостью. Проверьте работоспособность своего экземпляра и, если вы запрашиваете базу данных, убедитесь, что она может вернуть запрошенные данные в разумные сроки.   -  person Karen B    schedule 17.06.2016
comment
@KarenB Я использовал ngxtop для отслеживания любых 5XX, выдаваемых экземпляром API. Но ошибок 5XX не было. ngxtop тоже не записывает ответ 504?   -  person drishti ahuja    schedule 17.06.2016


Ответы (1)


504 не возвращается nginx в ELB. ELB возвращает 504, потому что время ожидания ответа от экземпляра API истекло, что также означает, что nginx не может вернуть код состояния HTTP для запроса, который он не закончил обслуживать. Как говорится в этом документе, во-первых, время поддержания активности вашего экземпляра должно быть не менее размера тайм-аута ELB. http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-error-message.html#ts-elb-errorcodes-http504

person Karen B    schedule 17.06.2016