【问题标题】:RDS database is not showing on EC2 instanceRDS 数据库未显示在 EC2 实例上
【发布时间】:2022-01-18 12:34:15
【问题描述】:

我有一个状态为正在运行的 RDS 数据库,但它现在显示在我的 EC2 安全组中。唯一显示的实例是:

  1. 默认 VPC 安全组
  2. Elastic Beanstalk 安全组
  3. Elastic Beanstalk 已创建安全组

为什么 RDS 数据库没有显示在 EC2 安全组中?

RDS 设置: enter image description here

【问题讨论】:

  • 您是在问为什么没有出现 RDS 实例,或者为什么没有出现与 RDS 实例关联的安全组?如果您正在寻找安全组,它要么不存在,要么位于不同的区域。如果你去 RDS 管理控制台查看数据库,你可以看到它正在使用哪个安全组。
  • 上面没有名字的Security Group好像是RDS实例。现在唯一的问题是我的 Elastic BeanStalk 实例没有连接到 RDS 实例。在本教程中,顶部实例的描述为“从 RDS 管理控制台创建”,而我的实例为“默认 VPC 安全组”。该教程已有 3 年历史。也许这就是描述不匹配的原因。

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


【解决方案1】:

典型的安全设置是:

  • 由 Elastic Beanstalk (App-SG) 创建的 Amazon EC2 实例上的安全组,具有足够的入站规则供用户访问应用程序(或者可能从负载均衡器 - 我假设您已正确配置)
  • Amazon RDS 数据库 (DB-SG) 上的安全组,其入站规则允许从数据库端口上的 App-SG 进行访问

DB-SG 应在其入站规则中专门引用App-SG。这将授予任何个 EC2 实例连接到数据库的权限。

随意创建具有适当名称和规则的新安全组,然后将这些安全组与 EC2 实例(通过 Elastic Beanstalk)和数据库相关联。您无需继续使用默认安全组。

【讨论】:

  • 我已将我的 EBS 实例的安全组 ID 放入我的 RDS 实例的入站规则中。但是,我的 EBS 环境仍然因 HTTP 5xx 而失败。有什么建议吗?
  • 如果您认为问题可能与安全组有关,您可以暂时打开0.0.0.0/0作为数据库端口。这将消除安全组引起的任何潜在问题。然后,您可以根据结果从那里进行诊断。
  • 无法将现有规则源更改为 0.0.0.0/0,因此删除现有规则并使用源 0.0.0.0/0 创建新规则,但在 EBS 环境中出现相同错误。
  • 数据库是否配置为Publicly Available = Yes
  • 是的。 RDS 是公开可用的,具有“可用”状态并且安全组处于“活动”状态。此外,EBS 实例和 RDS 实例都使用相同的 VPC id 和所有者运行。
猜你喜欢
  • 2017-01-02
  • 1970-01-01
  • 1970-01-01
  • 2017-05-22
  • 1970-01-01
  • 1970-01-01
  • 2017-07-24
  • 2021-11-13
  • 1970-01-01
相关资源
最近更新 更多