我一直在寻找一些好的设计理念,但还没有找到最好的选择。基本上我正在为现有数据库(VPC 内的 RDS MySQL,私有安全组)开发无服务器 API。所以我想从多个 Lambda 函数中查询数据库。我知道以下如何实现这一目标:
- 将所有 Lambda 放在同一个 VPC 中。但是这种情况并不好,因为 Lambda 的冷启动缓慢(我需要让它们保持温暖)和并发限制。另外,我需要调用其他服务(S3、SES、第三方服务)=> 配置会更加困难。因此,理想情况下将它们保留在 VPC 之外。
- 将单个 Lambda(只会查询数据库)放在同一个 VPC 中,并使用私有 API 网关从 VPC 外部的其他 Lambda 调用它。VPC 中的 Lambda 将始终是温暖的,但由于对这个 Lambda 的大量并发请求,它似乎是一个瓶颈。我知道创建多个安全组并请求更多 IP 是可能的,但需要不断监控情况,这是不可接受的。
- 打开可从 Internet 访问的 RDS 不是解决方案。
- Aurora serverless 也需要 VPC...
有什么想法或建议吗?
谢谢!