Amazon web services 连接到Lambda功能的VPC出现问题

Amazon web services 连接到Lambda功能的VPC出现问题,amazon-web-services,aws-lambda,amazon-vpc,aws-vpc,Amazon Web Services,Aws Lambda,Amazon Vpc,Aws Vpc,我有一个Lambda函数,它连接到一个外部数据库(运行MySQL),并在从数据库获取数据后发送SNS电子邮件 我创建了一个VPC,它有一个NAT网关、2个子网和一个安全组,允许所有传入和传出流量。创建VPC以连接到Lambda函数的原因是我需要一个弹性IP,因为MySQL需要授权所有尝试连接的外部IP 没有VPC,我的代码工作正常,从数据库获取数据,发送SNS电子邮件没有问题。但是,在向Lambda函数添加VPC时,MySQL查询不起作用,SNS也不发送任何电子邮件 我在CloudWatch日志

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

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

没有VPC,我的代码工作正常,从数据库获取数据,发送SNS电子邮件没有问题。但是,在向Lambda函数添加VPC时,MySQL查询不起作用,SNS也不发送任何电子邮件


我在CloudWatch日志中没有发现任何错误,也没有发现任何可能导致该问题的迹象。有人知道这是什么原因吗?

要使AWS Lambda功能能够访问Internet,需要以下选项之一:

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

要使AWS Lambda功能能够访问互联网,需要以下选项之一:

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

当Lambda服务不断自动创建和删除ENI时,您如何管理ENI弹性IP技巧?嗯。我在一个ENI上做过,但我没有想到创建多个Lambda函数和ENI的情况。如果可能会有并发执行,我想NAT网关就是最好的选择@马克是对的。。。需要分配给函数的ENIs Lambda数量的近似公式为ceil(实际峰值执行并发度×(MiB中的容器大小÷3072))。@JohnRotenstein谢谢。我知道我的问题是什么。我创建了2个公共子网,没有任何私有子网,并将这2个公共子网分配给Lambda函数。我更改了它,创建了2个专用子网和2个公用子网,并且仅将2个专用子网连接到Lambda功能。当Lambda服务不断自动创建和删除ENI时,您如何管理ENI弹性IP技巧?嗯。我在一个ENI上做过,但我没有想到创建多个Lambda函数和ENI的情况。如果可能会有并发执行,我想NAT网关就是最好的选择@马克是对的。。。需要分配给函数的ENIs Lambda数量的近似公式为ceil(实际峰值执行并发度×(MiB中的容器大小÷3072))。@JohnRotenstein谢谢。我知道我的问题是什么。我创建了2个公共子网,没有任何私有子网,并将这2个公共子网分配给Lambda函数。我更改了它,创建了2个专用子网和2个公用子网,并且只将2个专用子网连接到Lambda函数。