AWS EBS atinge o “504 Gateway Time-out”

Nov 03 2020

Eu sou novo no uso de AWS EBS e ECS, portanto, tenha paciência comigo se eu fizer perguntas que possam ser óbvias para outras pessoas. Para o problema:

Eu tenho um aplicativo Node / Express de um único contêiner que é executado no EBS. O contêiner docker local funciona conforme o esperado. No EBS, posso acessar um endpoint da API e obter a saída esperada. Para o segundo endpoint, que é executado por mais tempo (cerca de 10-15 segundos), não obtenho resposta e corro após 60 segundos em um tempo limite: "504 Gateway Time-out".

Eu me pergunto como eu abordaria a depuração disso, já que não consigo me conectar ao contêiner diretamente. Atualmente não há nenhuma funcionalidade de depuração no código incluído, pois não tenho certeza de qual é a melhor abordagem de nó para um contêiner EBS - quaisquer recomendações são muito apreciadas.

Agradeço antecipadamente!

Respostas

bscotchAdam Nov 03 2020 at 14:30

Você pode ver as instâncias do EC2 em execução no EBS em seu AWS e pode escolher dar-lhes endereços IP em suas opções de EBS. Isso permitirá que você conecte-se diretamente a eles por SSH, se necessário.

Caso contrário, verifique o campo keepAliveTimeout em seu servidor (o valor retornado por app.listen () de que você está usando express).

Eu obtive um número decente de 504s quando o tempo limite do meu servidor Node foi menor do que o tempo limite do meu balanceador de carga.