3

This has been killing me all day.

I've set up Elastic Beanstalk, working fine.

Set up RDS, working fine and can access from my laptop.

But when i try to connect to the RDS from my ES application i get a timeout error.

Extra info is that i'm using a Laravel application, connecting to a MYSQL database. All of my environment variables have been loaded and accepted fine.

I'm almost certain it's a security groups setting, but the docs are so tremendously bad for AWS that i haven't got a clue what to do!

Any help?

Ryk Waters
  • 557
  • 2
  • 6
  • 18
  • 1
    Is your EB app in the same VPC as the RDS instance? What are your security group rules for the EB EC2 instances and the RDS instance? – Matt Houser Nov 13 '15 at 19:01
  • 3
    The security group settings for your RDS instance should allow inbound from the security group that your elastic beanstalk instances are livin' in. – ludwigmace Nov 13 '15 at 19:02
  • Yes, all in the same VPC. Think i've fixed it, but your suggestion of looking for the group for both RDS and ES helped! Adding answer below – Ryk Waters Nov 13 '15 at 19:08

1 Answers1

6

Answer was to go to Services > VPC

Under the Security section, click Security groups.

Click the RDS group, then Inbound Rules.

Edit, then add a rule:

Select MYSQL, change the port, then the IP should be custom IP and type in the ID of your Elastic Beanstalk security group / groups (No idea why i have 2)

Ryk Waters
  • 557
  • 2
  • 6
  • 18
  • 2
    There are 2 groups because your EC2 instances will have one and your ELB will have one. Allow from the security group for the EC2. – Matt Houser Nov 13 '15 at 19:21