VPC附加到Lambda函数的问题

时间:2018-08-23 08:32:10

标签: amazon-web-services aws-lambda amazon-vpc aws-vpc

我有一个Lambda函数,该函数连接到外部数据库(运行MySQL)并在从数据库中获取数据后发送SNS电子邮件。

我创建了一个具有NAT网关,2个子网和一个安全组的VPC,该安全组允许所有传入和传出流量。创建要附加到Lambda函数的VPC的原因是,我需要一个弹性IP,因为MySQL需要授权所有尝试连接的外部IP。

在没有VPC的情况下,我的代码可以正常工作,可以从数据库中获取数据并毫无问题地发送SNS电子邮件。但是,将VPC添加到Lambda函数时,MySQL查询均不起作用,SNS也不会发送任何电子邮件。

我在CloudWatch Logs中没有收到任何错误,也没有任何迹象表明可能是引起此问题的原因。有人知道是什么原因造成的吗?

1 个答案:

答案 0 :(得分:1)

要使AWS Lambda函数具有Internet访问权限,需要以下选项之一:

  • 请勿选择VPC。该功能将直接连接到Internet,但与您的需求相反,您将没有与此IP地址关联的弹性IP地址。
  • 将Lambda功能连接到专用子网,然后使用 NAT网关连接到Internet。 Lambda函数似乎来自NAT网关的IP地址。
  • 将Lambda功能连接到公共子网,并将 Elastic IP地址关联到Lambda功能连接到子网的弹性网络接口(ENI)。互联网流量似乎来自弹性IP地址。