我有两个lambda,都在我的VPC内。我的私有网络内有4个子网,其中2个是公网子网,2个是内网子网。
我将一个lambda放在一个私有子网中,另一个放在公共子网中。当我试图从公共子网调用私有子网中的lambda时,它超时。我正在使用boto3按照给定的here进行λ到lambda调用。
但是,我可以将公网中的lambda调用到同一VPC内其他公网中创建的新lambda。
公有子网未连接NAT。为什么会发生这种情况?
发布于 2020-05-29 19:28:19
由于私有网络中的lambda函数既没有公网IP,也没有internet访问,所以公网的调用超时。来自docs
将函数连接到公共子网的
不会为其提供互联网访问或公共IP地址。
另外,您的不支持在私有网络内通过弹性网卡( elastic network interface,弹性网卡)调用lambda。lambda的VPC功能是让您的函数调用VPC中的私有资源,而不是反过来。
也就是说,在私有网络中放置lambda的唯一原因是为了访问私有网络的私有资源(例如内网中的RDS )。它不允许私有子网中的私有实例在没有NAT网关/实例的情况下调用您的lambda函数。
https://stackoverflow.com/questions/62084504
复制相似问题