AWS Lambda无法拨打http

时间:2019-06-14 03:43:25

标签: lambda

我正在尝试从lambda函数发出一个简单的http请求。但是由于某种原因,任何请求似乎都没有通过。 lambda环境是否阻止任何请求。 Lambda位于No VPC配置上。

我对此进行了一些研究,发现了以下内容

https://forums.aws.amazon.com/thread.jspa?messageID=731223

但这确实超出了我对子网的理解。但是据我了解,如果不在任何VPC上,它应该可以成功进行呼叫?

1 个答案:

答案 0 :(得分:0)

Lambda不会阻止任何网络请求,但是由于附加到Lambda的ENI没有公共IP地址,因此任何公共REST API调用都会失败。

解决方案是将流量从Lambda所在的子网路由到NAT网关/实例。然后该NAT将驻留在具有默认路由到Internet网关的子网中。

如果Lambda函数的代码不需要访问VPC中的私有资源,则应将其删除。在VPC中使用Lambda只会增加冷启动时间,并确保子网中有足够的IP供ENI使用,从而使执行过程复杂化。这是有关VPC中Lambda的文档。

https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#lambda-vpc

高度

-詹姆斯