AWS EBS atinge o “504 Gateway Time-out”
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
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.