无法连接到可公开访问的 AWS RDS

无法连接到可公开访问的 AWS RDS

我在 VPC 内的 lambda 上运行无服务器 Web 应用程序,并连接到 Aurora-MySQL RDS 实例,并使用入站规则允许来自 lambda 安全组的流量。连接工作正常,但是,lambda 冷启动经常导致我超时。经过一番研究,我发现在 VPC 上运行 lambda 会在启动时产生额外成本,并且我在多个地方看到建议避免在 VPC 上使用 lambda,除非您确实需要访问 VPC 中的某些资源。

因此,我决定将我的 RDS 移动到可公开访问的实例,这样我的 lambda 就可以通过互联网访问它并从 VPC 中删除 lambda。

因此,我将 RDSPublic accessibility选项更改为Yes并编辑了安全组以允许来自任何 IP 的入站连接。我还从 lambda 中删除了 VPC,因此 lambda 不再在 VPC 上运行,我认为这就足够了。

但后来我的 lambda 开始无法连接到数据库,我尝试使用本地客户端进行连接,但再次失败

尝试 ping 主机名,但请求超时

深入研究之后,我发现我的数据库实例子网组有一些私有子网可能会有问题(?)因此,我创建了一个仅包含公共子网的新子网组,并尝试将我的数据库实例移动到新子网组...但收到此消息:

You cannot move DB instance my-instance to subnet group my-new-group. The specified DB subnet group and DB instance are in the same VPC.

好的,看来我无法移动到同一个 VPC 中的不同子网,我开始尝试创建一个新的 VPC,但它似乎不正确,我确信这里还遗漏了其他东西。

我也阅读了有关 ACL 的内容,并认为这可能是问题所在,因为有一条规则拒绝一切,但我无法编辑它,

ALL Traffic ALL ALL 0.0.0.0/0 DENY

我的 RDS 网络设置

Subnet group
default

Subnets
subnet-11111111
subnet-22222222
subnet-33333333
subnet-44444444
subnet-55555555
subnet-66666666

Security
VPC security groups
default (sg-111111)
( active )

Public accessibility
Yes

我的安全组入站规则

Type Protocol Port range    Source  Description - optional
All traffic All All 0.0.0.0/0   -
All traffic All All ::/0    -

仍然无法连接,甚至无法 ping 通:

ping my-instance.xxxxxxx.us-east-1.rds.amazonaws.com
PING ec2-xx-xx-xx-xx.compute-1.amazonaws.com (xx.xx.xx.xx): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2

知道我在这里遗漏了什么吗?

相关内容