如何在 VPC 中连接 AWS Lambda 和 RDS

How to connect AWS Lambda and RDS in VPC

如何创建这个场景:

- A private subnet-1
- Lambda in subnet-1
- RDS in subnet-1(same subnet with Lambda)
- Both inside the same VPC. 

以上是否可行,是否是一个好的架构?

我已经尝试实施它,唯一的问题是它超时了。但是,当 Lambda 不在 subnet-1 中时,它工作正常。

我的理解是因为 RDS 和 Lambda 都在同一个子网中,所以它们应该很容易通信。

将 Amazon RDS 和 AWS Lambda 函数连接到同一个私有子网是完全可以的。

一些注意事项:

  • 如果 Lambda 函数还需要访问 Internet(例如调用 Amazon S3),那么 VPC 也需要 NAT 网关 public 子网。
  • Lambda 函数应通过 DNS 名称 引用 RDS 实例。这应该解析为 VPC 本地的私有 IP 地址。
  • 应为 Lambda 函数分配一个安全组(例如 Lambda-SG
  • 与 RDS 实例 (RDS-SG) 关联的安全组应允许来自 Lambda-SG 的适当端口(例如 3306 用于 MySQL)的入站访问。

也就是说,RDS-SG 应该允许来自 Lambda-SG 的入站连接。