[EDIT depois de entender melhor a pergunta]
Não tendo nenhuma experiência com o ELB, eu ainda acho que isso soa suspeitamente como o erro 503 que pode ser lançado quando o Apache está na frente de um Tomcat e inunda a conexão.
O efeito é que, se o Apache fornecer mais solicitações de conexão do que pode ser processado pelo back-end, as filas de entrada de back-end serão preenchidas até que nenhuma outra conexão possa ser aceita. Quando isso acontece, as filas de saída correspondentes do Apache começam a ser preenchidas. Quando as filas estão cheias, o Apache lança um 503. O seguinte poderia acontecer quando o Apache é o backend, e o frontend entrega a uma taxa que faz as filas se esgotarem.
A solução (hipotética) é dimensionar os conectores de entrada dos conectores backend e de saída do frontend. Isso se transforma em um ato de equilíbrio entre o nível de inundação previsto e a RAM disponível dos computadores envolvidos.
Então, quando isso acontecer, verifique suas configurações de maxclients e monitore seus trabalhadores ocupados no Apache (mod_status.). Faça o mesmo, se possível, com qualquer ELB que corresponda ao backlog do conector Tomcats, maxthreads etc. Resumindo, observe tudo relacionado às filas de entrada do Apache e às filas de saída do ELB.
Embora eu entenda perfeitamente que não é diretamente aplicável, este link contém um guia de dimensionamento para o conector do Apache. Você precisaria pesquisar os detalhes técnicos correspondentes da fila ELB e fazer as contas:
link
Como observado no comentário abaixo, para sobrecarregar o conector do Apache, um aumento no tráfego não é a única possibilidade. Se algumas solicitações forem mais lentas do que outras, uma proporção maior delas também poderá resultar no preenchimento das filas de conectores. Isso foi verdade no meu caso.
Além disso, quando isso aconteceu comigo, fiquei perplexo por ter que reiniciar o serviço Apache para não receber 503: s novamente. Simplesmente esperando a inundação do conector não foi suficiente. Eu nunca percebi isso, mas pode-se especular em Apache servindo de seu cache, talvez?
Depois de aumentar o número de trabalhadores e as configurações de maxclients pré-fork correspondentes (isso era o Apache multithreaded no Windows que tem algumas outras diretivas para as filas, se bem me lembro), o problema 503 desapareceu. Na verdade, não fiz as contas, mas apenas alterei os valores até conseguir observar uma ampla margem para o pico de consumo dos recursos da fila. Eu deixo passar isso.
Espero que isso tenha sido de alguma ajuda.