我有2个lambda函数在同一个VPC中。我想要一个人打电话给对方,但总是超时。我知道您无法在vpc之外发出请求,但这些请求位于同一个vpc上的同一区域。
我确实按照AWS lambda invoke not calling another lambda function - Node.js的答案中的说明进行操作,但似乎没有任何作用。
我创建了一个新的VPC,创建了2个子网(一个名为public,另一个名为private),创建了一个Internet网关,使用公有子网和一个新的弹性IP创建了一个NAT网关,并添加了路由表,如下所述。 stackoverflow的答案。它似乎没有帮助。
如果我将两个lambda函数与VPC解除关联工作正常,那么我知道VPC至少与我的问题有关。
要清楚,我不完全明白所有这些是如何运作的。将VPC与Lambda函数关联时,我需要包含一个或多个子网。两个lambda函数都应该使用两个子网吗? 1应该使用私人还是其他公众?它甚至重要吗?
我使用的是默认安全组,我相信它允许所有入站和出站通信。我没有看到明显的答案吗?有没有办法调试这个,比如记录流入和流出VPC的流量?
由于
更新 根据要求,以下是已应用的默认安全组规则:
更新2 由于它出现了几次,我已经创建了一个NAT网关。
除了最后一个列表项之外的所有项目都是按照我链接到的SO问题中的说明完成的。在Lambda函数配置中包含公共子网和私有子网更是我不知道应该如何配置的产物。如果有任何其他信息我应该知道,请告诉我。