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.

Psycopg2 en AWS Lambda no se conecta a la base de datos RDS.

Cuando intento conectarme a mi base de datos RDS de Postgresql, obtengo la siguiente salida:

{
   "errorMessage": "2022-01-07T13:28:35.428Z 975a92cd-936c-4d1c-8c23-6318cd609bff Tiempo de espera de la tarea después de 10.01 segundos"
}

La base de datos está configurada para tener acceso público.

Código de conexión de Lambda psycopg2:

connection = psycopg2.connect(user=user,
                              password=password,
                              host=host,
                              port=port,
                              database=database)
print(connection)
<objeto de="" conexión="" en="" 0x7ff7eb854b90;="" dsn:="" 'usuario="db_user" contraseña="db_password" nombre_bd="db_name" host="host_rds" puerto="5432'," cerrado:="" 0="">

Grupo de seguridad “RDS_LAMBDA_SECURITY_GROUP” de RDS Inbound

Grupo de seguridad RDS_LAMBDA_SECURITY_GROUP

Tablas de enrutamiento de VPC

Tablas de enrutamiento de VPC

Todas las subredes están asociadas a la tabla de enrutamiento.

Permisos de rol de Lambda_Role

Permisos de rol Lambda_Role

Registros de VPC

Muchas conexiones RECHAZADAS, no estoy seguro si es seguro publicar un print aquí. A veces la conexión a la base de datos tiene el estado ACEPTADO, pero hay algunas otras con estado RECHAZADO.

¿Alguna idea de por qué aún no puedo conectarme a mi base de datos?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Según la información proporcionada, parece que el problema de tiempo de espera está ocurriendo dentro de la función Lambda en sí misma en lugar de con la instancia de RDS o la configuración de red. El mensaje de error indica que la función Lambda ha excedido el tiempo máximo de ejecución permitido de 10.01 segundos.

    Para resolver este problema, es posible que desee optimizar el código dentro de la función Lambda para reducir el tiempo de ejecución. También puede considerar aumentar el tiempo máximo de ejecución permitido para la función Lambda si es necesario.

    Además, es importante asegurarse de que la función Lambda haya obtenido los permisos necesarios para acceder a la instancia de RDS. Según la información proporcionada, el rol de Lambda parece tener los permisos necesarios, pero vale la pena verificarlo de nuevo para asegurarse de que no haya problemas allí.

    Por último, puede valer la pena investigar las conexiones RECHAZADAS en los registros de VPC para determinar si hay algún problema de red subyacente que esté contribuyendo al problema. Sin embargo, es importante tener en cuenta que estos rechazos pueden no estar relacionados con el problema actual, ya que cierta cantidad de conexiones rechazadas es normal en cualquier red.

Comments are closed.