Allow access to RDS instance from EC2 instance on same VPC

Solution 1:

I had this issue myself a couple of weeks ago. In my case, I had forgotten to allow outbound traffic on port 3306 for my EC2 instance to the VPC CIDR. Try adding an outbound rule to your EC2 instance security group looking something like this:

Type    Protocol    Port Range    Destination
MYSQL   TCP         3306          172.35.0.0/16

Solution 2:

Are you certain your DB is inside the VPC with your EC2 instance? Assuming so create a Security Group that permits 3306 inbound from the CIDR range for your VPC.

To test in a slightly more familiar way you can temp build an instance with MySQL on it, should work the same way as long as it is also in your VPC.

Make certain your RDS is in a Subnet Group that's accessible from other machines in your VPC, for instance make sure your able to route between subnets if you are multi-AZ etc.

Update: Also try using the VPC IP, not the external DNS name to access it, your DNS may point to an external network address or otherwise be failing.