问题
The EC2 instance/live web can connect just fine to the RDS database. But when I want to debug the code in my local machine, I can't connect to the database and got this error:
OperationalError: (2003, "Can't connect to MySQL server on 'aa9jliuygesv4w.c03i1 ck3o0us.us-east-1.rds.amazonaws.com' (10060)")
I've added .pem
and .ppk
keys to .ssh
and I already configure EB CLI. I don't know what should I do anymore.
FYI: The app is in Django
回答1:
It turns out it is not that hard. Do these steps:
- Go to EC2 Dashboard
- Go to Security Groups tab
- Select and only select the RDS database security group. You'll see the security group detail at the bottom
- Click Inbound tab
- Click Edit button
- Add Type:MYSQL/Aurora;Protocol:TCP;Range:3306;Source:0.0.0.0/0
回答2:
MAKE SURE PUBLIC ACCESSIBILITY
IS SET TO YES
This is what I spent the last 3 days trying to solve...
回答3:
Make sure that your VPC and subnets are wide enought.
The following CIDR configuration works great for two subnets:
VPC
10.0.0.0/16
10.0.0.0 — 10.0.255.255 (65536 addresses)
Subnet 1
10.0.0.0/17
10.0.0.0 — 10.0.127.255 (32768 addresses, half)
Subnet 2
10.0.128.0/17
10.0.128.0 — 10.0.255.255 (32768 addresses, other half)
Adjust it if you need three subnets.
I wasn't being able to connect to my RDS database. I've manually reviewed any detail and everything was alright. There were no indications of any issues whatsoever and I couldn't find any suitable information in the documentation. My VPC was configured with narrow CIDR: 10.0.0.0/22 and each subnet had a 255 addresses. After I've changed CIDR to 10.0.0.0/16 and split it totally between two subnets my RDS connection started to working. It was a pure luck that I've managed to find a source of the problem, because it doesn't make any sense to me.
来源:https://stackoverflow.com/questions/37212945/aws-cant-connect-to-rds-database-from-my-machine