RDS connections in Lambda

0

In server setup, the connections to RDS DB (Aurora) instances has pool where the connections are bit long lived and cached. This will give us faster connectivity. I would like to understand the guidance on this scenario for serverless/lambda. With lambda there is no sessions and no connections are cached. I think it will create connections every time, it might impact the performance. Are there any workaround or solves/guidance for Lambda ? Is it okay to open the connection every time with the DB instances ? Any leads on this will be super helpful ?

1 Answer
3
Accepted Answer

Lambda functions execute in micro VMs. Lambda reuses the micro VM between invocations. For this reason we recommend you create the connection to the database outside the handler (in the init code) and leave it open. As the micro VMs are completely isolated, you can't use a connection pool as you do in servers. For this reason we created RDS Proxy. RDS proxy maintains a connection pool to the database. Your Lambda functions connects to the proxy instead of the directly to the database.

profile pictureAWS
EXPERT
Uri
answered 2 years ago
profile pictureAWS
EXPERT
reviewed 2 years 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