Quando um ELB retorna 504 Gateway Timeout, indica que o balanceador de carga fechou uma conexão porque uma solicitação não foi concluída dentro do período de tempo limite ocioso (de acordo com os documentos ).
Assim, o ELB não recebeu uma resposta dentro do limite de tempo limite ocioso resultando na conexão sendo interrompida e uma resposta 504 sendo retornada ao cliente. Com o conhecimento de que a solicitação de back-end nunca foi concluída, realmente faz sentido que backend_status_code seja 0 e que backend_processing_time seja -1 . O ELB não pode responder a algo que não sabe!