无法连接到AWS RDS上的mysql(错误2003)

时间:2014-07-11 19:50:40

标签: mysql amazon-web-services amazon-ec2 amazon-rds

我在设置MySQL RDS方面遇到了麻烦。

我的EC2 实例我可以很好地连接,但是从我的笔记本电脑我得到错误2003(超时)。

  • 我的RDS实例配置为可公开访问。
  • 我的安全组具有规则入站和出站,以允许所有流量到处(0.0.0.0/0)。

我应该在我的VPC或Internet网关上配置某些内容吗?

3 个答案:

答案 0 :(得分:13)

由于您的安全组是敞开的,我的猜测是您的LAN阻止了端口3306上的出站流量。事实上,查看此支持页面(http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToInstance.html)防火墙问题被列为第2个常见原因无法连接。

这个问题可以帮到你:MySql networking issue。可能值得一看你的本地防火墙设置。你提到你在笔记本电脑上,所以我的猜测是你当前的网络被归类为公共网络,你的出站端口被阻止(如我所链接的问题中提到的那样)。

如果这让你无处可去,那么值得在端口3306上远程登陆您的RDS实例,看看会发生什么。这可能会给你一些更多的调试信息,这些信息可以帮助解决这个问题。

顺便说一句,我个人不会直接向互联网开放RDS实例。它可以合理地直接设置ssh隧道,通过SSH服务器将流量转发到RDS实例。类似于此处显示的内容:http://www.techrepublic.com/blog/linux-and-open-source/tips-and-tricks-to-help-you-do-more-with-openssh/

更新: 我从未将RDS用于公开发布的'选项(我们所有的设置都使用ssh隧道到私有RDS实例)。谷歌搜索时,我在AWS论坛中遇到了一些与公共RDS实例的访问问题相关的问题。 例如,https://forums.aws.amazon.com/thread.jspa?threadID=123483。 可能值得尝试在路由表中为组成RDS实例的子网显式创建条目的建议修复?

答案 1 :(得分:0)

检查你的子网组我的RDS实例遇到了同样的问题然后我发现在我的子网组中我有4个子网,其中2个是私有的,而RDS在选择私有时导致连接问题。然后我创建一个带有公共子网的子网组,并连接到我的RDS实例并成功连接。

答案 2 :(得分:0)

如果接受的答案不起作用,请确保您的IP地址作为数据库连接的VPC的路由表中的一个选项可用。

可以访问:

数据库>关联子网>路由表

相关问题