By using AWS re:Post, you agree to the Terms of Use

Why can't I find my RDS database from my lambda function?


I am trying to connect a lambda function to my RDS database. They both have the same subnets, VPS, and security groups, but whenever I try to run code to connect to the database, I get an error saying that it wasn't found. The database also isn't showing up as an available database proxy. Do you know how I can get this to appear?

  • Was Database created? What is the exact error message?

  • @SandeepVudata The database was created. The error message says "ERROR: Unexpected error: Could not connect to MySQL instance. (1049, "Unknown database 'database_name'")" I have my database connection in a try except block, and this is the exact error that is supposed to be thrown when I can't connect to the database. I am trying to connect by using pymysql.connect() with the endpoint, username, password, and db name as parameters, but the code can't find the name of the database even though it is correct.

1 Answer

Hello, not sure if you already did this, but just including two instances (in your case lambda and rds) in the same subnet and the same security group doesn't open any communication ports - you need to define the specific security rules to open the DB port for communication.

If you want to keep them in the same security group, you'll have to create a self-referencing rule in this group with the right DB port to open (depending on your database engine) and indicating the source as the same security group.


answered 6 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions