Aws lambda 从Cloudwatch事件触发VPC AWS Lambda

Aws lambda 从Cloudwatch事件触发VPC AWS Lambda,aws-lambda,amazon-cloudwatch,Aws Lambda,Amazon Cloudwatch,我有一个漂亮的Lambda设置,Cloudwatch事件按计划触发功能 我开始将我的Lambda函数移到VPC中,但我有一段时间需要Cloudwatch事件来正确触发Lambda函数。他们不断地超时 有没有办法使用CW事件触发VPC Lambda函数?如果没有,是否有一个规范的解决方案来按时触发Lambda函数?此问题与Cloudwatch事件无关。函数触发器的源不会修改Lambda实际调用函数的方式 问题几乎可以肯定的是,您的功能目前无法在VPC内工作,而这又是因为您没有按照Internet访

我有一个漂亮的Lambda设置,Cloudwatch事件按计划触发功能

我开始将我的Lambda函数移到VPC中,但我有一段时间需要Cloudwatch事件来正确触发Lambda函数。他们不断地超时


有没有办法使用CW事件触发VPC Lambda函数?如果没有,是否有一个规范的解决方案来按时触发Lambda函数?

此问题与Cloudwatch事件无关。函数触发器的源不会修改Lambda实际调用函数的方式

问题几乎可以肯定的是,您的功能目前无法在VPC内工作,而这又是因为您没有按照Internet访问的需要配置VPC,而且大多数AWS服务API都是通过Internet连接访问的。需要NAT设备,因为Lambda容器只有专用IP地址

重要

如果Lambda函数需要访问Internet,请勿将其连接到公共子网或未访问Internet的专用子网。相反,只能通过NAT实例或Amazon VPC NAT网关将其连接到可以访问Internet的私有子网


否则,这些函数将在您的代码第一次尝试访问VPC以外的任何资源时超时。

那么您是说,与API网关一样,它应该工作吗?事实上,我尝试使用的函数是一个简单的“hello world”,它只记录该字符串。当我从CLI调用它时,它就工作了,但从CW事件调用时就不工作了。如果函数是用Java编写的,那么您可能需要增加可用内存或增加超时时间,以便给它足够的时间进行初始化。