【问题标题】:How to access RDS instance from EC2 using private ip如何使用私有 ip 从 EC2 访问 RDS 实例
【发布时间】:2022-01-23 20:04:49
【问题描述】:

我有一个没有公共 IP 地址的 EC2 实例,我希望它访问我的 RDS 实例。 我已将两个实例放在同一个 VPC 和子网中。我尝试了以下(*)但没有奏效。 仅当我为 Ec2 实例设置公共 IP 地址时,然后将其添加到它工作的 RDS 实例的安全组中。 但这不是我想要的,因为这个 ec2 实例应该是私有的并且没有公共 ip。

*尝试将以下内容添加到 RDS 安全组

  1. ec2的私有IP地址
  2. ip 10.0.0.0/32
  3. 分配给 ec2 的安全组

【问题讨论】:

  • rds 保险是否与 ec2 保险在同一个 vpc 中?
  • @Marcin 对不起,我不熟悉 rds“保险”?但 rds 和 ec2 实例都在同一个 vpc..
  • 我的意思是 rds 实例。对不起。
  • 如果它在同一个 vpc 中,那么它应该访问RDS。您在RDS SG 上将哪个端口列入白名单?通常是3306,您可以在指定端口上的RDS SG 上将实例的SG 列入白名单。
  • @Riz 感谢您确认白名单。我已将端口设置为 3306,但没有工作。我能够通过修复我的 VPC 设置然后将 ec2 实例列入 RDS 安全组中的白名单来解决此问题。再次感谢您!

标签: amazon-web-services amazon-ec2 amazon-vpc aws-security-group


【解决方案1】:

这是您正在寻找的经典 EC2 - RDS 安全设置,为了解决它,您必须确保:

  1. ec2 位于私有子网中,并且受安全组保护(下图中的红色框)
  2. RDS 也在私有子网中,并且受到安全组的保护(下图中的黄色框)。
  3. 要启用两者之间的通信,您需要在 RDS 的安全组中将 EC2 的安全组而不是公共 ID 列入白名单。 (您需要在黄框的入站规则中将红框列入白名单)。

您可以使用下图来轻松理解设置的工作原理。

这里是guide,告诉您如何实现这一目标

【讨论】:

  • 感谢您确认在 RDS 的安全组中将 EC2 的安全组列入白名单应该有效。我已经尝试过了,但是没有用。所以我尝试查看其他设置,发现问题出在我的 VPC 上。在启用 RDS 的公共访问时,我已将 DNS 主机名设置为禁用。我修复了这部分,然后将 RDS 安全组中的 ec2 实例列入白名单,然后它就起作用了!再次感谢您。
  • @h2o,如果答案帮助您解决了问题,您也可以通过将上面的解决方案标记为答案来帮助其他人!看到该解决方案对您有用,它将帮助其他 AWS 客户!
猜你喜欢
  • 1970-01-01
  • 2017-08-06
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
  • 2016-08-24
  • 1970-01-01
  • 2019-07-25
相关资源
最近更新 更多