10
votes

The RDS instance is not on VPC (Classic); it is associated to a security group with allowances to some CIDR/IPs and EC2 security groups.

I want to create a AWS Lambda function that will execute some SQL statements on this database, and also make requests to a EC2 instance that is in the same security group. Is it possible to allow Lambda to access this database?

1
Could you please edit your Question to provide more details? Are you saying that you have an Amazon RDS instance that is in a private subnet in a different VPC? Does your AWS Lambda function wish to run some SQL on the RDS database? Any clarification would help us to answer your question. Thank you!John Rotenstein

1 Answers

17
votes

You have two options:

1) Lambda function outside VPC: Set the RDS to "Publicly Accessible" and in the security group allow access from everywhere (because the set of Lambda IPs is not known).

2) Lambda function inside VPC: Allow access to RDS from all IPs in the VPC because the Lambda function will get an IP from the available ones in your VPC. Beware: If the Lambda function is run multiple times in parallel, your VPC may run out of IPs, making your Lambda function fail.