es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La API REST desplegada en Cloud Run está fallando solo en puntos de conexión específicos.

Entonces, estoy intentando implementar mi API REST de NodeJS en Cloud Run y en su mayoría se implementa correctamente, excepto que algunos endpoints parecen fallar con un error 404 o 500. Sin embargo, cuando ejecuto el contenedor localmente utilizando “docker run -p 8080:8080 “, todos los endpoints funcionan. La característica común entre todos los endpoints que fallan parece ser que acceden a la base de datos remota utilizando las credenciales almacenadas en el archivo “.env”.

EDITAR: Creo que se debe a que la base de datos se encuentra en una dirección IP interna privada, por lo que estoy tratando de averiguar qué necesitaría hacer para solucionarlo.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Es posible que el problema con los endpoints que fallan en Cloud Run se deba al hecho de que la base de datos remota está utilizando credenciales almacenadas en el archivo .env. Cuando ejecutas el contenedor localmente con docker run -p 8080:8080 <imagen>, es probable que se lea el archivo .env y se utilicen las credenciales para acceder a la base de datos remota correctamente.

    Sin embargo, al implementar el contenedor en Cloud Run, es posible que el archivo .env no esté presente o no sea accesible, lo que provoca que las conexiones a la base de datos remota fallen. Una posible solución a este problema podría ser mover las credenciales a una ubicación más segura, como Google Cloud Secret Manager o Google Cloud Key Management Service (KMS), que pueden ser accedidos de forma segura por tu aplicación cuando se ejecuta en Cloud Run.

    Otro posible problema podría ser que la base de datos remota tenga una dirección IP interna privada, que no sería accesible desde fuera de la red. En este caso, es posible que necesites configurar una conexión VPN o de emparejamiento de VPC entre tu servicio de Cloud Run y la red que aloja la base de datos para permitir una comunicación segura entre ambos.

Comments are closed.