无法连接到使用 Elastic Beanstalk 创建的 RDS 实例

Posted

技术标签:

【中文标题】无法连接到使用 Elastic Beanstalk 创建的 RDS 实例【英文标题】:Cant connect to RDS instance created with Elastic Beanstalk 【发布时间】:2017-03-05 13:47:28 【问题描述】:

大家好,我刚刚通过弹性 beanstalk 创建了一个 RDS 实例,目前使用的是 VPC 安全组。我已通过 RDS VPC 安全组允许所有入站流量,但在命令行上尝试通过 mysql 连接时仍然出现错误。

我收到以下错误:

ERROR 2003 (HY000): Can't connect to MySQL server on 'http://example.us-west-2.rds.amazonaws.com'

我正在按照此处显示的步骤并通过端口 3306 进行连接:http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToInstance.html

虽然由于某种原因它只是没有连接。有什么想法吗?

【问题讨论】:

您在 AWS 实例上运行 mysql 命令行? 没有从我个人 Mac 上的命令行,我没有通过 SSH 连接到实例 ssh 输入或使用 ssh 端口转发。 【参考方案1】:

实例需要位于可公开访问的子网中,并启用“可公开访问”标志,并从您的 IP 地址打开端口。

【讨论】:

这会引发安全问题。如果 Elastic Beanstalk 和 RDS 实例都在同一个 VPC 中,那么您不希望也不需要使 RDS 实例可公开访问。如果您从 AWS 外部访问它,您只需将其设为可公开访问。 是的,它没有那么安全,但是 OP 想从 VPC 外部访问实例,所以别无选择 有一个选择。 SSH 端口转发。 嗯,是的,但这意味着也要启动一个可公开访问的 EC2 实例。【参考方案2】:

我刚刚看到了这个问题,希望答案仍然与您相关。大概可以查看RDS实例的安全组,看看3306端口是否对Elastic Beanstalk实例的安全组开放。

【讨论】:

以上是关于无法连接到使用 Elastic Beanstalk 创建的 RDS 实例的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Elastic Beanstalk Docker 连接到 RDS

无法连接到 Elastic Beanstalk 上的 ActionCable

无法从 Elastic Beanstalk 连接到 Amazon SimpleDB

无法通过 Python Elastic Beanstalk 中的 Flask SQLAlchemy URI 连接到 AWS MySQL RDS 实例

当我将 Spring Boot 应用程序部署到 AWS Elastic Beanstalk 并且无法从本地 Spring Boot 连接到 RDS 时出现 502 错误网关

Rails 6 无法连接到 AWS Elastic Beanstalk 预置的 RDS。 Unix 域套接字“/var/run/postgresql/.s.PGSQL.5432”