AWS:如何将 *** 客户端连接到 RDS(*** 服务器 EC2 和 RDS 在同一个 VPC 中)

Posted

技术标签:

【中文标题】AWS:如何将 *** 客户端连接到 RDS(*** 服务器 EC2 和 RDS 在同一个 VPC 中)【英文标题】:AWS: How to connect *** clients to RDS (*** server EC2 and RDS are in the same VPC) 【发布时间】:2017-01-27 05:09:01 【问题描述】:

我有一个作为 *** 服务器运行的 EC2。在同一个 VPC 中,我在私有子网中有一个 RDS 实例和另一个 EC2 实例。

我有连接到 *** 服务器的设备,并且我已配置它们可以相互通信,也可以与私有 EC2 通信。但我不能让它们与 RDS 实例通信。

我已将 RDS 的安全组配置为允许来自两个 EC2 的 SG 的所有入站流量,尝试允许来自 0.0.0.0/0 的所有流量,但仍然 *** 客户端无法与 RDS 通信。我看到 RDS 可以在 VPC 内部进行通信,但不能在其外部进行通信。曾几何时,我确信我已从本地 mysql Workbench 连接到 RDS(3 年前)

有没有办法让这个工作?

在此致谢

【问题讨论】:

您的 RDS 是否可公开访问? 可公开访问:是 您可以在 RDS 实例上启用“可公开访问”标志。然而,这完全违背了需要 *** 连接的目的,并且会引发安全问题。我将首先验证当您通过 *** 连接时,RDS 实例的 DNS 名称实际上可以被解析。 有趣的是,我让 RDS 可以公开访问,至少可以从外部连接,但它仍然无法连接 如果您无法访问公共 RDS 实例,则根据您的最后一条评论,这是 ACL 或安全组问题。 【参考方案1】:

您的答案可能在此Open*** Support thread。我遇到了同样的问题。据我所知,当您通过 *** 连接时,公共 IP 和 DNS 名称将无法解析。您可以使用私有 IP 轻松连接到其他 EC2 实例。但是 RDS 实例的 IP 不是静态的,所以必须使用它的主机名来解析。解决方案显然是让您的 Open*** 服务器使用 Amazon DNS 服务器,以便它可以通过其主机名解析 RDS 实例。

【讨论】:

以上是关于AWS:如何将 *** 客户端连接到 RDS(*** 服务器 EC2 和 RDS 在同一个 VPC 中)的主要内容,如果未能解决你的问题,请参考以下文章

如何将 AWS ELB 连接到运行 MS SQL 的 RDS?

如何使用 mySQL 工作台连接到 AWS 私有子网 VPC 中的 RDS

使用 AWS Lambda 连接到 Oracle RDS 时出现错误 (DPI-1047)

将 EC2 实例连接到另一个 AWS 账户上的 RDS 卷

将 Android 应用程序连接到 AWS Elastic Beanstalk/RDS

无法从 SQL WORKBENCH 连接到 AWS RDS mysql