我有一个 RDS 实例,我的客户坚持我不要碰它。他说创建一个副本并用它来测试新功能是可以的,所以我继续从原始副本创建了一个只读副本,完成后,我将只读副本提升为独立的实例。然后我创建了一个新的安全组(仅允许我的 IP),并在复制的实例上(仅,我已经确认)更改为使用该安全组。我的副本实例工作正常。
我的客户决定登录到原来的 MySQL RDS 实例(出于某种原因他想要这样做),并且向我抱怨说,这是 8 个月来第一次,他无法访问它。他连不上Error 60
。他责备我,他这样做可能是对的。
那么首先,在这个过程中是否有任何事情看起来像是搞砸了原来的 RDS 的安全组,或者原来的安全组的入站允许设置?
其次,当我查看安全组设置时,我并不完全了解它是如何工作的。它的设置是这样的:
RDS uses Security Group sg-001 [real ids changed for readability]
sg-001: Inbound TCP 3306 Source: sg-002
sg-002: Inbound TCP 80 Source: sg-003
sg-003: Inbound TCP 80 Source: 0.0.0.0/0
Inbound TCP 443 Source: 0.0.0.0/0
因此,当我读到它时,在我看来,RDS(使用 sg-001)根本无法接收任何传入流量,但 Web 服务(也在 AWS 上运行)仍然能够读取和写入到 RDS。有人可以帮助我更好地理解这一点吗?