0

如果我的 lambda 函数是在默认 VPC 中开发的,我想在 NodeJS 中使用节点邮件程序发送邮件,因为我也必须从 lambda 函数访问 RDS。

如果我在默认 VPC 中部署了我的 lambda 函数,我无法为成功插入 RDS 中的数据发送成功邮件,我需要做什么更改才能发送。

如果我选择 NO vpc,那么我无法将数据设置到数据库。

4

1 回答 1

2

来自https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html

当您将函数连接到您账户中的 VPC 时,除非您的 VPC 提供访问权限,否则它无法访问 Internet。

我认为这意味着如果您希望从您的 VPC 中的 lambda 访问 RDS 和互联网,您需要一个 NAT 网关(或启动您自己的实例)。换句话说,lambda 不支持通过 Internet 网关使用公共 IP 访问 Internet,这是您的 vpc 内的 Internet 访问机制。

如果您不介意成本,大约每小时 4.5 美分加上我上次检查的数据传输,最简单的解决方案可能是:

  1. 将另一个子网添加到您的 VPC。
  2. 将 NAT 网关添加到您的 VPC。
  3. 将路由表添加到通过 NAT 网关路由的子网
  4. 将您的 lambda 放入该子网中

这实质上是在该 VPC 中创建与 Internet 的连接,而您的 lambda 不会持有公共 IP 地址。

于 2019-12-26T20:37:22.517 回答